Бұл мақалада көпядролы компьютерлерде процессорға жүктемесі жоғары тапсырмалар үшін Python тіліндегі параллелизм әдістері жан-жақты бағаланады. CPU-ге тәуелді, I/O-ге тәуелді және аралас жүктемелер үшін көпағынды (multithreading), көппроцессорлы (multiprocessing) және гибридті (ағын +процесс) тәсілдер салыстырылады. Көпядролы жүйеде орындалған эксперименттік тесттерде орындау уақыты, CPU қолданылуы, жады тұтыну және параллельділік арқылы алынған үдеулер (speedup) бірізді (секвенциалды) негізбен салыстырылып өлшенді. Нәтижелер Python-дағы GIL (Global Interpreter Lock) CPU-ге тәуелді қолданбалар үшін көпағындылық арқылы жылдамдық арттыруға мүмкіндік бермейтінін көрсетті. Ал көптеген процестер көмегімен дерлік сызықтық үдеу (4 ядро үшін 3.7×) алынады, бірақ ол көбірек жадыны қажет етеді. I/O жүктемелерінде multiprocessing пен multithreading
әдістері I/O кідірістерін жабу арқылы өткізу қабілетін 3 есе арттырады, мұнда ағындар кішігірім ресурстар тұтынады. Есептеу мен I/O-ны біріктіретін гибридті әдіс таза multiprocessing-ке қарағанда 3.3 есе жақсы нәтиже беріп, есептеу мен I/O араласқан жүктемелерде ең жоғары өнімділікті қамтамасыз етеді. Зерттеу нәтижелері Амдал заңы тұрғысынан қарастырылып, Python ағындарының GIL арқылы шектелетіндігі талқыланады. Сондай-ақ, болашақта GIL-ді алып тастау және оның Python параллелизміне әсері туралы айтылады. Бұл нәтижелер көпядролы жүйелерде жылдамдық пен ресурстарды тиімді пайдалану арасында болатын таңдауды көрсетеді және Python тілінде тиімді параллелді әдістерді таңдауға ұсыныстар береді.
КӨПЯДРОЛЫ ЖҮЙЕЛЕРДЕГІ АУЫР ЕСЕПТЕРГЕ АРНАЛҒАН PYTHON ПАРАЛЛЕЛДІЛІГІ
Жарияланған September 2025
7
5
Аңдатпа
Тіл
English
Як цитувати
[1]
Жолдыбай A. і Айтуов A. 2025. КӨПЯДРОЛЫ ЖҮЙЕЛЕРДЕГІ АУЫР ЕСЕПТЕРГЕ АРНАЛҒАН PYTHON ПАРАЛЛЕЛДІЛІГІ. Абай атындағы ҚазҰПУ Хабаршысы. Физика-математика ғылымдары сериясы. 91, 3 (Вер 2025), 203–212. DOI:https://doi.org/10.51889/2959-5894.2025.91.3.018.
https://orcid.org/0009-0006-1657-9442