DOI: 10.17587/prin.10.243-256
Using Program Patterns for Parallel Programming. Practical Usage
V. A. Galatenko, galat@niisi.ras.ru, N. I. Viukova, niva@niisi.ras.ru, K. A. Kostyukhin, kost@niisi.ras.ru, Federal State Institution Scientific Research Institute for System Analysis of the Russian Academy of Sciences, Moscow, 117218, Russian Federation
Corresponding author: Kostyukhin Konstantin A., Senior Researcher, Federal State Institution "Scientific Research Institute for System Analysis of the Russian Academy of Sciences", Moscow, 117218, Russian Federation, E-mail: Kost@niisi.ras.ru
Received on January 09, 2019
Accepted on February 19, 2019
This article discusses the traditional mechanisms of the program patterns usage. In addition, the authors consider the problematic issues that arise when using patterns for software development, for parallelization of legacy serial programs, to evaluate the performance of hardware and software systems that support parallelism, to develop equipment that includes specialized accelerators, as well as to support training courses on parallel programming.
Program patterns usage is a universal tool of accumulation and approbation of programming knowledge, especially important and useful in complex subject areas, such as parallel programming.
Usage of the parallelizable patterns allows the developers:
- to maintain a balance between the performance of hardware and software systems and the productivity of programmers, to make the development of parallel software economically feasible;
- to make parallel programs mobile and flexible, facilitate maintenance and porting of parallel software to new hardware platforms.
This article describes a wide systematic approach to program patterns as a tool of parallelization. This is the most important result presented in this paper.
Keywords: program patterns, parallel programming, distributed systems, review, heterogeneous systems, multikernel systems, parallelizing methods
pp. 243–256
For citation:
Galatenko V. A., Viukova N. I., Kostyukhin K. A. Using Program Patterns for Parallel Programming. Practical Usage, Programmnaya Ingeneria, 2019, vol. 10, no. 6, pp. 243—256.