Трехуровневый MPI+NUMA+Threads метод построения параллельных программ для расчета задач гидродинамического моделирования на кластерных системах с узлами с неоднородным доступом к памяти

Авторы

  • К.Ю. Богачев
  • Я.В. Жабицкий
  • А.А. Климовский
  • А.Р. Миргасимов
  • А.Е. Семенко

Ключевые слова:

высокопроизводительные вычисления
гибридные MPI-многопоточные программы
NUMA-системы
балансировка загруженности
задача фильтрации

Аннотация

Рассматривается параллельная реализация программы решения задачи трехфазной фильтрации вязкой сжимаемой жидкости на кластерных системах с распределенной памятью, узлы которых имеют разное время доступа процессоров к различным участкам своей памяти. Традиционным подходом построения параллельных программ на кластерных системах с распределенной памятью является использование библиотеки MPI. В силу специфики решаемой задачи приходится иметь дело с неструктурированной расчетной сеткой и моделированием динамически меняющегося набора скважин, проходящих через значительное число блоков сетки. Это вносит ряд проблем при использовании традиционного подхода: дисбаланс загруженности вычислительных узлов, увеличение объема пересылок между MPI-процессами, увеличение используемого объема оперативной памяти и др. Предлагается трехуровневый MPI+NUMA+Threads-метод построения параллельной программы, целью которого является решение указанных проблем. В основе метода лежит идея переноса архитектуры узла кластера (многоядерность и неоднородный доступ к общей памяти узла) на архитектуру параллельной программы. Выполнено сравнение программ, реализованных с использованием предложенного метода и традиционного подхода, с точки зрения скорости работы и объема используемой оперативной памяти. Приведены результаты численных экспериментов на большом количестве реальных задач.


Загрузки

Опубликован

2013-09-10

Выпуск

Раздел

Раздел 1. Вычислительные методы и приложения

Авторы

К.Ю. Богачев

Я.В. Жабицкий

А.А. Климовский

А.Р. Миргасимов

А.Е. Семенко


Библиографические ссылки

  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/).