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