Декомпозиція на підсистеми та IT-організація роботи розподіленого паралельного моделюючого середовища
Автореферат за темою випускної роботи
Вступ
Модельна підтримка розробки складних динамічних систем різноманітних предметних галузей вимагає створення нових засобів моделювання. Актуальним напрямком сучасних технологій моделювання є побудова та системна організація розподілених паралельних моделюючих середовищ[1].
Створення такого складного програмно-апаратного продукту як розподілене паралельне моделююче середовище вимагає спільної роботи колективу розробників. Для систематизації робіт над цим проектом, має сенс застосовувати компонентно-орієнтований підхід до розробки. В [1] запропоновано поділ розподіленого паралельного моделюючого середовища на наступні підсистеми (компоненти): 1) підсистема діалогу, 2) підсистема топологічного аналізу, 3) підсистема генерації рівнянь; 4) підсистема віртуальних паралельних моделей симуляції; 5) підсистема паралельних вирішувачів рівнянь; 6) підсистема обміну даними; 7) підсистема балансування завантаження; 8) підсистема візуалізації; 9) підсистема баз даних; 10) підсистема IT-підтримки.
Мета і завдання роботи
Метою даної магістерської роботи є пошук оптимальної декомпозиції на підсистеми і розробка підсистеми IT-підтримки розподіленого параллельного моделюючого середовища, орієнтованого на представлення у web-просторі.
IT-органіизація роботи підсистем розподіленого паралельного моделюючого середовища передбачає розробку такої програмно-апаратної структури РПМС, в якії була б реалізована декомпозиція всього РПМС на підсистеми з урахуванням роботи у web-просторі.
Реалізація проекту передбачає вирішення наступних завдань:
- аналіз робіт в галузі паралельного моделювання розподілених задач;
- вивчення модульного підходу до програмування;
- аналіз архітектури класичного розподіленого параллельного моделюючого середовища;
- розробка прототипу середовища;
- декомпозиція розподіленого параллельного моделюючого середовища на модулі - підсистеми, з урахуванням web-представлення;
- реалізація підсистеми IT-підтримки.
Актуальність роботи. Огляд досліджень і розробок за темою
При системній організації взаємодії підсистем і надання ресурсів розподіленого паралельного моделюючого середовища експертам предметних галузей (розробникам паралельних моделей і симуляторів) представляється необхідним використовувати новий підхід до організації обчислювальних сервісів - (за) хмарні обчислення (анг. cloud computing) [2]. Його незаперечними перевагами є можливість швидкого впровадження в практику моделювання та відсутність необхідності розробки та підтримці складного проблемно-орієнтованого програмного забезпечення. У той же час є задача розробки такого хмарного сервісу - розподіленого моделюючого середовища, - який би задовольнив потреби предметних галузей. Проблема розробки розподіленого паралельного моделюючого середовища, в тому числі як хмарного сервісу, мало досліджена.
Вивченням підходів до розробки, розробкой та дослідженням розподіленого паралельного моделюючого середовища на світовому рівні займаються профессра В.А. Святный (ДонНТУ), Л.П. Фельдман (ДонНТУ), M. Resch (Uni-Stuttgart), M. Zeitz (Uni-Stuttgart). Серед робіт випускників та магістрів ДонНТУ можна навести роботи Стародубцева Д.М., Меренокова А.В.. Больше посилань, включаючи посилання на сторінки магістрів, котрі займаються роботою в цьому напрямку, наведено в розділі «Посилання».
Декомпозиція на підсистеми задовольняє як відокремленому розподіленому параллельному моделюючему середовищу, так і його хмарній реалізації. При цьому слід внести уточнення в опис взаємодії підсистем та їх функціональне призначення.
Передбачувана наукова новизна
Новизною роботи є реалізація web-орієнтованого розподіленого паралельного моделюючого середовища з можливостями, як видаленого доступу, так і взаємодії з різними високопродуктивними обчислювальними ресурсами (HPC-ресурсами), що дозволить і зручно для кінцевого користувача використовувати паралельні обчислення.
Власні результати
На рис. 1 наведено схему взаємодії підсистем при вирішенні задачі - від моменту підключення користувача до отримання ним готового рішення. На малюнку: внизу - розподілене моделююче середовище, сама система як декомпозиція та кластер, вгорі - машина користувача та віддалений кластер, який використовується у випадку, якщо ресурсів власного кластера недостатньо.
У разі «хмарної» реалізації користувач має можливість отримати доступ до розподіленого моделюючого середовища без використання спеціальних програмних продуктів - через браузер. Крім зручності для користувача також вирішується проблема розробників - оновлення програмного забезпечення, його модернізація та виправлення можливих помилок не вимагатиме розсилання оновлень всім користувачам - потрібно лише оновити програмне забезпечення на сервері; також спрощується механізм контролю доступу.
Для хмарно-орієнтованого розподіленого паралельного моделюючого середовища має сенс перерозподіл функцій підсистем, запропонованих в [1], з урахуванням Інтернет-орієнтації розроблюваної системи. Усі функції комунікації із зовнішнім світом будуть здійснюватися через глобальну мережу, тому їх виконує підсистема IT-підтримки; сюди належать всі взаємодії з користувачами і видаленими паралельними кластерами. На підсистему діалогу покладаються функції контролю роботи інших підсистем, включаючи забезпечення взаємодії між підсистемами, планування обчислювальних задач, керування завданнями. Всі взаємодії підсистем реалізуються через підсистему діалогу, винятками можуть бути лише зв'язки, що забезпечують прискорення роботи системи, при цьому слід враховувати принципи збереження цілісності даних. Так, всі підсистеми отримують або приймають дані від підсистеми баз даних тільки через підсистему діалогу, пряме звернення до бази даних припустиме для авторизації користувача та подання інформації про стан завдань користувача, для запису інформації про поточний стан кластера. Для деяких підсистем може знадобитися запуск їх програмних модулів безпосередньо на кластері.
Рисунок 1. Схема взаємодії підсистем як компонентів «хмарного» РПМС (JS-анімація)
Взаємодію підсистем проілюстровано анімацією (рис. 1) на прикладі обробки запиту користувача:
(зміна слайдів виконується кліком на посилання нижче)
- початок;
- користувач (клієнтське ПЗ) здійснює запит до РПМС;
- виконується авторизація для поточного запиту на основі інформації з БД;
- у разі успіху запит передається на опрацювання до підсистеми діалогу;
- підсистема діалогу реєструє заявку у БД;
- підсистема діалогу викликає підсистему топологічного аналізу;
- підсистема діалогу викликає підсистему генерації рівнянь;
- підсистема діалогу викликає підсистему віртуальних паралельних simulation моделей;
- підсистема діалогу викликає підсистему паралельних вирішувачів рівнянь;
- підсистема діалогу передає завдання для паралельної симуляції підсистемі балансування завантаження;
- підсистема балансування завантаження через підсистему обміну даними ставить задачу на виконання на локальному кластері;
- можлива постановка задачі на віддалений (хмарний) кластер через підсистему IT-підтримки;
- по завершенню симуляції задачі підсистема обміну даними передає результат підсистемі діалогу;
- підсистема діалогу викликає підсистему візуалізації, передаючи їй результати симуляції;
- підсистема візуалізації зберігає візуалізовані результати в БД;
- з ініціативи користувача або РПМС результат з підсистеми візуалізації передається клієнтському ПЗ;
- підсистеми балансування завантаження та обміну даними в процесі роботи зберігають інформацію про поточний стан кластеру у БД.
Сучасні тенденції реалізації веб-додатків передбачають відсутність необхідності для користувача встановлювати будь-які додаткові програми, доступ до всіх сервісів здійснюється через браузер [2]. Всупереч сформованій думці про складність або неможливість реалізації якісного інтерфейсу користувача у браузері, новий стандарт HTML5 дозволяє виконати якісну візуалізацію, а засоби скриптових мов, включаючи технологію AJAX, дозволяють реалізувати дружній до користувача інтерфейс.
Слід розглянути також інтеграцію авторизації користувачів розподіленого паралельного моделюючого середовища зі Студентським порталом факультету КНТ. Це дозволить забезпечити простий доступ студентів і викладачів до розподіленого паралельного моделюючого середовища з використанням єдиного облікового запису єдиного логіну та паролю.
Для демонстрації можливостей розроблюваної системи, набору функції і можливого зовнішнього вигляду виконано прототип розподіленого паралельного моделюючого середовища.
Прототип являє собою web-додаток, який має такі функції:
- авторизація користувача;
- отримання стану високопродуктивного обчислювального ресурсу;
- відображення стану високопродуктивного обчислювального ресурсу;
- вибір користувачем однієї з наявних задач для симуляції;
- зазначення користувачем параметрів обраної задачі;
- підготовка задачі до запуску на високопродуктивному обчислювальному ресурсі;
- запуск задачі симуляції на високопродуктивному обчислювальному ресурсі;
- моніторинг статусу запущеної задачі симуляції;
- отримання результатів симуляції з високопродуктивного обчислювального ресурсу;
- візуалізація результатів;
- зберігання результатів усіх запусків задачі;
- відображення результатів будь-якого запуску користувачеві;
- розподіл доступу користувачів до результатів симуляції;
- можливість додавання нових задач симуляції різних типів;
Особливістю розробленого прототипу є відсутність модульності, при його розробці була поставлена за мету лише зовнішня відповідність проектованому розподіленому паралельному модулюючому середовищу.
Прототипне розподілене моделююче середовище здійснює підключення до високопродуктивного обчислювального ресурсу за протоколом SSH (Secure SHell), в якості високопродуктивного обчислювального ресурсу використовується кластер NeClus (http://neclus.donntu.ru). Залежно від вибору користувача реалізовується відповідний алгоритм. Тексти програм задач симуляції зберігаються на сервері, що обслуговує прототипне середовище, перед запуском задачі на високопродуктивному обчислювальному ресурсі виконується їх завантаження на ресурс та компіляція. Для кожної задачі задані: текст программи, параметри компіляції, список вхідних параметрів, приклад вхідних параметрів, вимоги до ресурсів (діапазон значень необхідного числа вузлів), дії після симуляції, перелік файлів з результатами, модуль візуалізації.
Плановані практичні результати
Передбачається реалізація web-орієнтованого розподіленого паралельного моделюючого середовища. Реалізований прототип слід використовувати для оцінки зручності зовнішнього представлення системи для кінцевого користувача, для виявлення необхідного користувачеві набору функцій.
Реалізовуване розподілене паралельне моделююче середовище в якості високопродуктивного обчислювального ресурсу має використовувати як кластер NeClus, так і мати можливість взаємодії з іншими високопродуктивними обчислювальними ресурсами.
Висновки
Декомпозиція розподіленого паралельного моделюючого середовища на підсистеми дозволяє організувати паралельну розробку Simulations Software за умови чіткої координації взаємодії підсистем. Запропонований підхід до реалізації підсистем відповідає сучасним тенденціям у паралельних технологіях моделювання та розподілених обчислень.
Уже реалізований прототип системи дозволяє оцінити можливості та зручність розроблюваної системи для кінцевого користувача.
Перелік використаної літератури
- Feldmann L. P., Svjatnyj V. A., Resch M., Zeitz M. FORSCHUNGSGEBIET: PARALLELE SIMULATIONSTECHNIK. / Сайт национальной библиотеки им. В.И. Вернадского / Интернет ресурс. — Режим доступа: http://www.nbuv.gov.ua/portal/natural/Npdntu/Pm/2008/08flpfps.pdf, см. также «Проблеми моделювання та автоматизації проектування», наукові праці ДонНТУ, вип. 7(150), 2008, с. 9-39.
- Облачные вычисления / Википедия / Интернет ресурс. — Режим доступа: http://ru.wikipedia.org/wiki/Облачные_вычисления
- Святний В.А. Проблемы паралельного моделювання складних динамiчних систем.- Науковi працi ДонДТУ, серiя IКОТ, вип. 6, Донецьк, 1999, С. 6-14.
- Feldmann L.P., Svjatnyj V.A., Lapko V.V., Gilles E.-D., Zeitz M., Reuter A., Rothermel K.: Parallele Simulationstechnik. Problems of Simulation and Computer Aided Design of Dynamic Systems. Collected Volume of Scientific Papers. Donetsk State Technical University. Donetsk, 1999, p. 9-19.
- Аноприенко А.Я., Святный В.А. Высокопроизводительные информационно-моделирующие среды для исследования, разработки и сопровождения сложных динамических систем.- Наукові праці ДонДТУ. Серія “Проблеми моделювання та автоматизації проектування динамічних систем”. Випуск 29:-Донецьк, ДонДТУ, 2001. – С.346 – 367.
- Святний В.А., Солонін О.М., Надєєв Д.В., Степанов І., Ротермель К., Цайтц М. Розподілене паралельне моделююче середовище.- Наукові праці ДонДТУ. Серія “Проблеми моделювання та автоматизації проектування динамічних систем”. Випуск 29:-Донецьк, ДонДТУ, 2001. – С.229 – 234.
- Anoprienko A.J., Svjatnyj V.A., Braunl T., Reuter A., Zeitz M.: Massiv parallele Simulationsumgebung fur dynamische Systeme mit konzentrierten und verteilten Parametern. 9. Simposium ASIM’94, Tagungsband, Vieweg, 1994, S. 183-188.
- Чеботарев Н.Ю. К разработке подсистемы диалога MIMD – компоненты массивно параллельной моделирующей среды.- Наукові праці ДонДТУ. Серія “Інформатіка, кібернетика та обчислювальна техніка”. Випуск 6:-Донецьк, ДонДТУ, 1999. – С.62 – 66.
- Корнеев В.В.Параллельные вычислительные системы.М.–Нолидж.1999 312 с.
- Святный В.А., Баженов Л.А. Принципы построения подсистемы диалога массивно параллельной моделирующей среды, Сборник трудов факультета вычислительной техники -Донецьк, ДонДТУ, 1996. – С.24 – 31.