Abstract

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.

Highlights

  • Для построения коммуникационных шаблонов проводится анализ поведения приложения с точки зрения передачи сообщений точка-точка между процессами параллельной программы

  • Метод состоит из следующих шагов: сбор трассы параллельного приложения; разбиение трассы равными временными промежутками длины \Delta t и построение коммуникационной матрицы для каждого промежутка; приведение матриц к стандартному размеру m \times m; применение к матрицам двумерного вейвлет-преобразования Хаара; умножение матриц на специальные поправочные веса; кластеризация полученных матриц; определение фаз в построенной последовательности классов

  • После нахождения подходящих соседей для каждого процесса, алгоритм определяет новые координаты для процессов в трехмерном торе и строит мэппинг для данного параллельного приложения

Read more

Summary

Обзор алгоритмов мэппинга параллельных приложений

Направленные на анализ коммуникационного поведения программ и решение задачи мэппинга, активно исследуются. К первой группе можно отнести алгоритмы для нахождения изоморфизма графов разными способами, например, рекурсивное разбиение графа, поиск в ширину, «лучший — первый», RCM. При рекурсивном разбиении графов [4, 5] граф параллельного приложения и граф вычислительный системы рекурсивно разрезаются на два подграфа по какому-либо свойству графа. На выходе из рекурсии происходит отображение вершин графа приложения на граф вычислительной системы [2, 3]. Далее на каждом шаге алгоритма на граф вычислительный системы отображается вершина графа приложения с наибольшим количеством еще не отображенных соседей [3]. RCM алгоритм переставляет столбцы и строки матрицы таким образом, чтобы уменьшить ширину ленты матрицы [2, 3]. Итерационный алгоритм может менять расположение случайных процессов для получения лучшего локального решения [2]

Схема предлагаемого подхода
Метод выбора коммуникационного шаблона для построения мэппинга
Сверточная нейронная сеть для классификации коммуникационных матриц
Алгоритм мэппинга для HPC-систем с топологией 3D тор
Пример определения фаз и выбора коммуникационного шаблона
Пример применения нейросетевой классификации тестовых коммуникационных матриц

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.