RUS  ENG
Полная версия
ЖУРНАЛЫ // Вестник Южно-Уральского государственного университета. Серия «Вычислительная математика и информатика» // Архив

Вестн. ЮУрГУ. Сер. Выч. матем. информ., 2020, том 9, выпуск 1, страницы 36–49 (Mi vyurv230)

Нейросетевой метод решения задачи мэппинга параллельных приложений

Н. Н. Попова, М. В. Козлов, М. В. Шубин

Московский государственный университет имени М.В. Ломоносова (119991 Москва, ул. Ленинские горы, д. 1)

Аннотация: Статья посвящена проблеме повышения эффективности параллельных приложений. В статье предлагается подход к решению проблемы, основанный на сокращении накладных расходов, связанных с передачей данных между процессами параллельной программы во время ее выполнения на высокопроизводительной вычислительной системе. С ростом числа процессорных узлов расходы на передачу сообщений между узлами оказывают все большее влияние на производительность параллельных приложений. В связи с этим становится особо актуальной задача размещения процессов параллельной программы по вычислительным узлам суперкомпьютера, известная, как задача мэппинга. В работе предлагается новый подход к решению задачи мэппинга. Ключевой особенностью подхода является выбор коммуникационного шаблона путем фазового анализа приложения и использование сверточной нейронной сети для быстрого выбора подходящего алгоритма мэппинга, исходя из построенного коммуникационного шаблона. Для построения коммуникационных шаблонов проводится анализ поведения приложения с точки зрения передачи сообщений точка-точка между процессами параллельной программы. Временная шкала событий передачи сообщений разбивается на равные промежутки, для каждого из которых строится коммуникационных шаблон. К построенным шаблонам применяется двумерное вейвлет-преобразование Хаара для выделения признаков. Затем проводится кластеризация признаков и построение фаз во временной шкале работы приложения. Для каждой фазы строится коммуникационный шаблон, соответствующий этой фазе. Выбор подходящего алгоритма мэппинга проводится с помощью сверточной нейронной сети. Использование нейронной сети предполагает знание о свойствах коммуникационного поведения различных типов приложений и подходящих для этих типов алгоритмов мэппинга. Эти знания должны быть представлены в виде набора классов коммуникационных шаблонов (матриц) с известным для каждого класса наилучшим алгоритмом мэппинга. Нейронная сеть обучается на данном наборе классов. Обученная сеть решает задачу классификации входного коммуникационного шаблона, выбирая наиболее подходящий алгоритм мэппинга для данного параллельного приложения. В статье представлена реализация отдельных этапов метода, и продемонстрирована их работа на тестовых примерах.

Ключевые слова: суперкомпьютер, мэппинг, коммуникационный шаблон, сверточная нейронная сеть.

УДК: 004.051

Поступила в редакцию: 12.11.2019

DOI: 10.14529/cmse200103



© МИАН, 2024