Одним из ключевых аспектов разработки программного комплекса FlowVision является реализация технологии параллельных вычислений - процесса вычислений на нескольких различных расчетных узлах (компьютеры, процессоры, ядра).
Технология параллельных вычислений позволяет добиться двух основных целей:
- увеличить общий объем доступной физической памяти за счет суммирования физической памяти всех привлекаемых расчетных узлов
- ускорить процесс выполнения расчета.
В случае наличия узлов с раздельной памятью распараллеливание осуществляется методом декомпозиции расчетной области на количество подобластей, равного количеству отдельных расчетных узлов в составе кластера.
Для связывания узлов между собой применяется, хорошо зарекомендовавшая себя, библиотека межпроцессорной коммуникации MPI (Messing Passage Interface).
Декомпозиция расчетной области на партиции осуществляется пакетом METIS, в случае наличия сетки большой размерности, применяется пакет для распараллеливания процесса декомпозиции области ParMETIS.
Рис.1 Декомпозиция приповерхностных ячеек на 16 процессоров для задач о судне и о двух автомобилях
Для узлов с общей памятью (многопроцессорная платформа или многоядерный процессор) применяется нитевая технология программирования с потокобезопасными операциями,
где на каждый узел выделяется «партиция» (кусок расчетной сетки, выделяемый на ядро или процессор), которая силами библиотек OpenMP разбивается на отдельные нити, которые обрабатываются отдельным процессором или ядром.
Поддерживается гомогенная (MPI only) и гетерогенная (MPI+OpenMP) организация параллельных вычислений.
Процессу распараллеливания подвергнуты все этапы расчетного цикла – построение расчетной сетки, декомпозиция расчетной области, итерационный алгебраический решатель и обработка результатов расчета.
Рис.2 Ускорение решателя FlowVision в зависимости от количества процессоров
Результаты сравнения различных методов распараллеливания вычислений во FlowVision (июнь-июль 2009г.), pdf: 593КБ
С 2007 года компания ТЕСИС совместно с НИВЦ МГУ является участником федеральной программы по созданию национальной терафлопной параллельной расчетной системы.
В рамках программы команда разработчиков адаптирует программный комплекс FlowVision для осуществления масштабных вычислений на самой современной технике.
В качестве аппаратной платформы используется суперкомпьютер СКИФ НИВЦ МГУ
(пиковая производительность 60 TFlop/s, процессор Intel Xeon E5472 3.0 ГГц, число процессоров/ядер - 1250/5000).
Рис.3 Кластер СКИФ НИВЦ МГУ
В тесном сотрудничестве с специалистами НИВЦ МГУ (под руководством член-корр.РАН, доктора физ.мат.наук Вл.В.Воеводина) осуществляется оптимизация программно-аппаратного комплекса СКИФ-FlowVision
с целью повышению эффективности параллельных вычислений.
В июне 2008 года были осуществлены первые практические расчеты на 256 расчетных узлах в параллельном режиме.
- Дополнительная информация о технологии параллельных вычислений в программе FlowVision и полученных результатах:
- Тестирование FlowVision на процессорах AMD Barcelona (июль, 2008), pdf: 820КБ
- Параллельная реализация программного комплекса FlowVision, pdf: 220КБ
|