Використання і реалізація паралелізму в мові програмування Go на основі інтерфейсу MPI як методу обміну повідомленнями

Автор(и)

DOI:

https://doi.org/10.30837/bi.2021.1(96).02

Ключові слова:

ІНТЕРФЕЙС ПЕРЕДАЧІ ПОВІДОМЛЕНЬ, ПАРАЛЕЛЬНЕ ПРОГРАМУВАННЯ, МОВА ПРОГРАМУВАННЯ GO, МЕТОД JAKOBI

Анотація

Розглянуто розробку методів оптимізації ком’ютерних процесів за допомогою засобів мови програмування Go. Проаналізовано ресурси обчислення Інтерфейсу передачі повідомлень, що містить мова програмування Go. Пропонується метод фабрикування зв’язків для аналізу швидкості враження обмеження пристосованості. Серед переваг використання мови про- грамування Go для реалізації алгоритмів MPI є факт усування необхідності розробнику керувати пам’яттю та ресурсами, що використовуються програмним забезпеченням вручну, власними двійковими файлами, швидкою та ефективною компіляцією. Хоча Golang використовує кілька ресурсів для створення паралельних обчислень, алгоритми MPI, реалізовані методами та техніками Golang, не повністю інтегрують обмін та обчислення. Було порівняно два методи Jacobi для розв’язку рівняння з частковими похідними. Результати показали, що Go не може координувати виконання C, а також, що Go масштабує частину при використанні неблокуючого зв’язку та порівнянні неблокуючих реалізацій між собою. Мова програмування Golang є конкуруючим інструментом розробки послідовні алгоритми на конкуруючі, проте розробникам MPI не рекомендується використовувати його через його складність для реалізації. Як результат, в даний час майже не існує MPI, реалізованого методами та техніками Golang, які б повністю інтегрували обмін та обчислення.

Біографії авторів

І.В. Кириченко, Харківський національний університет радіоелектроніки

К.т.н, старший викладач кафедри програмної інженерії Харківського національного університету радіоелектроніки

В.В. Колесник, Харківський національний університет радіоелектроніки

Магістрант кафедри програмної інженерії Харківського національного університету радіоелектроніки

О.Б. Шмелев, Харківський національний університет радіоелектроніки

Магістрант кафедри програмної інженерії Харківського національного університету радіоелектроніки

Посилання

Gropp W. Using MPI: Portable Parallel Programming with the Message-Passing Interface. / W. Gropp, E. Lusk, S. Anthony – 328 с.

A Golang Wrapper for MPI: https://hps.vi4io.org/_media/ teaching/sommersemester_2013/paps-1213-beifuss_weginggolang_ bindings_for_mpi-report.pdf

MPI: A Message-Passing Interface Standard Version 3: https://www.mpi-forum.org/docs/mpi-3.0/mpi30-report. pdf.

Alexander Beifuss, Johann Weging, Dr. Julian Kunkel. A Golang Wrapper for MPI: http://docplayer.net/50544314- A-golang-wrapper-for-mpi.html.

Alan A. A. Donovan. The Go Programming Language / Alan A. A. Donovan, Brian W. Kernighan.. – 380 с.

I. Balbaert. The Way to Go: A Thorough Introduction to the Go Programming Language. Iuniverse.Com, 3 2012.

##submission.downloads##

Опубліковано

2021-07-02