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