Preview

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

Расширенный поиск

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

https://doi.org/10.15514/ISPRAS-2017-29(5)-10

Аннотация

В работе рассмотрен нетрадиционный подход к созданию параллельных программ, их анализу и трансформации с использованием языка функционально-потокового параллельного программирования, обеспечивающего написание программ без учёта ресурсных ограничений, что позволяет изначально ориентироваться на алгоритмы с максимальным параллелизмом. Разработанные инструментальные средства обеспечивают трансляцию, выполнение, отладку, оптимизацию и верификацию функционально-потоковых параллельных программ. Выполнение разработанных программ осуществляется путём «сжатия» параллелизма с учётом ограниченных ресурсов реальных вычислительных систем. Вычислительный процесс рассматривается как наложение управляющего графа, определяющего организацию вычислений, на информационный граф, описывающий функциональные особенности реализуемого алгоритма. Возможно использование различных стратегий управления путём модификации управляющих графов. Предложенные инструменты обеспечивают формирование промежуточных представлений, на основе которых возможны дальнейшие преобразования исходных программ в программы для реальных архитектур параллельных вычислительных систем.

Об авторах

А. И. Легалов
Сибирский федеральный университет
Россия


В. С. Васильев
Сибирский федеральный университет
Россия


И. В. Матковский
Сибирский федеральный университет
Россия


М. С. Ушакова
Сибирский федеральный университет
Россия


Список литературы

1. Matloff Norman. Parallel Computing for Data Science With Examples in R, C++ and CUDA. CRC Press. Taylor & Francis Group, 2016.

2. McKenney Paul E. Is Parallel Programming Hard, And, If So, What Can You Do About It? 2014.

3. Легалов А.И. Об управлении вычислениями в параллельных системах и языках программирования. Научный вестник НГТУ, № 3 (18), 2004, стр. 63-72.

4. Карпов Ю.Г. Model Checking. Верификация параллельных и распределенных программных систем. СПб.: БХВ-Петербург, 2010, 560 с.

5. Корнеев В.Д. Параллельное программирование в MPI. Новосибирск, Изд-во ИВМмМГ СО РАН, 2002, 215 с.

6. Эхтер Ш., Роберте Дж. Многоядерное программирование. СПб., Питер, 2010, 316 с.

7. Cheng John, Grossman Max, McKercher Ty. Professional CUDA ® C Programming. John Wiley & Sons, Inc., Indianapolis, Indiana, 2014.

8. Tay Raymond. OpenCL Parallel Programming Development Cookbook. Published by Packt Publishing Ltd., 2013

9. Lastovetsky Alexey L. Parallel Computing on Heterogeneous Networks. John Willey & Sons, 2003

10. Grid Computing – Technology and Applications, Widespread Coverage and New Horizons. Edited by Soha Maad. Published by InTech Janeza Trdine 9, 51000 Rijeka, Croatia, 2012.

11. Benedict R. Gaster, Lee Howes, David R. Kaeli, Perhaad Mistry, Dana Schaa. Heterogeneous Computing with OpenCL. Advanced Micro Devices, Inc. Published by Elsevier Inc. 2013

12. Воеводин В.В., Воеводин Вл.В. Параллельные вычисления. СПб., БХВ¬Петербург, 2002, 608 с.

13. А.И. Легалов. Функциональный язык для создания архитектурно-независимых параллельных программ. Вычислительные технологии, № 1 (10), 2005, стр. 71-89

14. Backus J. Can programming be liberated from von Neuman style? A functional stile and its algebra of programs CACM. 1978, Vol. 21, N 8, pp. 613–641

15. Васильев В.С., Рыженко И.Н., Матковский И.В. Оптимизация параллельных списков функционально-потокового языка программирования «Пифагор». Системы. Методы. Технологии. № 3 (23), 2014, стр. 102-107.

16. Hoare, C. A. R. An axiomatic basis for computer programming. Communications of the ACM, 1969, Vol. 10, No. 12, pp. 576–585. DOI: 10.1145/363235.363259

17. Kropacheva M., Legalov A. Formal Verification of Programs in the Pifagor Language. Parallel Computing Technologies, 12th International Confernce PACT September-October, 2013. – St. Petersburg, Russia. Lecture Notes in Computer Science 7979, Springer, 2013, pp. 80-89

18. Ushakova M.S., Legalov A.I. Automation of Formal Verification of Programs in the Pifagor Language. Modeling and Analysis of Information Systems, 2015, 22(4) pp. 578-589. DOI:10.18255/1818-1015-2015-4-578-589


Рецензия

Для цитирования:


Легалов А.И., Васильев В.С., Матковский И.В., Ушакова М.С. Инструментальная поддержка создания и трансформации функционально-потоковых параллельных программ. Труды Института системного программирования РАН. 2017;29(5):165-184. https://doi.org/10.15514/ISPRAS-2017-29(5)-10

For citation:


Legalov A.I., Vasilyev V.S., Matkovskii I.V., Ushakova M.S. Support tools for creation and transformation of functional-dataflow parallel programs. Proceedings of the Institute for System Programming of the RAS (Proceedings of ISP RAS). 2017;29(5):165-184. (In Russ.) https://doi.org/10.15514/ISPRAS-2017-29(5)-10



Creative Commons License
Контент доступен под лицензией Creative Commons Attribution 4.0 License.


ISSN 2079-8156 (Print)
ISSN 2220-6426 (Online)