Journal "Software Engineering"
a journal on theoretical and applied science and technology
ISSN 2220-3397

Issue N4 2019 year

DOI: 10.17587/prin.10.147-159
Using Program Patterns for Parallel Programming. Base Concepts
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 January 29, 2019

Program patterns as a tool of programming knowledge accumulation and usage are considered in this article in the context of parallel programming. They can serve as a basis for tests for evaulating performance of architectures and/ or productivity of programmers who develop new parallel applications or parallelize legacy code. Program patterns can be useful for developing and implementing hardware that supports concurrency. Program patterns are an effective tool for learning parallel programming. Performance measurement tests can be developed based on program patterns. The development, implementation and maintenance of parallel programs designed for distributed, heterogeneous configurations is a complex problem. The usage of program patterns helps to maintain programmers productivity at an economically acceptable level. This paper is the first part of work that contains results of analysis on program patterns implementations in various heterogeneous hardware-software systems. The authors will give the main concepts and definitions of program patterns and review existing architecture solutions such as program patterns for parallelizing on the operating systems level, distributed heterogeneous systems level and multikernel systems level. The second part of the work will consider the main mechanisms of applying program schemes when working with parallel systems.

Keywords: program patterns, parallel programming, distributed systems, review, heterogeneous systems, multikernel systems, parallelizing methods
pp. 147–159
For citation:
Galatenko V. A., Viukova N. I., Kostyukhin K. A. Using Program Patterns for Parallel Programming. Base Concepts, Programmnaya Ingeneria, 2019, vol. 10, no. 4, pp.147—159.