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