Инструментальная поддержка создания и трансформации функционально-потоковых параллельных программ : научное издание

Описание

Перевод названия: Support tools for creation and transformation of functional-dataflow parallel programs

Тип публикации: статья из журнала

Год издания: 2017

Идентификатор DOI: 10.15514/ISPRAS-2017-29(5)-10

Ключевые слова: архитектурно-независимое параллельное программирование, функционально-потоковое параллельное программирование, трансформация программ, средства разработки программ, информационный граф, управляющий граф, architecture-independent parallel programming, functional-dataflow parallel programming, transformation of programs, Software development tools, dataflow graph, control graph

Аннотация: В работе рассмотрен нетрадиционный подход к созданию параллельных программ, их анализу и трансформации с использованием языка функционально-потокового параллельного программирования, обеспечивающего написание программ без учёта ресурсных ограничений, что позволяет изначально ориентироваться на алгоритмы с максимальным параллелизмомПоказать полностью. Разработанные инструментальные средства обеспечивают трансляцию, выполнение, отладку, оптимизацию и верификацию функционально-потоковых параллельных программ. Выполнение разработанных программ осуществляется путём «сжатия» параллелизма с учётом ограниченных ресурсов реальных вычислительных систем. Вычислительный процесс рассматривается как наложение управляющего графа, определяющего организацию вычислений, на информационный граф, описывающий функциональные особенности реализуемого алгоритма. Возможно использование различных стратегий управления путём модификации управляющих графов. Предложенные инструменты обеспечивают формирование промежуточных представлений, на основе которых возможны дальнейшие преобразования исходных программ в программы для реальных архитектур параллельных вычислительных систем. In the article, a novel approach to the development, analysis and transformation of parallel programs is considered. A functional dataflow parallel programming language is used. It supports writing programs independently of any resource limitations. This allows to develop algorithms with maximal level of parallelism. Support tools for translation, execution, debugging, optimization and verification of functional dataflow parallel programs are developed. The translator transforms source code of a program to an intermediate representation, in which each function is defined by its dataflow graph. A dataflow graph describes data dependencies in the function and allows to construct the control graph, which defines the organization of computations by specifying the order of the operators execution. The optimization and verification of the program is carried out on their dataflow and control graphs. In order to execute a program the maximal parallelism is to be «compressed» according to particular computing systems' resource limitations. A computation process is considered as a juxtaposition of the control graph and the dataflow graph. It is possible to employ different control strategies by means of control graphs modification. The developed support tools allow to change computation control strategies adapting them to the peculiarities of a computational environment. The suggested tools provide generation of intermediate representation, which could be used as a basis for the following transformations of a program to the program for existed parallel computing systems architecture.

Ссылки на полный текст

Издание

Журнал: Труды Института системного программирования РАН

Выпуск журнала: Т. 29, № -5

Номера страниц: 165-184

ISSN журнала: 20798156

Место издания: Москва

Издатель: Учреждение Российской академии наук Институт системного программирования РАН

Персоны

Вхождение в базы данных