BC/NW 2021№ 1 (37):2.2
АНАЛИЗ ПРОГРАММ ДЛЯ ПАРАЛЛЕЛЬНОГО ПРОГРАММИРОВАНИЯ НА ВЫЧИСЛИТЕЛЬНЫХ КЛАСТЕРАХ
Федулова А. С., Федулов А. С., Федулов Я. А.
Современные вычислительные кластеры сочетают в себе ряд архитектурных решений, среди которых можно выделить общую (внутри узла) и распределенную (межузловую) память [1]. В соответствии с этим для параллельного программирования используются стандарты для систем с общей памятью (например, OpenMP) и распределенной памятью (например, MPI), а также их сочетания, приводящие к гибридным программам. Актуальным является необходимость анализа производительности существующих технологий параллельного программирования, а также разработка рекомендаций по их использованию. В работе представлены результаты исследований трудоемкости (прежде всего производительности) тестовых программ при их запуске на вычислительном кластере Смоленского филиала МЭИ [2]. Программы были разработаны в стандартах OpenMP и MPI. Основной анализируемый фактор — соотношение обменных и вычислительных операций в каждой программе. В результате экспериментального исследования был сделан вывод о том, что при большом количестве операций межпроцессного обмена при работе на одном вычислительном узле целесообразнее использовать OpenMP. Получены экспериментальные выражения, оценивающие производительность OpenMP- и MPIпрограмм в зависимости от соотношения количества вычислительных операций и операций обмена. Полученные результаты могут быть использованы для выбора одного из стандартов OpenMP или MPI, или их совместного использования в зависимости от класса задач, предназначенных для реализации на вычислительном кластере.
Литература
1. Кастерин Д. С. Использование технологий MPI и OpenMP в кластерных системах с локальными менеджерами ресурсов // Вестник СПбГУ. 2010. Вып. 4.
2. Борисов В. В., Зернов М. М., Федулов А. С., Якушевский К. А. Исследование характеристик гибридного вычислительного кластера // Системы управления, связи и безопасности. 2016. № 4. С. 129–146