Аннотация:Выпускная квалификационная работа посвящена проблеме повышения эффективности параллельных приложений. В работе предлагается подход к решению проблемы уменьшения накладных расходов, связанных с передачей данных между процессами параллельной программы во время ее выполнения на высокопроизводительной вычислительной системе.
С ростом числа процессорных узлов расходы на взаимодействие посредствам сообщений между узлами оказывают все большее влияние на эффективность параллельных приложений. В связи с этим становится особо актуальной задача оптимизации размещения процессов параллельной программы по вычислительным узлам суперкомпьютера, известная, как задача мэппинга. В работе предлагается подход к решению задачи мэппинга в динамике выполнения параллельной программы. Большинство предлагаемых на сегодня методов мэппинга полагаются на анализ коммуникационного взаимодействия процессов уже после работы программы. Ключевой особенностью предложенного подхода является переназначение процессов параллельной программы на вычислительные ядра во время исполнения программы, исходя из полученных во время исполнения коммуникационных шаблонов. Метод не требует изменения самого приложения.