THE POSSIBILITIES OF USING PARALLEL PROGRAMMING USING PYTHON

Authors

  • N.M. ZHunissov Khoja Akhmet Yassawi Kazakh-Turkish International University
  • A.T. Bayaly Khoja Akhmet Yassawi Kazakh-Turkish International University
  • E.T. Satybaldy Khoja Akhmet Yassawi Kazakh-Turkish International University

Keywords:

Python, parallel, parallelism, parallel programming, information technology, flows, processes.

Abstract

This article explores the development of parallel software applications using the Python programming language. Parallel programming is becoming increasingly important in the information technology world as multi-core processors and distributed computing become more common. Python provides developers with a variety of tools and libraries for creating parallel applications, including threads, processes, and asynchronous programming.

This topic covers the basics of parallel programming in Python, including the principles of thread and process management, error handling, synchronization mechanisms, and resource management. He also considers asynchronous programming using the asyncio library, which allows you to efficiently handle asynchronous tasks.

In addition, this topic raises issues of optimization and profiling of parallel applications, as well as explores distributed parallel programming using third-party libraries and frameworks. He also emphasizes the importance of testing and debugging in the context of parallel programming.

Research and experiments in parallel programming using Python help developers create high-performance and efficient applications that can effectively use multi-core systems and distributed computing.

This article offers an in-depth study that examines how Python is suitable for teaching parallel programming to inexperienced students. The results show that there are obstacles that prevent Python from maintaining its advantages in the transition from sequential programming to parallel.

References

Jan Palach. Parallel Programming with Python. Packt Publishing. July 14, 2014. 124 pages

Лупин, С.А. Технологии параллельного программирования / С.А. Лупин. - М.: Форум, 2018.-402c.

Тормасов, А.Г. Параллельное программирование многопоточных систем с разделяемой памятью / А.Г. Тормасов. - М.: Физматкнига,2020.-296с.

L. Dalcin and Y.-L. L. Fang, mpi4py: Status Update After 12 Years of Development, Computing in Science & Engineering, 23(4):47-54, 2021.

https://doi.org/10.1109/MCSE.2021.3083216

L. Dalcin, P. Kler, R. Paz, and A. Cosimo, Parallel Distributed Computing using Python, Advances in Water Resources, 34(9):1124-1139, 2011.

https://doi.org/10.1016/j.advwatres.2011.04.013

L. Dalcin, R. Paz, M. Storti, and J. D’Elia, MPI for Python: performance improvements and MPI-2 extensions, Journal of Parallel and Distributed Computing, 68(5):655-662, 2008.

https://doi.org/10.1016/j.jpdc.2007.09.005

L. Dalcin, R. Paz, and M. Storti, MPI for Python, Journal of Parallel and Distributed Computing, 65(9):1108-1115, 2005.

https://doi.org/10.1016/j.jpdc.2005.03.010

Лагунова А. Д. Параллельные вычисления как способ повышения эффективности алгоритма летучих мышей. // Сборник статей IX Международной научно-практической конференции «Инновационное развитие науки и образования».— 2020.— С. 78–87

Лагунова А.Д., Назаров Д. А. Параллельный алгоритм решения задачи оптимального параметрического синтеза на основе метода сеток. // Труды Международного симпозиума «Надежность и качество».— 2018.— Т.1.— С. 255–258

Andrews, G. R.Fundamentals of multithreaded, parallel and distributed programming, Moscow: Williams, 2003.

Златопольский Д.М. Основы программирования на языке Python. - М.: ДМК Пресс, 2017. – 284 с.

Шелудько, В. М. Основы программирования на языке высокого уровня Python: учебное пособие / В. М. Шелудько. – Ростов-на-Дону, Таганрог: Издательство Южного федерального университета, 2017. – 146 c.

Jan Palach. Parallel Programming with Python. Packt Publishing. July 14, 2014. 124 pages

Lupin, S.A. Tekhnologii parallel'nogo programmirovaniya / S.A. Lupin. - M.: Forum, 2018. - 402 c.

Tormasov, A.G. Parallel'noe programmirovanie mnogopotochnyh sistem s razdelyaemoj pamyat'yu / A.G. Tormasov. - M.: Fizmatkniga, 2020. - 296 c.

L. Dalcin and Y.-L. L. Fang, mpi4py: Status Update After 12 Years of Development, Computing in Science & Engineering, 23(4):47-54, 2021. https://doi.org/10.1109/MCSE.2021.3083216

L. Dalcin, P. Kler, R. Paz, and A. Cosimo, Parallel Distributed Computing using Python, Advances in Water Resources, 34(9):1124-1139, 2011. https://doi.org/10.1016/j.advwatres.2011.04.013

L. Dalcin, R. Paz, M. Storti, and J. D’Elia, MPI for Python: performance improvements and MPI-2 extensions, Journal of Parallel and Distributed Computing, 68(5):655-662, 2008. https://doi.org/10.1016/j.jpdc.2007.09.005

L. Dalcin, R. Paz, and M. Storti, MPI for Python, Journal of Parallel and Distributed Computing, 65(9):1108-1115, 2005. https://doi.org/10.1016/j.jpdc.2005.03.010

Lagunova A. D. Parallel'nye vychisleniya kak sposob povysheniya effektivnosti algoritma letuchih myshej (BA) / A. D. Lagunova // Sbornik statej IX Mezhdunarodnoj nauchno-prakticheskoj konferencii «Innovacionnoe razvitie nauki i obrazovaniya».— 2020.— S. 78–87

Lagunova A.D., Nazarov D. A. Parallel'nyj algoritm resheniya zadachi optimal'nogo parametricheskogo sinteza na osnove metoda setok // Trudy Mezhdunarodnogo simpoziuma «Nadezhnost' i kachestvo».— 2018.— T. 1.— S. 255–258

Andrews, G. R.Fundamentals of multithreaded, parallel and distributed programming, Moscow: Williams, 2003.

Zlatopol'skij D.M. Osnovy programmirovaniya na yazyke Python. – M.: DMK Press, 2017. – 284 s.

SHelud'ko, V. M. Osnovy programmirovaniya na yazyke vysokogo urovnya Python: uchebnoe posobie / V. M. SHelud'ko. – Rostov-na-Donu, Taganrog: Izdatel'stvo YUzhnogo federal'nogo universiteta, 2017. – 146 c.

Published

2024-03-27