Команда исследователей из Калифорнийского университета разработала метод, позволяющий удвоить скорость вычислений и вдвое сократить энергопотребление стандартных вычислительных систем. Он основан на оптимизированном распределении задач между различными процессорами, так что они обрабатываются одновременно. Помимо увеличения скорости обработки, этот метод также снижает потребление энергии.
Если раньше компьютеры имели только один центральный процессор (ЦП) с несколькими ядрами, то в наши дни они включают различные микропроцессоры, направленные на оптимизацию общей производительности. Среди них, в частности, графические процессоры, а также ускорители машинного обучения и искусственного интеллекта.
Во время выполнения программы эти компоненты работают независимо. Они поочередно обрабатывают данные, обмениваясь ими друг с другом, что требует как времени, так и энергии. С другой стороны, передача информации часто создает узкие места, которые ограничивают общую эффективность системы.
Столкнувшись с проблемой, команда исследователей из Калифорнийского университета в Риверсайде разработала новый метод, основанный на платформе, получившей название «одновременная и разнородная многопоточность » (Simultaneous and heterogeneous multithreading - SHMT), позволяющей обрабатывать данные параллельно, что позволяет избежать узких мест. Их подход позволяет быстрее выполнять программы и является более энергоэффективным. Подробные сведения о системе были представлены на международном симпозиуме по микроархитектурам (Micro 2023) и доступны в цифровой библиотеке ACM.
Концепция SHMT используется, в частности, во время планирования — процесса, в котором система выбирает порядок и расположение задач, решая, какие операции должны выполняться на процессорах каждого типа. SHMT использует политику планирования, называемую QAWS (Quality-Aware Work-Stealing). Последняя оптимизирует систему, заставляя ее «осознавать» актуальность задач. QAWS также использует стратегию "выбора заданий" для балансировки рабочей нагрузки между различными аппаратными ресурсами. Другими словами, если один процессор оказывается недостаточно загруженным по сравнению с другими, он может «выбрать» задачи у более загруженного компонента, чтобы сбалансировать использование ресурсов.
Чтобы упростить управление, задачи сначала подразделяются на «высокоуровневые операции» или HLOP. В результате система выполнения может распределять HLOP-файлы в очередях различных аппаратных компонентов, таких как ЦП, графический процессор или ускоритель алгоритмов искусственного интеллекта, для параллельной обработки.
Чтобы проверить свой подход, исследователи разработали компьютерную систему, оснащенную обычными процессорами, которые используются в современных компьютерах и смартфонах. Однако они внесли в него некоторые изменения, чтобы смоделировать производительность и рабочие нагрузки, типичные для центра обработки данных.
Результаты испытаний показали, что использование их системы SHMT позволило почти удвоить скорость обработки приложений по сравнению с традиционным методом обработки. Кроме того, этот подход позволил снизить потребление энергии в результате выполнения задач на 51 %.
Исследователи признают, что реализация концепции SHMT еще требует доработки, но в конечном итоге она может значительно снизить эксплуатационные расходы компьютерных систем. Действительно, если программное обеспечение сможет выполнять больше задач за меньшее время и с меньшими ресурсами, производители смогут разрабатывать более дешевые устройства, которые при этом будут работать хорошо. Отмечается, что для крупномасштабных предприятий, включая центры обработки данных, влияние будет еще более заметным благодаря резкому снижению затрат на электроэнергию и потребностей в охлаждении. Это помогло бы уменьшить углеродный след и потребление воды, связанные с системами охлаждения в этих инфраструктурах.