|
Degree
|
Assistant at Parallel Computing Department, Novosibirsk National Research State University; Postgraduate, Junior Researcher, Laboratory of Parallel Program Synthesis, Institute of Computational Mathematics and Mathematical Geophysics of the Siberian Branch of the Russian Academy of Sciences |
|---|---|
|
E-mail
|
m.michurov@g.nsu.ru |
|
Location
|
Novosibirsk, Russia |
|
Articles
|
Features and effects of using automatic parallel program construction systems in comparison with MPI and OpenMP programmingDeveloping efficient parallel programs for multicomputers is a complex task that requires solutions to numerous issues. On the one hand, it is necessary to ensure that a parallel program has required non-functional properties, such as reducing the overhead of organizing parallel processing, balancing the load across computational nodes and processor cores, etc. On the other hand, new classes of errors are relevant for parallel programs that are not typical for sequential programs. To overcome these issues, automatic parallel program construction systems are being developed. Such systems take over the work of executing a program on a multicomputer and providing non-functional properties. This allows the user to focus on solving the applied problem. The goal of this paper is to evaluate the degree of readiness of popular automatic parallel program construction systems in terms of both performance and user experience, and also to identify classes of problems for which it is advisable to use the systems under consideration. This paper presents a comparison of these systems with each other and with MPI and OpenMP technologies. The comparison is based on the criteria most important to the user when choosing a technology (performance, completeness of documentation, ease of installation, debugging and optimization, etc.) Common problems typical of such systems and discussed in the paper are incomplete documentation, errors, and non-obvious behavior. However, these systems are mostly capable of constructing parallel programs with acceptable performance. At the same time, the relative simplicity and high level of input languages of the systems make it possible to implement an applied algorithm with less effort compared to parallel programming in MPI and OpenMP technologies. Read more... |