Оптимизация инструкций широкого доступа в память в архитектуре AArch64
Аннотация
Процессоры с архитектурой ARM все чаще применяются в облачных и высокопроизводительных вычислениях, для которых важно использовать аппаратные ресурсы наиболее эффективным образом, в связи с чем возрастает роль компиляторов и оптимизаций кода. На производительность выполнения программы существенное влияние оказывают операции с памятью. В наборе команд AArch64 имеются инструкции, позволяющие выполнять доступ в память к нескольким последовательным значениям (LDP, LDPSW, STP), они используются в локальных оптимизациях компиляторов для замены двух последовательных операций доступа в память. В этой работе продемонстрировано, что такая замена может быть неэффективной, если целью оптимизации не является уменьшение объема кода. Предложен алгоритм оптимизации, выполняющей поиск и замену двумя операциями чтения тех инструкций LDP (LDPSW), часть данных для которых может быть получена из очереди на запись в память. Оценка производительности показывает эффективность оптимизации, значительное ускорение получено на тестах rapidjson (5% при запуске на одном ядре и 3% при запуске на всех ядрах), tpcc (16% на одном ядре) и tpch (2% на всех ядрах).
Это произведение доступно по лицензии Creative Commons «Attribution» («Атрибуция») 4.0 Всемирная.
Редакционная политика журнала основывается на традиционных этических принципах российской научной периодики и строится с учетом этических норм работы редакторов и издателей, закрепленных в Кодексе поведения и руководящих принципах наилучшей практики для редактора журнала (Code of Conduct and Best Practice Guidelines for Journal Editors) и Кодексе поведения для издателя журнала (Code of Conduct for Journal Publishers), разработанных Комитетом по публикационной этике - Committee on Publication Ethics (COPE). В процессе издательской деятельности редколлегия журнала руководствуется международными правилами охраны авторского права, нормами действующего законодательства РФ, международными издательскими стандартами и обязательной ссылке на первоисточник.
Журнал позволяет авторам сохранять авторское право без ограничений. Журнал позволяет авторам сохранить права на публикацию без ограничений.
Издательская политика в области авторского права и архивирования определяются «зеленым цветом» в базе данных SHERPA/RoMEO.
Все статьи распространяются на условиях лицензии Creative Commons «Attribution» («Атрибуция») 4.0 Всемирная, которая позволяет другим использовать, распространять, дополнять эту работу с обязательной ссылкой на оригинальную работу и публикацию в этом журналe.