Е С Бондарева - Задача управления численным решением параллельных моделей технологических объектов с использованием диспетчеризации - страница 1

Страницы:
1 

УДК 519.673

Е. С. Бондарева (канд. техн. наук, ассист.) Донецкий национальный технический университет kbondareva@gmail.com

ЗАДАЧА УПРАВЛЕНИЯ ЧИСЛЕННЫМ РЕШЕНИЕМ ПАРАЛЛЕЛЬНЫХ МОДЕЛЕЙ ТЕХНОЛОГИЧЕСКИХ ОБЪЕКТОВ С ИСПОЛЬЗОВАНИЕМ ДИСПЕТЧЕРИЗАЦИИ

ПРОЦЕССОВ

Рассмотрена задача синхронизации процессов во время численного решения параллельной модели технологического объекта при MPMD-схеме вычислений. Предложена организация взаимодействия компонентов параллельной модели технологических процессов.

MPMD-модель, технологический процесс, параллельная модель, MPI

Введение

В SPMD-моделях программирования (Single Program - Multiple Data) синхронизация отдельных процессов достигается за счет общего программного кода и соответственно обмен данными происходит одновременно во всех компонентах. При выборе MPMD-модели программирования (Multiple Program - Multiple Data) в вычислительном процессе наряду с распараллеливанием по процессам необходимо распараллеливание по данным, так как различные потоки команд управляют различными потоками данных [1,2]. Здесь следует использовать другие механизмы, чтобы обеспечить выполнение процессорами своих заданий в правильном порядке с корректными данными.

Исследования и разработки в этой области связаны с задачами синхронизации распределенных компонент параллельной модели в едином модельном времени.

В данной статье рассматриваются вопросы решения и имплементации задачи управления численным решением параллельных моделей технологических объектов.

Диспетчеризация процессов

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

© Е.С.Бондарева, 2009своих собственных программ и взаимодействует с другими посредством стандартного набора библиотечных процедур для передачи и приема сообщений.

Задачу синхронизации и координации распределенных компонент параллельной модели технологических процессов предлагается решать с помощью диспетчера процессов, который выступает в качестве управляющей оболочки. Диспетчер - это программный модуль, который содержит информацию о топологии компонентов параллельной модели [3,4] и управляет процессом моделирования и обменом информацией между распределенными компонентами. Диспетчер не содержит уравнений и использует только библиотеку OpenMPI [5], реализующую стандарт MPI [6], для выполнения функций обмена данными. На выбор этой реализации стандарта повлияли поддержка библиотекой всех современных операционных систем и принципа построения параллельных программ с использованием MPMD-подхода.

