Neural Network Approach for Mapping of Parallel Applications
DOI:
https://doi.org/10.14529/cmse200103Keywords:
high performance computing systems, topology-aware mapping, communication pattern, convolution neural networkAbstract
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.
References
TOP500 List. Available at: https://www.top500.org/ (accessed: 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) (Tucson, Arizona, USA, May, 31–June, 04, 2011). 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) (Delft, The Netherlands, March, 12–16, 2016). 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/s11227-014-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.
Shubin M.V., Popova N.N. Study of the behavior of parallel MPI-programs based on phases of interprocess communication. Russian Supercomputing Days: Proceedings of the international conference (Moscow, Russia, September, 24–25, 2018). Moscow, Moscow State University, 2018. P. 662–672. (in Russian)
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. Available at: https://arxiv.org/abs/1409.1556 (accessed: 10.04.2019).
Keras Documentation. Available at: https://keras.io/ (accessed: 10.04.2019).
NAS Parallel Benchmarks. Available at: https://www.nas.nasa.gov/publications/npb.html (accessed: 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.


