A three-level MPI+NUMA+Threads method for constructing parallel programs to solve hydrodynamic problems for cluster systems with multiprocessor NUMA nodes

Authors

  • K.Yu. Bogachev
  • Ya.V. Zhabitskiy
  • A.A. Klimovsky
  • A.R. Mirgasimov
  • A.E. Semenko

Keywords:

high-performance computing
hybrid MPI-threaded programs
NUMA systems
load balancing
filtration problem

Abstract

A parallel implementation of the program solving the three-phase filtration problem for a viscous compressible fluid to run on cluster systems with distributed memory with multiprocessor NUMA nodes is discussed. The traditional approach of constructing parallel programs to run on clusters with distributed memory uses the MPI library. Due to the specificity of the problem, we have to deal with unstructured computational grids and with the necessity of modeling dynamically changing sets of wells passing through a large number of grid blocks. This fact introduces a number of difficulties when using the traditional approach: a disbalance in loading the computing nodes, an increased transfer between MPI processes, and an increased amount of memory in use. It is proposed a three-level MPI + NUMA + Threads method of constructing a parallel program whose purpose is to eliminate the above difficulties. The method implements the idea of projecting the cluster node architecture (multi-core and nonuniform memory access nodes) onto the architecture of the parallel program. A comparison of programs implemented by using the proposed method and the traditional approach in terms of speed and memory usage and some results of numerical experiments performed on a large number of real problems is analyzed.


Published

2013-09-10

Issue

Section

Section 1. Numerical methods and applications

Author Biographies

K.Yu. Bogachev

Ya.V. Zhabitskiy

A.A. Klimovsky

A.R. Mirgasimov

A.E. Semenko


References

  1. TOP500 Supercomputer Sites (http://top500.org).
  2. Chen Z., Huan G., Ma Y. Computational methods for multiphase flows in porous media. Philadelphia: SIAM, 2006.
  3. Saad Y. Iterative methods for sparse linear systems. Philadelphia: SIAM, 2003.
  4. Богачев К.Ю., Жабицкий Я.В. Блочные предобусловливатели класса ILU для задач фильтрации многокомпонентной смеси в пористой среде // Вестн. Моск. ун-та. Сер. 1. Матем. Механ. 2009. № 5. 19-25.
  5. Богачев К.Ю., Жабицкий Я.В. Метод Капорина-Коньшина параллельной реализации блочных предобусловливателей для несимметричных матриц в задачах фильтрации многокомпонентной смеси в пористой среде // Вестн. Моск. ун-та. Сер. 1. Матем. Механ. 2010. № 1. 46-52.
  6. Богачев К.Ю., Миргасимов А.Р. Об оптимизации вычислительных приложений для многопроцессорных систем с общей неоднородной памятью // Вычислительные методы и программирование. 2010. 11, раздел 1. 193-197 (https://num-meth.rcc.msu.ru/).
  7. Богачев К.Ю., Климовский А.А., Миргасимов А.Р., Семенко А.Е. Балансировка загруженности узлов кластера при расчете задачи фильтрации // Вычислительные методы и программирование. 2011. 12, раздел 1. 70-73 (https://num-meth.rcc.msu.ru/).
  8. Богачев К.Ю., Жабицкий Я.В., Климовский А.А., Миргасимов А.Р., Семенко А.Е. Сравнение итерационных методов решения разреженных систем линейных уравнений в задачах фильтрации на вычислительных системах с распределенной памятью // Вычислительные методы и программирование. 2011. 12, раздел 1. 74-76 (https://num-meth.rcc.msu.ru/).