RUS  ENG
Полная версия
ЖУРНАЛЫ // Вестник Южно-Уральского государственного университета. Серия «Вычислительная математика и информатика» // Архив

Вестн. ЮУрГУ. Сер. Выч. матем. информ., 2024, том 13, выпуск 2, страницы 77–96 (Mi vyurv318)

Анализ исполнения фрагментированных программ на основе факторов SLOW

С. Е. Киреевab, В. С. Литвиновb

a Институт вычислительной математики и математической геофизики СО РАН (630090 Новосибирск, пр. академика Лаврентьева, д. 6)
b Новосибирский государственный университет (30090 Новосибирск, ул. Пирогова, д. 2)

Аннотация: При исполнении параллельных программ, основанных на парадигме параллелизма задач, требуется решать ряд проблем, таких как выбор порядка запуска задач с учетом зависимостей между ними, распределение данных и задач по параллельным процессам, балансировка нагрузки на ресурсы. Эти проблемы относятся к области системного параллельного программирования, и их решение, как правило, обеспечивается специальной исполнительной системой. От качества решения этих проблем, а также от структуры и свойств прикладного алгоритма, лежащего в основе параллельной программы, зависит получаемая производительность. Если производительность программы недостаточна, то требуется ее оптимизация, а для этого нужно знать те причины («узкие места»), которые ограничивают ее производительность. Для определения узких мест программы обычно применяется профилирование, т.е. сбор некоторых характеристик исполнения, которые могут указать на источник проблемы. Однако обычные широко используемые средства профилирования параллельных программ не позволяют дать ответ в требуемых понятиях из-за сложности анализа асинхронного исполнения множества задач, а также из-за неспособности выделить в исполняющейся программе прикладную (множество задач) и системную (исполнительная система) компоненты. Поэтому для таких программ требуется разработка новых методов профилирования и анализа. В статье рассматривается проблема получения «понятных» характеристик выполнения параллельных программ на основе параллелизма задач для анализа производительности и оптимизации. Предлагается количественно оценить степень влияния следующих факторов: нехватка работы (Starvation), передача данных (Latency), накладные расходы (Overhead) и конфликт при доступе к общим ресурсам (Waiting for contention resolution). Представлен алгоритм получения соответствующих характеристик для системы фрагментированного программирования LuNA, а также способ их анализа для оптимизации LuNA-программ. Корректность подхода продемонстрирована на ряде синтетических экспериментов. Показано применение подхода к анализу «реальной» программы численного моделирования.

Ключевые слова: анализ производительности, параллельное программирование, фрагментированное программирование, параллелизм задач, система LuNA.

УДК: 004.4'2, 004.413.5

Поступила в редакцию: 10.05.2024

DOI: 10.14529/cmse240205



© МИАН, 2024