Магистр ДонНТУ Войтов Андрей Владимирович

Факультет вычислительной техники и информатики

Кафедра электронных вычислительных машин

Специальность: Системное программирование



Автореферат: Русский | Українська | English
Материалы по теме выпускной работы: Библиотека | Ссылки | Отчет о поиске | | Индивидуальный раздел

Автореферат магистерской работы по теме «Разработка параллельного MIMD-симулятора, 2 уровень распараллеливания»


Введение

Во многих современных отраслях науки и техники, при разработке технологий, в частности биотехнологий и технологий окружающей среды, значительную роль играет понятие сложных динамических систем (СДС). К СДС можно отнести автоматизированные технические объекты, технологические установки, линии и др. Таким образом, прогресс в этих отраслях зависит от уровня теории и практической реализации методов проектирования сложных динамических систем. В перечне факторов безусловного решения проблемы гарантирования новизны и качества проектных решений главное место занимают методы и средства моделирования динамических систем, которые могут использоваться на всех этапах проекта СДС - от формулировки технико-экономических требований, разработки ТЗ и системного проектирования до испытаний и начала опытной эксплуатации.

Актуальной проблемой современной вычислительной математики является разработка параллельных методов и алгоритмов для решателей СДС-уравнений.

Применение параллельных ресурсов открывает принципиально новые возможности построения моделей реальной сложности и модельной поддержки СДС-проектов, но нуждается в новой системной организации средств моделирования СДС. В последнее время формируются новые направления разработок и исследований - параллельное моделирование, территориально распределенное моделирование на базе GRID-технологий. Центральной проблемой параллельного моделирования сложных динамических систем является построение распределенных параллельных моделирующих сред (РПМС) универсального и специализированного назначения.

Анализ показывает, что параллельные системы SIMD- и MIMD-структур 90-х годов имели фирменные языки параллельного программирования, основанные на языках Fortran, C, C++, Modula-2 и др. С интенсивным развитием параллельных вычислительных систем MIMD-архитектуры и объектно-ориентированных подходов появилась необходимость в стандартизации средств параллельного и распределенного программирования. Так, ANSI и ISO определили С++-стандарты с библиотеками MPI, PVM и Pthreads. Необходимость строить параллельные модели динамических систем с сосредоточенными и распределенными параметрами вынуждает разработчиков работать на уровне имеющихся языков параллельного, последовательного программирования и их библиотек, а это означает, что программные средства построения параллельных моделей находятся на уровне систем моделирования не выше второго поколения. [2] Поэтому сейчас для полнофункциональной разработки моделирующего и симулирующего программного обеспечения РПМС является целесообразной и актуальной разработка языковых и системно-организационных средств, которые будут обеспечивать пользователя возможностями, которые превосходят системы и языки моделирования пятого поколения.

Состояние проблемы построения РПМС

Массивно параллельная SIMD-компонента РПМС была предложена в 1992р. Была разработана структура моделирующего программного обеспечения; исследованы параллельные алгоритмы моделирования ДСКП, ДСРП; разработана подсистема диалога, решен ряд тестовых задач, обобщен опыт параллельного моделирования на уровне языка программирования и сформулирована задача разработки SIMD-языка моделирования во взаимосвязи с построением подсистемы диалога и аспектами объектно-ориентированного подхода; построены библиотеки параллельного моделирования ДСКП, ДСРП.

Была экспериментально исследована проблемно ориентированная моделирующая SIMD-среда для сетевых динамических систем. Параллельные SIMD-модели были применены в горной отрасли и учебном процессе. Имплементация алгоритмов выполнена на SIMD-языке параллельного программирования Parallaxis, а экспериментальные исследования - на SIMD-системе MasPar (16К ПЕ). Результаты этих разработок опубликованы как доклады на симпозиумах ASIM'94, EUROSIM'95, ASIM'96-97. [2]

Разработка параллельного программного обеспечения для MIMD-систем происходила в двух направлениях - для моделирования динамических систем с сосредоточенными параметрами (ДСКП) и для моделирования динамических систем с распределенными параметрами (ДСРП).

MIMD-параллельное моделирующее программное обеспечение для ДСКП состоит из нескольких частей.

Взаимодействие с пользователем осуществляет подсистема диалога, которая состоит из системной и модельно-ориентированной частей, выполняющих функции презентации РПМС, построения моделей, моделирования, регистрации результатов моделирования, обучения пользователей и др.

