На 56-м ежегодном Международном симпозиуме IEEE/ACM по микроархитектуре исследователи из Калифорнийского университета в Риверсайде (UCR) продемонстрировали подход, при котором любые вычислительные компоненты платформы будут по-настоящему работать одновременно. За счет этого можно вдвое увеличить скорость вычислений и вдвое сократить потребление энергии. Технология может работать на любых процессорах и ускорителях от смартфонов до серверов ЦОД, но требует доработки.
“Вам не нужно [для ускорения вычислений] добавлять новые процессоры, потому что они уже есть», – сказал Хунг-Вэй Ценг (Hung-Wei Tseng), адъюнкт-профессор факультета электротехники и вычислительной техники Калифорнийского университета и соавтор исследования. Необходимо лишь грамотно распорядиться имеющимися аппаратными ресурсами, а не выстраивать его в очередь.
Разработанная исследователями платформа, которую они назвали одновременной и гетерогенной многопоточностью (SHMT), отходит от традиционных моделей программирования. Вместо того чтобы предоставлять за один промежуток времени данные только одному из вычислительных компонентов системы – центральному, графическому, тензорному или другому процессору или ускорителю, технология SHMT распараллелирует выполнение кода сразу по всем компонентам одновременно.
SHMT использует политику планирования многопоточности с учетом такого параметра как quality-aware work-stealing (QAWS), которая не требует больших затрат ресурсов, однако помогает поддерживать контроль качества и баланс рабочей нагрузки. Система выполнения создает и разделяет набор виртуальных операций (vOPS) на одну или несколько высокоуровневых операций (HLOPs) для одновременного использования нескольких аппаратных ресурсов. Затем система выполнения SHMT распределяет эти HLOPS по очереди задач для запуска на целевом оборудовании. Поскольку HLOPS не зависит от оборудования, система выполнения может перенаправлять задачи по мере необходимости на тот или иной компонент вычислительной платформы.
Что особенно ценно, исследователи на примере созданной ими тестовой платформы показали эффективность работы новых программных библиотек. Они создали гибрид, который можно считать как смартфоном, так и подобием ПК и даже сервера. На базе объединяющей платы с разъемом PCIe был создан компьютер по комбинации модуля NVIDIA Nano Jetson с четырехъядерным процессором ARM Cortex-A57 (CPU) и 128 графическими ядрами архитектуры Maxwell (GPU). Через слот M.2 Key E на плате был подключен ускоритель Google Edge (TPU).
Основная память представленной системы – это 4 Гбайт LPDDR4 с частотой 1600 МГц и скоростью 25,6 Гбит/с, где хранятся общие данные. Модуль Edge TPU дополнительно содержит 8 Мбайт памяти, а в качестве операционной системы использовался Ubuntu Linux 18.04.
Запуск на импровизированной гетерогенной платформе пакета SHMT с использованием стандартных приложений для тестирования показал, что при эффективной политике фреймворк QAWS показывает увеличение скорости вычислений в 1,95 раза и значительное сокращение потребления – на 51% по сравнению с базовым методом распределения вычислений. Если масштабировать этот подход для использования в составе ЦОД, выигрыш обещает оказаться колоссальным и при этом все «железо» останется неизменным — менять ничего не придется. Предложенное решение пока не готово к внедрению, но наверняка легко найдет заинтересованных в этом лиц.
Если вы заметили ошибку, выделите ее мышью и нажмите CTRL+ENTER.