В качестве библиотеки численных методов для вычислений используется программный пакет SUNDIALS (Suite of Nonlinear and Differential/Algebraic equation Solvers), пакет IDA (Implicit Differential-Algebraic solver) [7,8], разработанный для решения систем диф­ференциально-алгебраических уравнений в форме F(t, y, y')=0.

Диспетчер решает ряд проблем:

1. Так как процесс моделирования асинхронный, т.е. блок выполняет решение и передачу данных в разные моменты времени по отношению к остальным компонентам модели, то один блок может решать соответствующую часть уравнений быстрее остальных и опередить их. Таким образом, в диспетчере решается проблема синхронизации вычислительного процесса.

2. Для решения систем дифференциальных уравнений в библиотеке IDA выбран метод переменного порядка и шага, формула обратного дифференцирования с переменными коэффициентами (BDF) [9,10], что одновременно повышает точность и скорость решения системы. Поэтому модельное время, в которое один блок запрашивает входные переменные, может не совпадать с модельным временем блока, который предоставляет эти значения, а значит целесообразно применять метод интерполирования данного значения, что успешно реализуется в диспетчере.

Технологические схемы могут иметь одну или больше обратных связей, которые образуют контур и препятствуют параллельному решению модели, что может привести к снижению производительности процесса моделирования. Для предотвращения этого в обратную связь вводится «линия задержки», которая позволяет разорвать контур и проводить вычисления   параллельно.   Для   минимизации   влияния   такой линиизадержки на процесс и результаты моделирования применяется метод интерполяции значений [11], который позволяет снизить погрешность при интегрировании.

Организация взаимодействия компонентов

параллельной модели технологического процесса

Организация взаимодействия компонентов параллельной модели технологического процесса проиллюстрирована на рисунке 1 в виде диаграммы последовательности стандарта UML [12,13].

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

1. Блоки выполняют подготовку библиотеки решателя для последующего интегрирования. Задаются количество уравнений и переменных, максимально допустимые относительная и абсолютная погрешности, адрес функции, вычисляющей правые части уравнений (невязки), а также создается буфер для обмена данными с диспетчером посредством протокола MPI.

2. Диспетчер выполняет инициализацию всех внутренних структур данных, в том числе топологии модели, а именно:

- задание количества блоков (переменная blockcount);

- задание для каждого из блоков количества входных и выходных переменных (blockinputs и blockoutputs соответственно);

- создание массива значений выходных переменных (outputs);

- создание массива значений входных переменных (inputs);

- задание топологии, с помощью создания ссылок соответствующих входным переменным и приравнивание их на соответствующую выходную переменную таким образом, что выходная переменная и все входные указывают на один и тот же элемент в памяти.

Для начальной синхронизации всех компонентов параллельной модели выполняется команда MPI_Barrier(), которая ожидает всех участников коммуникатора MPI (в данном случае MPI_COMM_WORLD)

[14,15].

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

1. Интегрирование одного шага системы дифференциально-алгебраических     уравнений,     входящих     в     состав подмодели.

2. Передача данных со значениями выходных переменных и текущего   модельного   времени   диспетчеру   с   помощью команды

MPI_Send().

3. Прием  данных  со  значениями  входных переменных для выполнения следующего шага интегрирования от диспетчера.

і і

Рисунок 1 - Организация взаимодействия компонентов параллельной

модели

Последовательность выполнения для диспетчера включает основной цикл, условием завершения которого является момент достижения всеми компонентами параллельной модели времени окончания моделирования. Основную часть времени диспетчер проводит в ожидании данных об окончании интегрирования шага от одной из компонентов параллельной модели. В момент получения этих данных происходит определение блока, отославшего эти значения с помощью ранга процесса, и запись данных в соответствующий массив выходных переменных для этого блока. Так как блок, отославший эти значения, находится в ожидании значений входных переменных для интегрирования следующего шага, то диспетчер, пользуясь заданной топологией, находит соответствующие выходные переменные, связанные с входными. Если на запрашиваемое модельное время уже вычислены новые значения, то есть блок, с выходными значениями уже закончил шаг интегрирования для данного модельного времени, то эти значения отправляются ожидающему блоку и цикл повторяется вновь. В случае если эти значения на данный момент модельного времени еще не получены, то блок перемещается в очередь ожидания, которая проверяется каждый раз при получении данных очередного шага от блока.

Для того чтобы избежать последовательного решения всех блоков, при возникновении контуров вводятся процедуры, имитирующие линию задержки.

Заключение

Решение задачи организации взаимодействия распределенных компонентов моделей технологических объектов при MPMD-схеме распараллеливания с помощью диспетчеризации процессов, описанной в данной статье, позволяет осуществлять управление и синхронизацию процессов во время численного решения.

Литература

1. Бройнль Т. Паралельне програмування / Бройнль Т. ; [переклад з німецької В.А. Святного] - Київ: ВШ, 1997. - 358 с.

2. Evaluating the performance limitations of MPMD communication / [Chi-Chao Chang, Grzegorz Czajkowski, Thorsten von Eicken, Carl Kesselman] - Proceedings of the 1997 ACM/IEEE conference on Supercomputing, 15-21 Nov. 1997. - P. 11-11.

3. Бондарева К.С. Топологічний аналізатор технологічно орієнтованого паралельного моделюючого середовища / В.А.Святный, К.С. Бондарева // Наукові праці ДонНТУ, серія МАП. - Донецьк, 2005. - №78. - С.5-12.

4. Бондарева Е.С. Генератор уравнений параллельной моделирующей среды для технологических процессов / Е.С. Бондарева // Наукові праці ДонНТУ, серія «Інформатика, кібернетика та обчислювальна техніка». - Донецьк, 2008. - №9. - С. 93-

98.

5. Open MPI user documentation: руководство пользователя - [Электронный ресурс] - Режим доступа: http://www.open-mpi.org/ .

6. Rolf Hempel The MPI standard for message passing / Rolf Hempel. - Springer Berlin / Heidelberg, 1994 - P.247-252.

7. SUNDIALS, Lawrence Livermore National Laboratory, USA - [Электронный ресурс] - Режим доступа: https:// computation.llnl.gov/ casc/ sundials/ main.html

8. SUNDIALS, suite of nonlinear and differential/algebraic equation solvers / [A. C. Hindmarsh, P. N. Brown, K. E. Grant, S. L. Lee, R. Serban, D. E. Shumaker, and C. S. Woodward] - ACM Trans. Math. Softw. - 2005. - Vol. 31 - P. 363-396.

9. K. E. Brenan Numerical Solution of Initial-Value Problems in Differential-Algebraic Equations / K. E. Brenan, S. L. Campbell, and L. R. Petzold - Philadelphia: SIAM, 1996 - 256

p.

10. Фельдман Л.П. Чисельні методи в інформатиці / Фельдман Л.П., Петренко А.І., Дмитрієва О.А. - К.: Видавнича група BKV, 2006. - 480с.

11. Фельдман Л.П. Чисельні методи в інформатиці / Фельдман Л.П., Петренко А.І., Дмитрієва О.А. - К.: Видавнича група BKV, 2006. - 480с.

12. Фаулер М. UML в кратком изложении. Применение стандартного языка моделирования / Фаулер М., Скотт К.; пер. с англ. - М.: Мир, 1999. - 191 с.

13. Unified Modeling Language Specification / An Adopted Formal Specification of the Object Management Group, Inc. - 2003. - 733 p.

14. Хьюз К. Параллельное и распределенное программирование на С++ / Хьюз К., Хьюз Т.: Пер. с англ. - М.: Издательский дом «Вильямс», 2004. - 672 с.

15. Букатов А.А. Программирование многопроцессорных систем / Букатов А.А., Дацюк В.Н., Жегуло А.И. - Ростов-на-Дону: Изд-во ООО "цВвР", 2003. - 208 c.

Надійшла до редакції 28.10.2009 р. Рецензент: к.т.н., доц. Зеленьова І. Я.

К.С. Бондарева

Донецький національній технічний університет

Задача керування чисельним рішенням паралельних моделей технологічних об'єктів з використанням диспетчеризації процесів. Розглянуто задачу синхронізації процесів під час чисельного рішення паралельної моделі технологічного об'єкту за MPMD-схемою обчислень. Наведено організацію взаємодії компонентів паралельної моделі технологічних процесів.

MPMD-модель, технологічний процес, паралельна модель, MPI K.S. Bondareva

Donetsk National Technical University

Problem of control during numerical solution of parallel models for technological objects using processes dispatching. The problem of processes synchronization upon the numerical solution of the parallel model for technological object by MPMD-computation approach is considered. The organization of interaction between the components of the parallel model of technological processes is represented.

MPMD-model, technological process, parallel model, MPI

Страницы:
1 


Похожие статьи

Е С Бондарева - Задача управления численным решением параллельных моделей технологических объектов с использованием диспетчеризации

Е С Бондарева - Объектно-ориентированный подход к параллельному моделированиюхимико-технологических процессов

Е С Бондарева - Генератор уравнений параллельной моделирующей среды длятехнологических процессов