Новый подход к вычислениям может удвоить скорость обработки таких устройств, как телефоны или ноутбуки, без необходимости замены каких-либо существующих компонентов.
Современные устройства оснащены различными чипами, которые выполняют различные типы обработки. Помимо центрального процессора (ЦП), устройства имеют графические процессоры (ГП), аппаратные ускорители для рабочих нагрузок искусственного интеллекта (ИИ) и блоки цифровой обработки сигналов для обработки аудиосигналов.

Однако из-за традиционных моделей выполнения программ эти компоненты обрабатывают данные из одной программы отдельно и последовательно, что замедляет время обработки.
Информация перемещается от одного модуля к другому в зависимости от того, какой из них наиболее эффективен при обработке конкретной области кода в программе. Это создаёт «узкое место», поскольку одному процессору необходимо завершить свою работу, прежде чем передать новую задачу следующему процессору в очереди.
Чтобы решить эту проблему, учёные разработали новую структуру выполнения программ, в которой процессоры работают параллельно. Команда изложила новый подход, получивший название «одновременная и гетерогенная многопоточность» (SHMT), в статье, опубликованной в декабре 2023 года на сервере препринтов arXiv.
SHMT использует процессоры одновременно для одной и той же области кода — вместо того, чтобы ждать, пока процессоры начнут работать над разными областями кода в последовательности, основанной на том, какой компонент лучше всего подходит для конкретной рабочей нагрузки.
Другой метод, обычно используемый для устранения этого узкого места, известен как «программная конвейерная обработка» и ускоряет работу, позволяя различным компонентам работать над разными задачами одновременно, вместо того, чтобы ждать завершения работы одного процессора до начала работы другого.
Однако при конвейерной обработке программного обеспечения одна задача никогда не может быть распределена между различными компонентами. Это не относится к SHMT, которая позволяет разным процессорам работать над одной и той же областью кода одновременно, позволяя им также выполнять новые рабочие нагрузки после того, как они внесут свою лепту.
«Вам не нужно добавлять новые процессоры, потому что они у вас уже есть», — сказал в своём заявлении ведущий автор Хунг-Вей Ценг (Hung-Wei Tseng), доцент кафедры электротехники и вычислительной техники Калифорнийского университета в Риверсайде.
Учёные применили SHMT к прототипу системы, которую они построили с многоядерным процессором ARM, графическим процессором Nvidia и аппаратным ускорителем тензорного процессора (TPU). В тестах она выполняла задачи в 1,95 раза быстрее и потребляла на 51% меньше энергии, чем система, работавшая традиционным способом.
SHMT также более энергоэффективна, поскольку большая часть работы, которая обычно выполняется исключительно более энергоемкими компонентами, такими как графический процессор, может быть переложена на маломощные аппаратные ускорители.
Если эту программную среду применить к существующим системам, она может снизить затраты на оборудование, а также сократить выбросы углекислого газа, утверждают учёные, поскольку обработка рабочих нагрузок требует меньше времени с использованием более энергоэффективных компонентов. Это также может снизить потребность в пресной воде для охлаждения огромных центров обработки данных, если эта технология будет использоваться в более крупных системах.
Однако исследование было всего лишь демонстрацией прототипа системы. Специалисты предупредили, что необходима дальнейшая работа, чтобы определить, как такая модель может быть реализована в практических условиях и какие варианты использования или приложения принесут наибольшую пользу.