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

Автор: Попова Нина Николаевна, Козлов Михаил Владимирович, Шубин Михаил Витальевич

Журнал: Вестник Южно-Уральского государственного университета. Серия: Вычислительная математика и информатика @vestnik-susu-cmi

Статья в выпуске: 1 т.9, 2020 года.

Бесплатный доступ

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

Еще

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

Короткий адрес: https://sciup.org/147233212

IDR: 147233212   |   УДК: 004.051   |   DOI: 10.14529/cmse200103

Neural network approach for mapping of parallel applications

The article is about the problem of improving parallel applications efficiency. It proposes an approach to solve this problem. The approach aims to reduce communication overheads of data exchange between parallel program processes during its execution on high-performance computing system. Growing number of computer nodes leads increasing impact of the communication overhead on application performance. As a sequence the problem of parallel processes allocation to hardware nodes (mapping problem) becomes very actual. The new approach for mapping problem is proposed in this work. The key characteristic of the approach is to extract a communication pattern by phase analysis of application using a convolutional neural network to fast choosing the most relevant mapping algorithm for extracted pattern. Investigation of results of point-to-point communications between parallel program processes is used to build a communication pattern. The application timeline is broken into equal intervals. Communication patterns are created for each interval. Then Haar 2D wavelet transform is applied to these patterns for generating features. Features are clustered, after that, timeline is splitted into phases. Each phase has its own communication pattern. The selection of the most relevant mapping algorithm is performed by using convolutional neural network. It supposes some knowledge about different types of parallel applications and most suitable mapping algorithms. This knowledge must be represented by a set of pattern classes (classes of matrices), each class has the mapping algorithm, which fits best for application with this type of pattern. This set can be a training sample for the neural network. Thus the neural network classifies an input application communication pattern and finds a mapping algorithm for the application. The stages of proposed approach are implemented in this work. This implementation is demonstrated for some tests.

Еще

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

  • Список TOP500. URL: https://www.top500.org/ (дата обращения: 10.04.2019).
  • Hoefler T., Snir M. Generic topology mapping strategies for large-scale parallel architectures // Proceedings of the international conference on Supercomputing (ICS '11). ACM, 2011. P. 75-84. DOI: 10.1145/1995896.1995909
  • Sreepathi S., D'Azevedo E., Philip B., Worley P. Communication Characterization and Optimization of Applications Using Topology-Aware Task Mapping on Large Supercomputers // Proceedings of the 7th ACM/SPEC on International Conference on Performance Engineering (ICPE '16). ACM, 2016. P. 225-236. DOI: 10.1145/2851553.2851575
  • Wu J., Xiong X., Lan Z. Hierarchical task mapping for parallel applications on supercomputers // The Journal of Supercomputing. 2015. Vol. 71, no. 5. P. 1776-1802. DOI: 10.1007/s11227014-1324-5
  • Hoefler T., Jeannot E., Mercier G. An overview of topology mapping algorithms and techniques in high-performance computing // High-Performance Computing on Complex Environment. 2014. P. 75-94. DOI: 10.1002/9781118711897.ch5
  • Шубин М.В., Попова Н.Н. Анализ поведения параллельных MPI-программ на основе фаз межпроцессного взаимодействия // Суперкомпьютерные дни в России: Труды международной конференции (Москва, 24-25 сентября 2018 г.). Москва: Издательство МГУ, 2018. С. 662-672.
  • Jacobs C., Finkelstein A., Salesin D. Fast multiresolution image querying // Proceedings of the 22nd annual conference on Computer graphics and interactive techniques (SIGGRAPH '95) (Los Angeles, CA, August, 1995). ACM, 1995. P. 277-286.
  • DOI: 10.1145/218380.218454
  • Simonyan K., Zisserman A. Very Deep Convolutional Networks for Large-Scale Image Recognition. arXiv:1409.1556. URL: https://arxiv.org/abs/1409.1556 (дата обращения: 10.04.2019).
  • Документация фреймворка Keras. URL: https://keras.io/ (дата обращения: 10.04.2019).
  • Описание приложений NPB. URL: https://www.nas.nasa.gov/publications/npb.html (дата обращения: 10.04.2019).
  • Asanovic K., Bodik R., Catanzaro B., Gebis J., Husbands P., Keutzer K., Patterson D., Plishker W., Shalf J., Williams S., Yelick K. A View of the Parallel Computing Landscape // Communications of the ACM. 2009. Vol. 52, no. 10. P. 56-67,
  • DOI: 10.1145/1562764.1562783
Еще