ВАНТ 2/2013
Выпуск журнала ВАНТ 2/2013
УДК 517.958:536.2
МЕТОД ДЕКОМПОЗИЦИИ КОММУНИКАЦИОННЫХ ПРОСТРАНСТВ В РЕАЛИЗАЦИИ КОЛЛЕКТИВНЫХ ОПЕРАЦИЙ MPI
/С. И. Сапронов // С. 78–85.
Современные высокопроизводительные кластерные системы чаще всего имеют
неоднородную инфраструктуру, когда гетерогенные вычислительные узлы с
многоядерной архитектурой соединены посредством разнообразных коммуникационных средств. Такая неоднородность может оказывать критическое влияние на производительность параллельных приложений, которые используют коллективные коммуникации MPI: обмены через общую память на отдельных узлах должны эффективно согласовываться с обменами по быстрым и медленным каналам, соединяющим различные узлы. Одним из возможных способов адаптации средств обмена сообщениями к новым условиям применения является реализация для коллективных операций новых алгоритмов, учитывающих ту или иную особенность коммуникаций. Такой подход зачастую очень трудоемок.
В статье освещается альтернативный подход, который предусматривает возможность более эффективного использования уже существующих алгоритмов коллективных операций. Суть этого метода заключается в разбиении сложного коммуникационного пространства, на котором изначально инициируется коллективная операция (всех процессов, выполняемых под управлением коммуникатора), на однородные подпространства (подкоммуникаторы) и в последующем выполнении этих операций по частям на отдельных подпространствах. Таким образом, организуется большой набор дополнительных алгоритмов коллективных операций.
Преимущества таких алгоритмов заключаются, во-первых, в использовании достоинств уже существующих алгоритмов в однородной среде исполнения; во-вторых, в одновременном выполнении отдельных частей коллективной операции на независимых коммуникационных подпространствах; в-третьих, в сокращении
количества медленных коммуникаций.
Ключевые слова: MPI, параллельные вычисления, алгоритмы коллективных операций.
УДК 004.42
КОМПОНЕНТ ПРОВЕРКИ КОРРЕКТНОСТИ ИСПОЛЬЗОВАНИЯ MPI В ПРОГРАММНОМ КОМПЛЕКСЕ S-MPI
Современные параллельные программные комплексы, созданные с использованием MPI, становятся все сложнее; они используют все большее количество вычислительных ядер, а следовательно, MPI-процессов. Кроме того, сложность и частая неоднозначность стандарта MPI накладывает целый ряд ограничений на использование функций MPI. Все это усложняет процесс написания корректных и переносимых MPI-программ даже экспертами.
Разрабатываемый инструмент MCCT призван облегчить программистам поиск реальных и потенциальных проблем в параллельном коде MPI. Данный программный компонент проверки корректности использования MPI входит в состав разрабатываемого комплекса S-MPI – первого подобного коммерческого продукта в России. На ряде примеров проблемного исходного кода MPI демонстрируется успешное обнаружение проблем с использованием MCCT. Приводятся результаты проверки корректности двух программных пакетов – ЛЭГАК-ДК и ЛОГОС, разработанных в РФЯЦ-ВНИИЭФ.
Замеры производительности МССТ подтверждают его достаточно хорошую конкурентоспособность.
Ключевые слова: MCCT, проверка корректности, MPI, программный комплекс S-MPI.