PYTHON ТІЛІНІҢ КӨМЕГІМЕН ПАРАЛЛЕЛЬ БАҒДАРЛАМАЛАУДЫ ҚОЛДАНУ МҮМКІНДІКТЕРІ
53 75
Кілт сөздер:
Python, параллель, параллелизм, параллельді бағдарламалау, ақпараттық технологилар, ағындар, процестер.Аңдатпа
Бұл мақалада Python бағдарламалау тілін қолдана отырып, параллельді бағдарламалық қосымшалардың дамуын зерттейді. Параллельді бағдарламалау Ақпараттық технологиялар әлемінде барған сайын маңызды бола түсуде, өйткені көп ядролы процессорлар мен таратылған есептеулер жиі кездеседі. Python әзірлеушілерге параллель қосымшаларды құруға арналған көптеген құралдар мен кітапханаларды ұсынады, соның ішінде ағындар (threads), процестер (processes), және асинхронды бағдарламалау.
Бұл тақырып Python-дағы параллельді бағдарламалау негіздерін, соның ішінде ағындар мен процестерді басқару принциптерін, қателерді өңдеуді, синхрондау механизмдерін және ресурстарды басқаруды қамтиды. Ол сонымен қатар асинхронды тапсырмаларды тиімді өңдеуге мүмкіндік беретін asyncio кітапханасын пайдаланып асинхронды бағдарламалауды қарастырады.
Сонымен қатар, бұл тақырып параллель қосымшаларды оңтайландыру және профильдеу мәселелерін көтереді, сонымен қатар үшінші тарап кітапханалары мен шеңберлерін қолдана отырып таратылған параллель бағдарламалауды зерттейді. Ол сонымен қатар параллельді бағдарламалау контекстінде тестілеу мен күйін келтірудің маңыздылығын атап көрсетеді.
Python көмегімен параллельді бағдарламалау саласындағы зерттеулер мен тәжірибелер әзірлеушілерге көп ядролы жүйелер мен үлестірілген есептеулерді тиімді қолдана алатын жоғары өнімді және тиімді қосымшаларды құруға көмектеседі.
Бұл мақалада Python тілі тәжірибесіз студенттерге параллель бағдарламалауды үйрету үшін қаншалықты қолайлы екенін қарастыратын терең зерттеу ұсынылған. Нәтижелер Python-да дәйекті бағдарламалаудан параллельге көшу кезінде оның артықшылықтарын сақтауға кедергі келтіретін кедергілер бар екенін көрсетеді.
Әдебиеттер тізімі
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.