The System for Transforming the Code of Dataflow Programs into Imperative

Functional dataflow programming languages are designed to create parallel portable programs. The source code of such programs is translated into a set of graphs that reflect information and control dependencies. The main way of their execution is interpretation, which does not allow to perform calcu...

Full description

Saved in:
Bibliographic Details
Main Authors: Vladimir S. Vasilev, Alexander I. Legalov, Sergey V. Zykov
Format: Article
Language:English
Published: Yaroslavl State University 2021-06-01
Series:Моделирование и анализ информационных систем
Subjects:
Online Access:https://www.mais-journal.ru/jour/article/view/1488
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1849688323311796224
author Vladimir S. Vasilev
Alexander I. Legalov
Sergey V. Zykov
author_facet Vladimir S. Vasilev
Alexander I. Legalov
Sergey V. Zykov
author_sort Vladimir S. Vasilev
collection DOAJ
description Functional dataflow programming languages are designed to create parallel portable programs. The source code of such programs is translated into a set of graphs that reflect information and control dependencies. The main way of their execution is interpretation, which does not allow to perform calculations efficiently on real parallel computing systems and leads to poor performance. To run programs directly on existing computing systems, you need to use specific optimization and transformation methods that take into account the features of both the programming language and the architecture of the system. Currently, the most common is the Von Neumann architecture, however, parallel programming for it in most cases is carried out using imperative languages with a static type system. For different architectures of parallel computing systems, there are various approaches to writing parallel programs. The transformation of dataflow parallel programs into imperative programs allows to form a framework of imperative code fragments that directly display sequential calculations. In the future, this framework can be adapted to a specific parallel architecture. The paper considers an approach to performing this type of transformation, which consists in allocating fragments of dataflow parallel programs as templates, which are subsequently replaced by equivalent fragments of imperative languages. The proposed transformation methods allow generating program code, to which various optimizing transformations can be applied in the future, including parallelization taking into account the target architecture.
format Article
id doaj-art-abc98536f0eb4f4c8eea69c60139402f
institution DOAJ
issn 1818-1015
2313-5417
language English
publishDate 2021-06-01
publisher Yaroslavl State University
record_format Article
series Моделирование и анализ информационных систем
spelling doaj-art-abc98536f0eb4f4c8eea69c60139402f2025-08-20T03:22:03ZengYaroslavl State UniversityМоделирование и анализ информационных систем1818-10152313-54172021-06-0128219821410.18255/1818-1015-2021-2-198-2141131The System for Transforming the Code of Dataflow Programs into ImperativeVladimir S. Vasilev0Alexander I. Legalov1Sergey V. Zykov2Siberian Federal UniversityHigher school of Economics, National research UniversityHigher school of Economics, National research UniversityFunctional dataflow programming languages are designed to create parallel portable programs. The source code of such programs is translated into a set of graphs that reflect information and control dependencies. The main way of their execution is interpretation, which does not allow to perform calculations efficiently on real parallel computing systems and leads to poor performance. To run programs directly on existing computing systems, you need to use specific optimization and transformation methods that take into account the features of both the programming language and the architecture of the system. Currently, the most common is the Von Neumann architecture, however, parallel programming for it in most cases is carried out using imperative languages with a static type system. For different architectures of parallel computing systems, there are various approaches to writing parallel programs. The transformation of dataflow parallel programs into imperative programs allows to form a framework of imperative code fragments that directly display sequential calculations. In the future, this framework can be adapted to a specific parallel architecture. The paper considers an approach to performing this type of transformation, which consists in allocating fragments of dataflow parallel programs as templates, which are subsequently replaced by equivalent fragments of imperative languages. The proposed transformation methods allow generating program code, to which various optimizing transformations can be applied in the future, including parallelization taking into account the target architecture.https://www.mais-journal.ru/jour/article/view/1488transformation of programsdataflow parallel programmingprogram analysistypingintermediate program representations
spellingShingle Vladimir S. Vasilev
Alexander I. Legalov
Sergey V. Zykov
The System for Transforming the Code of Dataflow Programs into Imperative
Моделирование и анализ информационных систем
transformation of programs
dataflow parallel programming
program analysis
typing
intermediate program representations
title The System for Transforming the Code of Dataflow Programs into Imperative
title_full The System for Transforming the Code of Dataflow Programs into Imperative
title_fullStr The System for Transforming the Code of Dataflow Programs into Imperative
title_full_unstemmed The System for Transforming the Code of Dataflow Programs into Imperative
title_short The System for Transforming the Code of Dataflow Programs into Imperative
title_sort system for transforming the code of dataflow programs into imperative
topic transformation of programs
dataflow parallel programming
program analysis
typing
intermediate program representations
url https://www.mais-journal.ru/jour/article/view/1488
work_keys_str_mv AT vladimirsvasilev thesystemfortransformingthecodeofdataflowprogramsintoimperative
AT alexanderilegalov thesystemfortransformingthecodeofdataflowprogramsintoimperative
AT sergeyvzykov thesystemfortransformingthecodeofdataflowprogramsintoimperative
AT vladimirsvasilev systemfortransformingthecodeofdataflowprogramsintoimperative
AT alexanderilegalov systemfortransformingthecodeofdataflowprogramsintoimperative
AT sergeyvzykov systemfortransformingthecodeofdataflowprogramsintoimperative