Введение
Моделирование сложных динамических систем (СДС) приобретает всё большую актуальность в отраслях техники, технологий, биотехнологий. (Под СДС принято называть объекты техники и технологий, в которых происходят процессы смены состояния на протяжении определённого времени). Теория динамических систем способствует объединению различных областей при комплексном решении технических и технологических проблем [1]. Для реализации моделей СДС, из-за их сложности, применяются многопроцессорные системы. При этом нужно заметить, что вся потенциальная вычислительная мощность такой системы используется не полностью. Для достижения большей продуктивности системы разработчики параллельного программного обеспечения решают проблему распараллеливания программ.
С позиции моделирования динамические системы разделяются на системы с распределёнными параметрами (ДСРП) и сосредоточенными параметрами (ДССП). При параллельном моделировании сетевых динамических объектов с распределёнными параметрами (СДОРП) решаются системы с большим количеством уравнений (это сотни тысяч, а то и миллионы уравнений).
После описания объекта в дифференциальных уравнениях, возникает необходимость реализации данного математического описания на целевой многопроцессорной компьютерной системе для моделирования поведения объекта. При этом одной из проблем является балансировка нагрузки многопроцессорной системы. Т.е. проблема равномерного распределения загрузки по процессам.
Этапы девиртуализации
Одним из этапов моделирования СДС является разработка параллельного решателя уравнений. В свою очередь разработку параллельного решателя СДС с распределёнными параметрами предлагается проводить в соответствии с этапами и процессами разработки, представленными на рис. 1. Исходной точкой является детализированное представление параллельной виртуальной модели. Дальнейшие шаги рассматриваются как процесс девиртуализации.
Рис 1 - Разработка параллельного симулятора для ДСРП (анимация 12 кадров, 10 повторений).
Подходы к распараллеливанию
Для СДОРП на примере шахтной вентиляционной сети предлагаются следующие уровни распараллеливания:
первый уровень – уровень процессов минимальной зернистости виртуальной параллельной модели (Virtual parallel Simulation Model). Для данного уровня характерно следующее соотношение: одно уравнение – один процесс.
второй уровень: каждому k-му элементу дискретизированной ветви ставиться в соответствие один процесс.
третий уровень – «одна ветвь – один процесс»
четвертый уровень – декомпозиция графа СДО на подграфы.
В данной магистерской работе исследуется четвёртый уровень распараллеливания – декомпозиция графа на подграфы.
Априорный анализ
При рассматриваемом уровне распараллеливания граф сетевого объекта разбивается на n подграфов, которые слабо связаны между собой. Слабая связь подграфов обеспечивает менее интенсивный обмен между процессами. Это уменьшает количество операций обмена между процессами, что способствует более быстрому решению системы дифференциальных уравнений. Количество процессов зависит от числа подграфов, на которые разбивается СДОРП.
Если рассматривать соотношение «1 процесс – 1 процессор» при отображении на целевую параллельную систему, то оно является наиболее реальным. Данный уровень распараллеливания требует меньшего количества процессоров MIMD–системы, чем другие. Поэтому может применятся, когда количество процессоров ЦВС невелико либо СДОРП достаточно сложен.
Декомпозиция на фрагменты
При декомпозиции графа на фрагменты применим комбинированный подход, содержащий в себе технологический и формальный этапы.
В технологическом этапе исходный граф делится на подграфы с учётом иерархии ШВС, по следующим принципам:
- по принципу «крыльев» - исходный граф ШВС делится на подграфы по числу вентиляторов главного проветривания;
- граф ШВС делится на фрагменты, которые являются рабочими горизонтами. Полученные фрагменты связываются вертикальными или наклонными стволами;
- схемы проветривания выемочных участков (СПВУ); с учётом аппроксимации выработанных пространств СПВУ всех типов являются «минисетями» с числом ветвей в пределах 50 и подключаются двумя или тремя узлами к общей сети;
- участковые и групповые регуляторы расходов воздуха; это будут самые маленькие фрагменты по количеству уравнений в этой иерархии.
Формальный этап с применением известных методов разделения графов на подграфы может применяться для выделенных на первом этапе частей. Здесь может иметь место «пересечение уровней иерархии», т.е., применение, например, к крыльям, в которых уже выделены горизонты и СПВУ. Для небольших графов время выполнения разделения может даже доминировать в полном времени решения задачи. Поэтому при таком подходе к распараллеливанию целесообразно производить разделение графа на стадии топологического анализа.
Дальнейшее направление работы
На данный момент магистерская работа является в стадии разработки, поэтому не представляется возможным предоставить детально результаты исследования. В дальнейшем планируется проанализировать загрузку виртуальных процессов на примере ШВС; выбрать численный метод решения; разработать виртуальный параллельный алгоритм решения, распараллеливания численного метода; выполнить имплементацию ВДМ в среде целевой вычислительной системы, провести тестовую отладку параллельных решателей, провести исследование эффективности применения процесса виртуализации и девиртуализации.
Литература
- Святный В.А. Паралельне моделювання складних динамічних систем.
- Абрамов Ф.А., Фельдман Л.П., Святный В.А. Моделирование динамических процессов рудничной аэрологии.К.:Наук.думка, 1981.–284с.
- Святный В.А., Молдованова О.В., Перерва Л.О. Проблемно орієнтоване паралельне моделююче середовище для динамічних мережних обє’ктів. Наукові праці ДонДТУ, серія «ІКОТ», вип. 29, 2001, с 246-253.
- MPI 2.0 Standard www.mpi-forum.org/docs