Парадигми паралельних обчислень в контексті функціонального програмування
Вантажиться...
Дата
2022
Автори
Яшина, Оксана
Онишко, Оксана
Yashyna, Oksana
Onyshko, Oksana
Назва журналу
Номер ISSN
Назва тому
Видавець
Хмельницький національний університет
Анотація
У статті здійснено аналіз низки парадигм паралельних обчислень, що підтримуються у різноманітних мовах програмування із описом вимог до мовної підтримки паралельного програмування. Також розглядаються основні принципи
та обмеження, що виявляються при перенесенні техніки функціонального програмування на паралельні обчислення.
Наприкінці описані вимоги до мовної підтримки.
The article analyzes a number of parallel computing paradigms supported in various programming languages with a description of the requirements for language support for parallel programming. Also, the main principles and limitations revealed when transferring the FP technique to parallel computing are considered. At the end, the requirements for language support are described. For each of the difficult-to-solve problems of parallel computing, a separate convenient paradigm for its solution has already been formed, and a number of programming languages have been created that support such a paradigm, which confirms its status as a paradigm. The difference between the paradigms is manifest ed in the ordering of the importance of the means and methods used in solving individual tasks, individual tasks require a different ordering. At each moment of program development, one paradigm is usually used. Accordingly, a basic paradigm is distinguished in various programming languages. The requirements for solving rather complex tasks of parallel computing are associated with a number of difficult tasks, which entails the need to use different paradigms at different stages of their creation and phases of their life cycle. When switching to parallel programming technology, it is important to guarantee a practical result, which requires support for the full range of paradigms used at various stages of program development. The complexity of using differen t paradigms when solving one task is usually minimized by creating multilingual systems that allow, if necessary, the possibility of switching from one paradigm to another without the costs of mastering different interfaces. This leads to the expediency of creating a multi-paradigm parallel computing language that simultaneously supports all the main paradigms of parallelism and different levels of abstraction - from lower than is accepted in high- level languages to ultra-high-level languages.
The article analyzes a number of parallel computing paradigms supported in various programming languages with a description of the requirements for language support for parallel programming. Also, the main principles and limitations revealed when transferring the FP technique to parallel computing are considered. At the end, the requirements for language support are described. For each of the difficult-to-solve problems of parallel computing, a separate convenient paradigm for its solution has already been formed, and a number of programming languages have been created that support such a paradigm, which confirms its status as a paradigm. The difference between the paradigms is manifest ed in the ordering of the importance of the means and methods used in solving individual tasks, individual tasks require a different ordering. At each moment of program development, one paradigm is usually used. Accordingly, a basic paradigm is distinguished in various programming languages. The requirements for solving rather complex tasks of parallel computing are associated with a number of difficult tasks, which entails the need to use different paradigms at different stages of their creation and phases of their life cycle. When switching to parallel programming technology, it is important to guarantee a practical result, which requires support for the full range of paradigms used at various stages of program development. The complexity of using differen t paradigms when solving one task is usually minimized by creating multilingual systems that allow, if necessary, the possibility of switching from one paradigm to another without the costs of mastering different interfaces. This leads to the expediency of creating a multi-paradigm parallel computing language that simultaneously supports all the main paradigms of parallelism and different levels of abstraction - from lower than is accepted in high- level languages to ultra-high-level languages.
Опис
Ключові слова
функціональне програмування, паралельні обчислення, мови програмування, мультипарадигмальність, парадигми програмування, functional programming, parallel computing, multiparadigmality, programming languages, programming paradigms
Бібліографічний опис
Яшина О. Парадигми паралельних обчислень в контексті функціонального програмування / О. Яшина, О. Онишко // Вимірювальна та обчислювальна техніка в технологічних процесах. – 2022. – № 4. – C. 95-99.