Release:
2021. Vol. 7. № 3 (27)About the authors:
Natalia M. Gavrilova, Cand. Sci. (Phys.-Math.), Associate Professor, Department of Software, University of Tyumen; n.m.gavrilova@utmn.ru; ORCID: 0000-0002-8697-5639Abstract:
One of the most important ways of improving the speed of complex task solving is employing a multiprocessor computational system.
This paper describes the experience of software development for research management and solving educational problems using parallel computing technologies.
The authors describe approaches to computation parallelization using a multiprocessor system with shared memory within a task of finding a numerical root of a system of linear equations with a tridiagonal coefficient matrix that appears when solving a boundary problem for a partial differential equation of parabolic type, the heat equation.
Additionally, the approaches to parallelization implementation of the tridiagonal matrix method for the heat equation in the two-dimensional case within a numerical root-finding algorithm using the alternating-direction implicit method for a multiprocessor system with shared memory are described.
A finite-difference method of variable directions is used to find a numerical root of a heat equation in the two-dimensional case.
Sequential and parallel algorithms (two-sided Thomas algorithm and multithread horizontal block Thomas algorithm) that fit an execution on computational systems with shared memory have been used to implement a tridiagonal matrix method.
Two parallel computation organization technologies for computational systems with shared memory have been used for computation parallelization: one based on OpenMP technology and one using .NET framework facilities. The parallelization process and load balance serving have been performed by means of the environment in the first case as manual operation of threads parallelization process is allowed in the latter one.
As an assessment of the described approach performance, the calculation time for sequential and parallel algorithms is given depending on the task’s size and the number of threads used.
Comparison of the considered parallelization algorithms and implementation technologies is performed based on the analysis of the resulting acceleration. This paper shows that total computation time is several times smaller and calculation acceleration is several times bigger when using Thread instead of OpenMP.
An application has been developed that allows obtaining a visual result of modelling of process of temperature propagation in the study area using parallel calculation technologies in real time.
Keywords:
References:
Gergel V. P. 2012. Modern Languages and Technologies of Parallel Programming. Moscow: MSU Publishing. 408 pp. [In Russian]
Zaruchevskaya G. V. 2008. “Implementation of the solution of difference scheme of a two-dimensional heat conduction equation splitting with fine-grained local parallel programming style”. Izvestia Volgogradskogo gosudarstvennogo tekhnicheskogo universiteta, no. 2 (40), pp. 16-19. [In Russian]
Barkalov K. 2011. “Educational complex ‘Parallel Numerical Methods’. Lecture materials”. Lobachevsky State University of Nizhny Novgorod. Accessed 18 January 2021. http://www.hpcc.unn.ru/?doc=491 [In Russian]
Samarsky A. A. 1989. Theory of Difference Schemes. Moscow: Nauka. 616 pp. [In Russian]
Stupnikov A. A., Gavrilova N. M. 2020. “Development of intellectual software to train students to computate parallelly”. International Research Journal, no. 5 (95), part 3, pp. 92-96. DOI: 10.23670/IRJ.2020.95.5.100 [In Russian]
Fedorov A. A, Bykov A. N. 2016. “A method of two-level parallelization of the Thomas algorithm for solving tridiagonal linear systems on hybrid computers with multicore coprocessors”. Numerical Methods and Programming, vol. 17, no. 3, pp. 234-244. [In Russian]
Yanenko N. N., Konovalov A. N., Bugrov A. N., Shustov G. V. 1978. “On the organization of parallel computations and “parallelization” of the run”. Chislennye metody mekhaniki sploshnoy sredy, vol. 9, no. 7, pp. 139-146. [In Russian]