260 likes | 353 Views
Заседание диссертационного совета К 002.058.01 при ИММ РАН 17 февраля 200 5.
E N D
Заседаниедиссертационного совета К 002.058.01 при ИММ РАН 17 февраля 2005 Рычков В.Н.Параллельная распределенная объектно-ориентированная вычислительная средадля конечно-элементного анализадиссертационная работа на соискание ученой степеникандидата физико-математических наукСпециальность05.13.18 – Математическое моделирование,численные методы и комплексы программ
Введение • Требования к прикладному программному обеспечению: • возможность быстрой и надежной реализации сложных математических моделей (гибкость) • максимальное использование вычислительных ресурсов (производительность) • обеспечение взаимодействия между существующими и новыми элементами аппаратных и программных средств (платформонезависимость) • Комплекс программ для конечно-элементного анализа – возможные решения: • применение объектно-ориентированного и компонентного программирования(структурирование большого объема кода, программирование в терминах предметной области, повторное использование кода) • параллельная распределенная реализация метода декомпозиции области, основанного на конечно-элементной аппроксимации (отображение проблем вычислительной математики на многопроцессорные системы) • использование промежуточного программного обеспечения (переносимость прикладных программ на различные аппаратно-программные платформы, в том числе гетерогенные) • Промежуточное программное обеспечение параллельных распределенных вычислений: • MPI (Message Passing Interface) – интерфейс обмена сообщениями • запуск параллельных процессов на узлах вычислительной системы • организация обмена сообщениями между ними • CORBA (Common Object Request Broker Architecture) – архитектура брокера объектных запросов • запуск объектно-ориентированных приложений на узлах вычислительной системы • организация взаимодействий между ними
Введение • Методы разработки комплексов программ для математического моделирования • О.Б. Арушанян (НИВЦ МГУ), Н.Г. Буньков (ЦАГИ), В.А. Семенов (ИСП РАН) и др. • Прикладные программные системы для вычислительной физики и математики с применением многопроцессорных ЭВМ • ИАП РАН (О.М. Белоцерковский и др.), ИММ РАН (Б.Н. Четверушкин и др.), ИПМ им. Келдыша (А.В. Забродин и др.), НГУ (В.Э. Малышкин и др.), ИТПМ СО РАН (Г.А. Тарнавский и др.), ИММ УрО РАН, ВЦ РАН и др. • Специализированные высокопроизводительные расчетные пакеты программ • PMPL (ВНИИЭФ и Mississippi State University), PETSc (Argonne National Laboratory), LAPACK (Oak Ridge National Laboratory) и др. • Математические основы параллельного программирования, отображение проблем вычислительной математики на архитектуру вычислительных систем • ИВМ РАН (В.В. Воеводин и др.) • Языки, технологии и промежуточное программное обеспечение для параллельных распределенных вычислений • НИВЦ МГУ (Вл. В. Воеводин и др.), ИСП РАН (В.П. Иванников, С.С. Гайсарян, А.Л. Ластовецкий, А.И. Аветисян и др.), ИПМ им. Келдыша (Н.А. Коновалов, В.А. Крюков и др.) • MPI (Message Passing Interface – интерфейс обмена сообщениями) • Mississippi State University (A. Skjellum и др.), Argonne National Laboratory (W. Gropp, E. Lusk и др.), University of Tennessee (J.J. Dongarra и др.), University of Illinois (L.V. Kale и др.) • Программные системы: LAM, MPICH, MPICH-G и др. • CORBA (Common Object Request Broker Architecture – общая архитектура брокера объектных запросов) • Международный консорциум OMG • Повышение производительности CORBA: Washington University (D.C. Schmidt и др.) • Совместное использование технологий CORBA и MPI: IRISA/INRIA (C. Pérez, T. Priol и др.) • Программные системы: Orbix, VisiBroker, omniORB, MICO, TAO и др.
Цель и задачи работы • Цель работы. Разработка комплекса программ для численного моделирования методом конечных элементов, обеспечивающего • гибкие средства разработки, • высокую производительность вычислений, • независимость от аппаратно-программных платформ. • Задачи работы. • Разработка обобщенной объектно-ориентированной модели метода конечных элементов и метода декомпозиции области, обеспечение возможностей модификации и расширения. • Анализ технологий параллельных распределенных вычислений MPI и CORBA. Сравнение производительности различных видов промежуточного программного обеспечения MPI и CORBA, определение уровня независимости от аппаратно-программных платформ. Исследование методов разработки параллельных распределенных объектно-ориентированных программ на промежуточном программном обеспечении MPI и CORBA. • Создание технологии построения параллельных распределенных объектно-ориентированных моделей на основе обычных объектно-ориентированных моделей и промежуточного программного обеспечения CORBA. Разработка параллельной распределенной объектно-ориентированной вычислительной среды для конечно-элементного анализа. • Исследование возможностей совместного использования промежуточного программного обеспечения CORBA и MPI. Интеграция MPI пакетов линейной алгебры в вычислительную среду для конечно-элементного анализа. • Проведение численных исследований напряженно-деформированного состояния трехмерных тел методом подструктур на многопроцессорных вычислительных системах.
Метод конечных элементов • Основные шаги метода конечных элементов • Построение конечно-элементной сеткис заданными физическими параметрамии граничными условиями • Установка соответствия междуузловыми степенями свободыи номерами уравнений системы • Формирование системы уравненийс учетом вкладов от элементов и узловв соответствии со схемой сборки системы • Введение граничных условийв систему уравнений • Решение системы уравнений • Обновление узловых степеней свободыв соответствии с полученным решением • Определение расчетных параметров в элементах • Объектно-ориентированная модель метода конечных элементов • Расчетная модель • Численная модель • Модель решения
Объектно-ориентированная модельметода конечных элементов Расчетная модель Модель решения Численная модель
Метод декомпозиции области,основанный на конечно-элементной аппроксимации • Основные типы методов декомпозиции области • Методы подструктур • на непересекающихся подобластях • Методы Шварца • на пересекающихся и непересекающихся областях • Основные шаги метода декомпозиции области • Построение и разделение конечно-элементной сетки с заданными физическими параметрами и граничными условиями • Установка соответствия между узловыми степенями свободы и номерами уравнений в локальных и в глобальной системах уравнений • Формирование локальных (и глобальной) систем уравнений с учетом вкладов от элементов и узлов в соответствии со схемой сборки системы • Введение граничных условий • Решение системы уравнений, независимое выполнение матрично-векторных операций на подобластях • Обновление узловых характеристик в соответствии с полученным решением • Определение расчетных параметров в элементах
Объектно-ориентированная модельметода подструктур Область Подобласть Расчетная модель Расчетная модель Модель решения Модель решения Численная модель Численная модель
Эффективность программной декомпозицииметода подструктур • Увеличение числа подобластейn • Память • увеличение дополнения Шура • уменьшение матриц подобластей • Время • замедление решения общей системы • ускорение вычислений в подобластях n=16 n=24 n=32 n=48
Исследование производительности MPI и CORBA • omniORB и MPICH на Myrinet и SCI – IRISA/INRIA, Франция • TAO и MPICH на Gigabit и Ethernet – кластер Paraclete, ИПМ УрО РАН
Построение параллельной распределеннойобъектно-ориентированной модели • Параллельная распределенная объектно-ориентированная модель должна: • максимально использовать код исходной объектно-ориентированной модели, • обладать гибкостью, не меньшей, чем исходная. • Основные этапы построения: • Описание объектов на CORBA IDL • Соединение объектов исходной модели с объектами инфраструктуры CORBA для построения распределенной объектно-ориентированной модели • Построение параллельной объектно-ориентированной модели на основе распределенной модели и асинхронного вызова методов AMI (программное обеспечение TAO) • Интеграция c MPI (программное обеспечение MPICH)
IDL описание распределенной модели
Реализация параллельной распределенной модели Структура классов, обеспечивающих синхронный/асинхронный удаленный вызов методов Параллельная распределенная модель подобласти
Процессор 0 Процессор 1 Процессор 2 Удаленный вызов метода подобласти Удаленный вызов Цикл Удаленный вызов
Процессор 0 Процессор 1 Процессор 2 Асинхронный вызов метода подобласти Цикл – вызов Асинхронный вызов Параллельное выполнение Ожидание обратного вызова Цикл – ожидание
Параллельная распределенная модельметода подструктур Область Подобласть Расчетная модель Расчетная модель Модель решения Модель решения Численная модель Численная модель
Интеграция MPI приложений • Инициализация промежуточного ПО • инициализация MPI в рамках CORBA • инициализация CORBA в рамках MPI • Работа с объектами CORBA • набор клиентов • набор серверов • Обмен сообщениями посредством MPI • обычный MPI код для набора клиентов • MPI код внутри методов объектов CORBA + асинхронный вызов этих методов
Интеграция MPI пакета PETSc Процессор 0 Объектные ссылки CORBA Обработчики обратного вызова Коммуникации CORBA Процессор N Процессор2 Процессор 1 Объекты CORBAс кодом MPI Коммуникации MPI
Вычислительная схемапараллельного метода подструктур
Эффективность параллельных вычислений Масштабируемость программного обеспечения метода подструктур
Эффективность параллельных вычисленийпрямым и итерационным методами подструктур
Распределение вычислительной нагрузкимежду процессорамив методе подструктур 15164 узлов, 75177 элементов, 14 подобластей
Вычислительные затраты метода подструктурдля больших неструктурированных сеток 1 управляющий узел, 23 вычислительных узла Задача 1: 249555 узлов, 836432 элементов Задача 2: 421505 узлов, 1415824 элементов →
ограниченность в применении Математическая модель Дифференциальное уравнение в частных производных Метод конечных элементов Система линейных алгебраических уравнений Модель вычислений Алгоритм Параллельные распределенные вычисления Архитектура вычислительной системы гибкость и эффективность Физическая модель Основные результаты работы • Предложена новая методика построения комплекса программ для численного моделирования методом конечных элементов, основанная на объектно-ориентированном анализе и промежуточном программном обеспечении CORBA, MPI. • Разработана трехуровневая объектно-ориентированная модель метода конечных элементов и модель метода декомпозиции области. • Проведен анализ технологий параллельных распределенных вычислений MPI и CORBA. Создана технология параллельных распределенных компонентов, которая обеспечивает возможность распределения и распараллеливания объектно-ориентированных моделей с использованием промежуточного программного обеспечения CORBA, MPI.
ограниченность в применении Математическая модель Дифференциальное уравнение в частных производных Метод конечных элементов Система линейных алгебраических уравнений Модель вычислений Алгоритм Параллельные распределенные вычисления Архитектура вычислительной системы гибкость и эффективность Физическая модель Основные результаты работы • Разработана параллельная распределенная объектно-ориентированная модель метода декомпозиции области. Реализованы исполняемые модули, описывающие процессы вычислений в подобластях и в области. Создана вычислительная среда для конечно-элементного анализа, которая обеспечивает механизмы разработки, реализации и запуска прикладных расчетных программ. • С помощью вычислительной среды разработана параллельная распределенная модель метода подструктур, включающая прямые и итерационные схемы решения системы с дополнением Шура. Проведены численные исследования для реальных и модельных задач, которые показали высокую эффективность распараллеливания и масштабируемость программного обеспечения.