Оптимизация инструкций широкого доступа в память в архитектуре AArch64

Аннотация

Процессоры с архитектурой ARM все чаще применяются в облачных и высокопроизводительных вычислениях, для которых важно использовать аппаратные ресурсы наиболее эффективным образом, в связи с чем возрастает роль компиляторов и оптимизаций кода. На производительность выполнения программы существенное влияние оказывают операции с памятью. В наборе команд AArch64 имеются инструкции, позволяющие выполнять доступ в память к нескольким последовательным значениям (LDP, LDPSW, STP), они используются в локальных оптимизациях компиляторов для замены двух последовательных операций доступа в память. В этой работе продемонстрировано, что такая замена может быть неэффективной, если целью оптимизации не является уменьшение объема кода. Предложен алгоритм оптимизации, выполняющей поиск и замену двумя операциями чтения тех инструкций LDP (LDPSW), часть данных для которых может быть получена из очереди на запись в память. Оценка производительности показывает эффективность оптимизации, значительное ускорение получено на тестах rapidjson (5% при запуске на одном ядре и 3% при запуске на всех ядрах), tpcc (16% на одном ядре) и tpch (2% на всех ядрах).

Сведения об авторах

Viacheslav Victorovich Chernonog, ООО "Техкомпания Хуавэй"

сотрудник

Emin Arifovich Gadzhiev, ООО "Коулмэн Сервисиз"

сотрудник

Andrey Dmitrievich Dobrov, ООО "Техкомпания Хуавэй"

сотрудник, кандидат технических наук

Опубликована
2024-05-19
Как цитировать
CHERNONOG, Viacheslav Victorovich; GADZHIEV, Emin Arifovich; DOBROV, Andrey Dmitrievich. Оптимизация инструкций широкого доступа в память в архитектуре AArch64. Современные информационные технологии и ИТ-образование, [S.l.], v. 20, n. 1, may 2024. ISSN 2411-1473. Доступно на: <http://sitito.cs.msu.ru/index.php/SITITO/article/view/1067>. Дата доступа: 03 july 2024
Раздел
Исследования и разработки в области новых ИТ и их приложений