В программном обеспечении используются MIMD-параллельные языки моделирования; среди них различают блочно-ориентированные, уравнение-ориентированные и объектно-ориентированные языки. Программа, написанная на одном из этих языков, превращается при помощи компилятора в программу целевой ЭВМ. Компилятор должен решать задачи генерации виртуальной модели загрузки процессоров, построения графов процессов, девиртуализации моделей загрузки процессоров, генерации кодов программ процессов, распределения процессоров между процессами и балансирования загрузки процессоров.

Для работы системы также необходима библиотека, которая содержит:

  • средства поддержки языков моделирования (блоки для блочно-ориентированных языков, операторы для уравнение-ориентированных и объекты для объектно-ориентированных);
  • параллельные численные методы решения алгебраических и дифференциальных уравнений;
  • программы визуализации;
  • вспомогательные программы.

Параллельное моделирующее программное обеспечение для ДСРП является более сложным. В этом программном обеспечении используются уравнение-ориентированные языки спецификации ДСРП, которые способны описывать уравнения ДСРП разных типов, топологию системы, краевые и начальные условия и др. Процесс построения ДСРП-модели включает в себя анализ топологии системы, генерацию разностных уравнений методом аппроксимации, генерацию виртуальной модели, построение графа процессов, балансирование загрузки процессоров на основе статического планирования вычислений, генерацию кодов программ и распределение процессов между процессорами. После построения модели происходит ее отладка и реализация на MIMD-ресурсах.

Библиотека, которая используется в программном обеспечении для ДСРП, включает в себя все средства, которые содержит библиотека ДСКП, подсистему визуализации и вспомогательные программы, специфические для ДСРП, и средства для поддержки разных типов ДСРП:

  • параболических;
  • гиперболических;
  • эллиптических;
  • специальных, отличных от вышеприведенных. [2]

Разработка параллельного MIMD-симулятора для СДОРП

Основные используемые понятия:

  • математическая модель - формальное описание объекта исследований;
  • симмодель - модель в форме, пригодной к применению средств численного решения уравнений;
  • симулятор - аппаратно-программная реализация симмодели;
  • моделирование и параллельное моделирование - все виды разработок и исследований, направленные на построение и обоснование последовательных и параллельных симуляторов;
  • исследование ДСРП с применением симуляторов будем называть модельными экспериментами или моделированием.[2]

Разработка параллельного MIMD-симулятора для СДОРП начинается со структурного анализа СДС как объекта исследования и моделирования. Этот анализ включает в себя анализ физических процессов, протекающих в объекте, топологический анализ объекта и т.п.

Следующий этап разработки - построение математической модели, включающей в себя топологию объекта и систему алгебраических и дифференциальных уравнений. Для сложных ДСКП и ДСРП процесс генерации системы уравнений автоматизирован.

Математическая модель СДОРП

Математическую модель сложного динамического объекта с распределенными параметрами можно представить в виде совокупности графа объекта и системы дифференциальных уравнений, описывающих каждую ветвь этого графа. Например, если рассматривать модель, описывающую аэродинамические процессы в вентиляционной системе шахты, система уравнений будет иметь следующий вид:

Математическая модель СДОРП(1)

где:
  • P(x,t) - давление в і-й ветви системы;
  • Q(x,t) - расход воздуха в і-й ветви системы;
  • r - удельное аэродинамическое сопротивление;
  • r' - регулируемое удельное аэродинамическое сопротивление;
  • x - пространственная координата;
  • F - площадь поперечного сечения выработки;
  • а - скорость звука в воздухе;
  • p - плотность воздуха. [1]

В общем виде система дифференциальных уравнений в частных производных для всей системы будет иметь вид:

Cистема дифференциальных уравнений в частных производных(2)

Анимация 1. Математическая модель сетевого динамического объекта с распределенными параметрами (gif-анимация, 6 слайдов)

где n - общее количество ветвей в системе.

Симмодель СДОРП

Разработка симмодели СДОРП происходит посредством аппроксимации системы уравнений в частных производных системой обычных дифференциальных уравнений на основе метода прямых. Сущность метода заключается в том, что каждая ветвь объекта представляется в виде прямой, разделенной на части длиной dx, как показано на рис.1:

Аппроксимация методом прямых

Рисунок 1 - Представление одной ветви объекта при аппроксимации методом прямых

Приводя вышеуказанную математическую модель к виду, пригодному для применения численных методов решения уравнений, получаем систему вида:

