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

Автор: Легалов А.И., Васильев В.С., Матковский И.В., Ушакова М.С.

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

Статья в выпуске: 5 т.29, 2017 года.

Бесплатный доступ

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

Еще

Архитектурно-независимое параллельное программирование, функционально-потоковое параллельное программирование, трансформация программ, средства разработки программ, информационный граф, управляющий граф

Короткий адрес: https://sciup.org/14916471

IDR: 14916471   |   DOI: 10.15514/ISPRAS-2017-29(5)-10

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

  • Matloff Norman. Parallel Computing for Data Science With Examples in R, C++ and CUDA. CRC Press. Taylor & Francis Group, 2016.
  • McKenney Paul E. Is Parallel Programming Hard, And, If So, What Can You Do About It? -2014.
  • Legalov A.I. About computation control in parallel system and programming languages. Nauchiy Vestnik NGTU , № 3 (18), 2004, pp. 63-72.
  • Karpov Y.G. Model Checking. Parallel and distributed program system verification. -SPb., BHV-Petersburg, 2010. -560 p..
  • Korneev V.D. Parallel Programming in MPI. Novosibirsk, ICMMG SB RAS, 2002, 215 p..
  • Shameem Akhter, Jason Roberts. Multi-Core Programming. Intel Press, 2006.
  • Cheng John, Grossman Max, McKercher Ty. Professional CUDA ® C Programming. John Wiley & Sons, Inc., Indianapolis, Indiana, 2014
  • Tay Raymond. OpenCL Parallel Programming Development Cookbook. Published by Packt Publishing Ltd., 2013
  • Lastovetsky Alexey L. Parallel Computing on Heterogeneous Networks. John Willey & Sons, 2003
  • Grid Computing -Technology and Applications, Widespread Coverage and New Horizons. Edited by Soha Maad. Published by InTech Janeza Trdine 9, 51000 Rijeka, Croatia, 2012.
  • 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
  • Voevodin V.V., Voevodin Vl.V. Parallel computing. SPb., BHV-Petersburg, 2002, 608 p..
  • A.I.Legalov Functional language for architecture-independent programming] Vichislitelnye Technologii , № 1 (10), 2005, pp. 71-89.
  • 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.
  • Vasilyev V.S., Ryzhenko I.N., Matkovskii I.V. Parallel list optimization for function dataflow programming language "Pifagor". Systemy. Methody. Technologii . № 3 (23), 2014, pp. 102-107..
  • 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
  • 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.
  • 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
Еще
Статья научная