The usage and implementation of parallelism in go programming language based on the mpi interface as a message exc hange method - Kyrychenko, I. V.; Kolesnyk, V. V.; Shmelov, O. B. (ХНУРЭ, 2021)
The development of the methods for optimizing computer processes by the means of Go programming language. The resources for MPI computations were analyzed from the side of Go programming language. Proposed attempts to fabricate the ties the Go form devices hit their restriction of adaptability quick. Among the advantages of using Go programming language for implementation MPI algorithms, could be saud that it eliminates the need for the developer to manage memory and resources used by software manually, own binaries, fast and efficient compilation. Athough Golang uses several resources to create parallel computations, MPI algorithms implemented by Golang methods and techniques do not fully integrate exchange and computation. Were compared two Jacobi methods for solving partial differential equation. The results showed that Go cannot coordinate the execution of C, although Go scales a part more pleasant when using non-blocking communication when comparing the blocking C usage with the blocking Go execution and and comparing the non-blocking implementations with each other. Go programming language is used for developing massive systems that can speed up software code several times by properly converting sequential algorithms to competing ones, nevertheless MPI developers are not recommended to use it due to its complexity for implementation. As a result, there is currently almost no MPI implemented by Golang methods and techniques that would fully integrate exchange and computation
Keywords: message passing interface; parallel programming; go programming language; jacobi method