"Разработка средств анализа эффективности выполнения атомарных операций в многоядерных вычислительных системах с общей памятью". Евгений Андреевич Гончаренко, СПбГЭТУ «ЛЭТИ», 28.9.2021
Состав коллектива
- Пазников Алексей Александрович, к.т.н., доцент. СПбГЭТУ «ЛЭТИ», руководитель
- Гончаренко Евгений Андреевич, студент. СПбГЭТУ «ЛЭТИ», исполнитель
Аннотация
В работе проводится анализ эффективности выполнения атомарных операций «сравнение с обменом» (compare-and-swap, CAS), «выборка и сложение» (fetch-and-add, FAA), «обмен» (swap, SWP), «чтение» (load) и «запись» (store) на современных многоядерных вычислительных системах с общей памятью. Данные операции реализованы в виде процессорных инструкций и применяются при разработке параллельных программ (средства блокировки потоков и неблокируемые структуры данных). В статье исследуется зависимость влияния механизма когерентности кэш-памяти (cache coherence), размера и локальности данных на время выполнения атомарных операций. Разработана тестовая программа, позволяющая анализировать зависимость пропускной способности и латентности выполнения операций. Приводятся результаты анализа эффективности атомарных операций для процессоров архитектуры x86-64 и рекомендации по оптимизации их выполнения. В частности, определены атомарные операции, характеризующиеся наименьшей (load), наибольшей («удачный CAS», store) и сопоставимой («неудачный CAS», FAA, SWP) латентностью. Показано, что при различном выборе процессорного ядра для выполнения операции и состояния кэш-линии время выполнения операций может различаться в среднем в 1,5 и 1,3 раз соответственно. Выбор субоптимальных параметров позволяет увеличить пропускную способность выполнения атомарных операций от 1,1 до 7,2 раз. Данные выводы могут быть использованы при создании новых и оптимизации существующих потокобезопасных структур данных и примитивов синхронизации.
Грантовая поддержка
- РФФИ, проект № 19-07-00784 «Разработка методов, алгоритмов и программного обеспечения масштабируемой синхронизации для многопроцессорных вычислительных систем», руководитель – Пазников А.А., 2019-2021
Публикации
- Goncharenko E.A., Paznikov A.A. Analysis of the efficiency of atomic operations in multi-core shared-memory computer systems // Tomsk State University Journal of Control and Computer Science, 2020. – N 51. – pp. 102–110
- Goncharenko E., Paznikov A. Evaluation of the Impact of Cache Coherence Protocol and Data Locality on the Efficiency of Atomic Operations on Multicore Processors // Proceedings of the 11th Majorov International Conference on Software Engineering and Computer Systems (MICSECS 2019), 2019. – pp. 1-12.
- Goncharenko E. A., Paznikov A. A., Tabakov A. V. Performance Modeling of Atomic Operations in Control Systems Based on Multicore Computer Systems // 2019 III International Conference on Control in Technical Systems (CTS), 2019. – pp. 140-143.
- Goncharenko E.A., Paznikov A.A., Tabakov A.V. Evaluating the performance of atomic operations on modern multicore systems // Journal of Physics: Conference Series, 2019 – V. 1399. – N. 3 – pp. 033107. DOI: 10.1088/1742-6596/1399/3/033107 Scopus: 2-s2.0-85077466469
- Goncharenko E. A., Paznikov A. A. Analysis of the Influence of Cache Coherence Mechanism Performance on Atomic Operations in Multicore Computing Systems // 2019 XXII International Conference on Soft Computing and Measurements (SCM). – IEEE, 2019. – P. 111-114. DOI: 10.1109/SCM.2019.8903720 Scopus: 2-s2.0-85075919838
- Свид. 2019660469 Российская Федерация. Свидетельство о государственной регистрации программы для ЭВМ. Программа для анализа эффективности выполнения атомарных операций в многоядерных вычислительных системах с общей памятью / Пазников А.А., Гончаренко Е.А. Заявитель и патентообладатель Федеральное государственное автономное образовательное учреждение высшего образования «Санкт-Петербургский государственный электротехнический университет “ЛЭТИ” им. В.И. Ульянова (Ленина)» (СПбГЭТУ «ЛЭТИ»). Заявл. 23.06.2019, опубл. 06.08.2019.