Аннотация:Задача отображения процессов параллельной программы на узлы вычисли-
тельной системы, известная, как задача мэппинга, является очень актуальной на
сегодняшний день. Её решение позволяет повысить эффективность параллельного
приложения не меняя его исходного кода.
Работа посвящена решению задачи мэппинга. Большинство из предложенных
подходов, решающих задачу мэппинга статически, т.е. задавая отображение про-
цессов один раз перед началом выполнения приложения, не учитывают измен-
чивость коммуникационного поведения приложения во времени. В данной работе
предлагается подход, основанный на определении нескольких шаблонов комму-
никационного поведения, которые демонстрирует приложение, и использовании
одного из этих шаблонов для построения мэппинга. Для вычисления мэппинга
по найденному шаблону предполагается использование одного из предложенных
алгоритмов мэппинга.
Метод предполагает сбор и анализ трассы приложения. В данной работе ис-
пользовался сборщик трасс Score-P.
В качестве примера алгоритма мэппинга, вычисляющего мэппинг по построен-
ному коммуникационному шаблону, использовался алгоритм TreeMatch.
Предложенный подход реализован и исследован на примерах параллельных
MPI-приложений на суперкомпьютере «Ломоносов».
Исследования предложенного подхода показали, что разработанный метод поз-
воляет добиться большей эффективности MPI-приложений по сравнению с други-
ми методами мэппинга.