Оптимизация графов потока управления в промежуточных представлениях языка функционально-потокового параллельного программирования : научное издание
View/ Open:
URI (for links/citations):
https://elib.sfu-kras.ru/handle/2311/141359Author:
Васильев Владимир Сергеевич
Легалов Александр Иванович
Date:
2020Journal Name:
Научный вестник Новосибирского государственного технического университетаСтатья из журнала. Научное издание.
Abstract:
Функционально-потоковые языки программирования предназначены для разработки архитектурно-независимых параллельных программ и поддерживают управление вычислениями по готовности данных. В связи с тем, что в настоящее время преобладают параллельные вычислительные системы, а их программирование на императивных языках сопряжено с проблемами переносимости, разработка инструментальных средств архитектурно-независимого параллельного программирования является актуальной задачей. Формируемая на функционально-потоковых языках программа задает граф потока данных. В ходе ее трансляции формируются промежуточные представления в виде информационного графа и накладываемого на него управляющего графа. В процессе выполнения программы по дугам управляющего графа передаются сигналы готовности данных. Явное выделение управляющего графа позволяет не только изменять стратегии управления вычислениями и обеспечивать адаптацию программы под особенности архитектуры, но и применять специфические методы оптимизации управляющих зависимостей. В работе предлагаются методы трансформации, обеспечивающие оптимизацию управляющего графа. При генерации управляющего графа по информационному в него вносятся избыточные дуги, удаление которых не влияет на результат работы программы, однако приводит к более эффективному ее выполнению. Показано, что в функционально-потоковых программах, помимо зависимостей по управлению, свойственных для других языков программирования, возникают дополнительные, связанные с особенностями реализации отложенных или условных вычислений, описываемых задержанными списками. Приведено формальное описание избыточных зависимостей разного вида, а также эффективный алгоритм их выявления. Разработанный подход может применяться для таких языков функционально-потокового программирования, как Пифагор и Smile.
Functional dataflow programming languages are intended for the development of architecture-independent parallel programs and support the control of computations based on data availability. Due to the fact that at present parallel computing systems are very widespread, and their programming in imperative languages is associated with portability problems, the development of architecturally independent parallel programming tools is an urgent task. When such a program is translated, intermediate representations are formed as the information graph and the corresponding control graph. During program execution, data readiness signals are transmitted along the arcs of the control graph. An explicit selection of the control graph allows us not only to change the computational control strategies and ensure the adaptation of the program to the architecture features, but also to apply specific methods for optimizing control dependencies. The paper proposes transformation methods that provide optimization of the control graph. When generating a control graph from an informational one, redundant arcs are introduced into it, the removal of which does not affect the result of the program, but leads to its more efficient execution. It is shown that in dataflow programs, in addition to control dependencies inherent in other programming languages, additional ones associated with the implementation features of deferred or conditional computations described by delayed lists arise. A formal description of redundant dependencies of various types is given, as well as an effective algorithm for their identification. The developed approach can be applied to such dataflow programming languages as PIFAGOR and Smile. Functional dataflow programming languages are intended for the development of architecture-independent parallel programs and support the control of computations based on data availability. Due to the fact that at present parallel computing systems are very widespread, and their programming in imperative languages is associated with portability problems, the development of architecturally independent parallel programming tools is an urgent task. When such a program is translated, intermediate representations are formed as the information graph and the corresponding control graph. During program execution, data readiness signals are transmitted along the arcs of the control graph. An explicit selection of the control graph allows us not only to change the computational control strategies and ensure the adaptation of the program to the architecture features, but also to apply specific methods for optimizing control dependencies. The paper proposes transformation methods that provide optimization of the control graph. When generating a control graph from an informational one, redundant arcs are introduced into it, the removal of which does not affect the result of the program, but leads to its more efficient execution. It is shown that in dataflow programs, in addition to control dependencies inherent in other programming languages, additional ones associated with the implementation features of deferred or conditional computations described by delayed lists arise. A formal description of redundant dependencies of various types is given, as well as an effective algorithm for their identification. The developed approach can be applied to such dataflow programming languages as PIFAGOR and Smile.
Collections:
Metadata:
Show full item recordRelated items
Showing items related by title, author, creator and subject.
-
Foreign Language in a Non-Linguistics Higher School: Optimal Means of Control
Vonog, Vita V.; Воног, В.В. (Сибирский федеральный университет. Siberian Federal University, 2017-10)The article is devoted to author’s observations and research aimed at looking for an appropriate means of control that corresponds to student-centered approach in teaching English in a Higher School. The target audience ... -
N-version design of fault-tolerant control software for communications satellite system
Кулягин, В. А.; Царев, Р. Ю.; Прокопенко, А. В.; Никифоров, А. Ю.; Ковалев, И. В. (2015-04)The article considers the problem of fault-tolerant satellite control software design. To provide the control software fault-tolerance the N-version programming based on program redundancy is used. In the paper the ... -
The VLSI High-Level Synthesis for Building Onboard Spacecraft Control Systems
Nepomnyashchiy, O. V.; Ryjenko, I. V.; Shaydurov, V. V.; Sirotinina, N. Y.; Postnikov, A. I. (2017)Using small spacecrafts for a wide range of research and applied purposes is one of the major trends in the aerospace field. Modular-network architectures implemented on the “system-on-chip” hardware platform provide ... -
The VLSI high-level synthesis for building onboard spacecraft control systems
Nepomnyashchiy, O. V.; Ryjenko, I. V.; Shaydurov, V. V.; Sirotinina, N. Y.; Postnikov, A. I. (2017-12)Using small spacecrafts for a wide range of research and applied purposes is one of the major trends in the aerospace field. Modular-network architectures implemented on the "system-on-chip" hardware platform provide ... -
Control of master’s programs in economics and management: nature and trends in Russian universities
Улина, Светлана Леонидовна; Глоба, Светлана Борисовна; Говорина, Ольга Владиленовна; Элияшева, Маргарита Ивановна (2019-06)The article is devoted to the problems of managing master programs in the field of economics and management. The theoretical and empirical analysis made it possible to conclude that the existing masters programs in economics ...