Перевод названия: Optimization of parallel lists of the functional and dataflow programming language PIFAGOR
Тип публикации: статья из журнала
Год издания: 2014
Ключевые слова: functional programming, Code optimization, VLSI design, parallel programming, функциональное программирование, оптимизация кода, разработка СБИС, параллельное программирование
Аннотация: Рассматриваются оптимизирующие преобразования параллельных списков в программах, написанных на языке функционально-потокового программирования «Пифагор». Параллельные списки являются выразительным языковым средством, обеспечивая описание независимых данных и функций. Их использование позволяет компактно описать параллельные фрагменПоказать полностьюты за счет наличия в языке возможностей эквивалентного преобразования в более простые структуры. Параллельные списки могут вкладываться вдруг в друга, формируя сложные иерархические структуры, которые, в ряде случаев, могут быть выявлены и преобразованы в структуры с меньшим уровнем вложенности на этапе трансляции программы. Выполнение операторов программы на языке Пифагор контролируется управляющими автоматами, которые значительно осложняются тем, что на вход соответствующих операторов могут поступать параллельные списки. В случаях, когда удается установить, что параллельный список не содержит вложенных параллельных списков, размерность которых зависит от аргумента функции, возможна интерпретация списка на этапе трансляции. Интерпретация списка не только является самостоятельным оптимизирующим преобразованием, но и повышает эффективность применения других преобразований, что показано в статье на примере оптимизации управляющих автоматов. В ряде случаев такое преобразование приведет к полному удалению параллельных списков за счет дополнительного применения эквивалентных преобразований, закрепленных в модели вычислений. В заключительной части представлены ограничения, накладываемые архитектурой на программу и позволяющие реализовывать трансляцию функционально-потоковых параллельных программ в топологию сверхбольших интегральных схем. Также показана возможность более эффективной оптимизации параллельных списков при трансляции на архитектуру систем на кристалле за счет учета дополнительных ограничений. This research examines the optimizing transformations of the parallel lists in the programmes written on the functional and dataflow programming language PIFAGOR. The parallel lists describes independent data and functions of the PIFAGOR language. This lists are used for define parallel fragments of code. The parallel lists can make hierarchy structures. In some cases this structures can be identified and simplified at the stage of program translation. Running the operator of the program on PIFAGOR is controlled by control machines and become more complicated because of the parallel lists being input on operators. If it is possible to identify that there are no attached parallel lists in the initial parallel list, depending on the argument of function, it is possible to interpret the lists at the stage of program translation. Interpretation of the list is not only independent optimizing transformation but also it is a way to increase the efficiency of the use of other transformations. In the article it is demonstrated by the example of optimization of control machines. In some cases this transformation can give the possibility for a complete delete of the parallel lists due to additional usage of the equivalent transformations determined at the computing model. The conclusion of the article shows the possibility for more effective optimization of the parallel lists for system on a chip/VLSI circuit architecture due to additional restrictions applied by the architecture.
Журнал: Системы. Методы. Технологии
Выпуск журнала: № 3
Номера страниц: 102-107
ISSN журнала: 20775415
Место издания: Братск
Издатель: Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "Братский государственный университет"