Математическая модель после аппроксимации(3)

В общем виде система дифференциальных уравнений в обычных производных для одной ветви системы будет иметь вид:

Система дифференциальных уравнений в обычных производных для одной ветви системы(4)

Априорный анализ виртуальной параллельной модели второго уровня распараллеливания

На втором уровне распараллеливания один элемент ветви (2 уравнения) соответствует одному процессу. Соотношение «один элемент ветви – один процесс» означает, что система уравнений для k-ого элемента (1 <= k <= n) ветви решается в соответствующем k-ом MIMD-процессе. Виртуальная параллельная модель для одной ветви показана на рис.2:

Виртуальная параллельная модель

Рисунок 2 - Виртуальная параллельная модель для одной ветви

Из рисунка следует, что k-ый процесс ветви (QP)k выполняет такие вспомогательные операции:

  • ввод P(k) из соседнего (k–1)-ого процесса;
  • ввод Q(k+1) из соседнего (k+1)-ого процесса;
  • посылка Q(k) соседнему (k–1)-ому процессу;
  • посылка P(k+1) соседнему (k+1)-ому процессу.

Таким образом, на каждом шаге цикла в каждом процессе должно выполняться по 4 операции обмена.

Виртуальная параллельная модель 2 уровня требует для СДОРП следующее количество виртуальных процессов:

Количество виртуальных процессов для виртуальной параллельной модели 2 уровня(5)

При известном количестве процессоров N имеем возможный шаг:

Минимальный возможный шаг для виртуальной параллельной модели 2 уровня(6)

Заключение

Существует много отраслей практического применения РПМС. К таким отраслям можно отнести моделирование шахтных вентиляционных сетей и систем управления ими, моделирования химических технологических процессов, моделирования топливных элементов и установок, и другие.

Для разработки симуляторов РПМС можно применять гибридные модели параллельного программирования (MPI+OpenMP); для решения этой задачи также могут быть привлечены географически распределенные вычислительные структуры - GRID-системы, что сыграет значительную роль в международном сотрудничестве.

Список литературы

  1. Svjatnyj V.A.: Virtuelle parallele Simulationsmodelle und Devirtualisierungsvorgang der Entwicklung von parallelen Simulatoren fur dynamische Netzobjekte mit verteilten Parametern / V.A.Svjatnyj.
  2. Святний В.А. Стан та перспективи розробок паралельних моделюючих середовищ для складних динамічних систем з розподіленими та зосередженими параметрами / В.А.Святний, О.В.Молдованова, А.М.Чут.
  3. Абрамов Ф.А. Моделирование динамических процессов рудничной аэрологии / Ф.А.Абрамов, Л.П.Фельдман, В.А.Святный. - К.: Наук. думка, 1981.
  4. Корнеев В.В. Параллельные вычислительные системы / В.В.Корнеев. - С. Пб.: "Нолидж", 1999.
  5. Святний В.А. Проблемно орієнтоване паралельне моделююче середовище для динамічних мережних об’єктів / В.А.Святний, О.В.Молдованова, А.О.Перерва. // Наукові праці ДонДТУ, серія «Інформатiка, кибернетика та обчислювальна технiка», вип. 29. – Донецьк, 2001.
  6. Гусєва Г.Б. MIMD-паралельний вирішувач рівнянь для мережного динамічного об’єкту з розподіленими параметрами / Г.Б.Гусєва, О.В.Молдованова. // Проблемы моделирования и автоматизации проектирования динамических систем: Сб. научн. тр. ДонНТУ, вып.6, Донецк, 2007.
  7. Масюк А.Л. Підсистема діалогу паралельного моделюючого середовища, орієнтованого на шахтні вентиляційні мережі / А.Л.Масюк. // Наукові праці ДонНТУ. Випуск 70. Серія ІКОТ: - Донецьк: ДонНТУ, 2003.
  8. Фельдман Л.П. Чисельні методи в інформатиці / Л.П.Фельдман, А.І.Петренко, О.А.Дмитрієва. К.:Видавнича група ВНV, 2006.
  9. PARALLEL.RU - Информационно-аналитический центр по параллельным вычислениям [Электронный ресурс]. http://parallel.ru/
  10. MPI Documents [Электронный ресурс]. http://www.mpi-forum.org/docs/

Автореферат: Русский | Українська | English
Материалы по теме выпускной работы: Библиотека | Ссылки | Отчет о поиске | | Индивидуальный раздел