Например, Бобцов

ИНТЕЛЛЕКТУАЛЬНЫЕ ТЕХНОЛОГИИ РАСПРЕДЕЛЕННЫХ ВЫЧИСЛЕНИЙ ДЛЯ МОДЕЛИРОВАНИЯ СЛОЖНЫХ СИСТЕМ

КРАТКИЕ СООБЩЕНИЯ

УДК 004.021 ИНТЕЛЛЕКТУАЛЬНЫЕ ТЕХНОЛОГИИ РАСПРЕДЕЛЕННЫХ ВЫЧИСЛЕНИЙ ДЛЯ МОДЕЛИРОВАНИЯ СЛОЖНЫХ СИСТЕМ
С.В. Марьин, А.В. Ларченко, С.В. Ковальчук, К.В. Князьков, Е.В. Болгова, А.В. Бухановский
Рассматривается задача обеспечения поддержки высокопроизводительных вычислений в области компьютерного моделирования, выполняемых на базе композитных распределенных приложений. Ключевые слова: распределенные вычисления, композитное приложение, компьютерное моделирование.
В отличие от классических «больших» [1] задач компьютерного моделирования (например, расчета трехмерных течений вязкой жидкости в сложной геометрической конфигурации), проблема создания распределенных предметно-ориентированных приложений моделирования сложных систем не сводится только к разработке оптимальных (для заданной архитектуры) параллельных алгоритмов и их реализации. Принципиальной проблемой является интеграция уже существующих и вновь разработанных программных модулей в единый комплекс. В отличие от традиционных подходов для создания композитных бизнесприложений (например, на основе сервис-ориентированной архитектуры, Service-Oriented Architecture – SOA), в данном случае основная проблема состоит в том, что результатом интеграции должно являться не только обеспечение функциональных характеристик (решение задачи), но и достижение при этом максимальной параллельной производительности. В частных случаях, при ограниченном числе программных компонентов и заданном сценарии вычислений оптимальная статическая архитектура такого комплекса может быть разработана вручную. Однако вопрос остается открытым для систем с динамической архитектурой, например, проблемно-ориентированных оболочек компьютерного моделирования (Problem-Solving Environment – PSE) [2]. В таких оболочках пользователь имеет возможность вызывать отдельные вычислительные предметно-ориентированные модули, строить на их основе вычислительные цепочки и отправлять их на выполнение на высокопроизводительные вычислительные системы. Предметно-ориентированные модули в данном случае обычно бывают разработаны различными специалистами, реализуют разные принципы распараллеливания, написаны на различных языках программирования и функционируют на удаленных системах принципиально различной архитектуры. Потому построение оптимального с точки зрения производительности сценария исполнения вычислительной цепочки является нетривиальной задачей (в существующих системах она обычно отдается на откуп самому пользователю).
Таким образом, актуальной представляется задача развития подходов, методов и технологий, позволяющих проектировать и разрабатывать программные приложения, эффективно функционирующие в распределенных вычислительных средах с неоднородной иерархической архитектурой применительно к задачам компьютерного моделирования сложных систем. С практической точки зрения полученные в ходе исследования результаты позволят создать среду автоматизации процесса разработки – интеллектуальную программную оболочку, предоставляющую разработчику не только инструментарий, но и формализованные знания в области создания распределенных предметно-ориентированных программных комплексов. Наличие такой среды создаст стимул для развития соответствующих приложений в новых предметных областях, позволит существенно сократить время их разработки и отладки, а также обеспечить эффективную загрузку высокопроизводительных вычислительных ресурсов (суперкомпьютеров, связанных высокоскоростной сетью), имеющихся на настоящий день в вузах и не загружаемых на полную мощность не в силу отсутствия задач, а по причине отсутствия инструментария для их реализации.
Решение данной задачи предполагает симбиотическое направление исследований на стыке информационных технологий и предметно-ориентированного компьютерного моделирования. Его квинтэссенция состоит в том, что для достижения эффективности параллельных вычислений недостаточно только уповать на возможности сверхмощных вычислительных систем и глубинные средства исследования и оптимизации программ. Высокая производительность является следствием совокупного учета специфики предметной области, особенностей применяемых моделей, методов и алгоритмов, а также архитектурных особенностей вычислительных систем и технологий программирования. Проблема сочетания знаний из столь различных областей, по-видимому, на данном этапе может быть решена лишь на основе их отчуждения, обобщения и использования посредством интеллектуальных технологий.
В ходе выполнения исследования по данному направлению разработан экспериментальный образец интеллектуальной инструментальной оболочки (ИИО) для разработки композитных приложений моделирования сложных систем. С точки зрения интеллектуальных технологий такая оболочка является аналогом известного класса оболочек-инструментов для создания экспертных систем. Однако, в отличие от систем общего вида, данная инструментальная оболочка должна обеспечить решение только двух классов задач:
 интеллектуальная поддержка пользователя по выбору, сопряжению и использованию компонентов в составе композитного приложения (режим советующей системы);
 обеспечение эффективного исполнения композитного приложения на распределенной иерархической неоднородной вычислительной архитектуре без целенаправленного участия пользователя (режим системы автоматического управления).

Научно-технический вестник Санкт-Петербургского государственного университета информационных технологий, механики и оптики, 2010, № 6 (70)

123

КРАТКИЕ СООБЩЕНИЯ
Экспериментальный образец ИИО включает в себя семь базовых подсистем, а именно: подсистемы управления знаниями (ПУЗ), логического вывода (ПЛВ), человеко-компьютерного взаимодействия (ПЧКВ), управления распределенными платформами (ПУРП), хранения данных (ПХД), информационного портала (ПИП), управления инфраструктурой (ПУИ). Основные компоненты подсистем реализуются как независимые web-сервисы, взаимодействующие в распределенной среде. Пользовательское описание композитного приложения в ИИО, интерпретируемое посредством ПЧКВ, формулируется на проблемноориентированном языке (Domain-Specific Language – DSL) EasyFlow; при этом пользователю предоставляется возможность работы как с текстовой, так и с графической нотацией, допускающими преобразование друг в друга. Интерпретацию описания композитного приложения в исполнимую форму выполняет ПЛВ на основе детерминированных правил, описывающих способы использования прикладных сервисов, осуществляемого путем обхода соответствующей комплексной онтологии, доступ к которой выполняется посредством ПУЗ. При запуске композитного приложения на конкретных вычислительных ресурсах в рамках ПУРП решается задача распределения нагрузки в условиях неопределенности (стохастичности) и неполноты исходной информации о функционировании распределенной среды. При этом ПУИ, играя координирующую роль, реализует функции маршрутизации сообщений между отдельными подсистемами ИИО и поддержки ПУРП за счет расширенных средств мониторинга доступных вычислительных ресурсов. Важную роль в концепции организации рабочей среды для пользователя, заинтересованного в применении ИИО, играет ПИП, интегрирующая основные информационные и технологические сервисы, к которым относятся: сервисы взаимодействия с ПЧКВ, ПХД и ПУИ; сервисы поддержки совместной работы и коммуникации в рамках профессионального виртуального сообщества; сервисы представления структурированной и каталогизированной базы справочной информации, в свою очередь ассоциированной с соответствующими элементами других подсистем ИИО.
Экспериментальный образец ИИО развернут на стенде, реализующем две модели организации распределенных вычислений – метакомпьютинга и Грид. Экспериментальные исследования функциональных характеристик ИИО продемонстрировали, что накладные расходы (по времени), связанные с использованием ИИО для запуска композитных приложений, на порядок ниже собственных накладных расходов, обусловленных функционированием существующих Грид-сред. Разрабатываемая ИИО может эффективно применяться как надстройка над низкоуровневой распределенной Грид-средой, не приводя к возникновению ощутимых дополнительных нагрузок на ее вычислительную инфраструктуру.
Работа выполнена в рамках проектов «Интеллектуальные технологии распределенных вычислений для моделирования сложных систем» (государственный контракт №П469) и «Инструментальная среда для построения композитных приложений моделирования сложных систем» (государственный контракт №П1386) реализуемых при поддержке ФЦП «Научные и научно-педагогические кадры инновационной России» на 2009–2013 годы.
1. Воеводин Вл.В. Решение больших задач в распределенных вычислительных средах // Автоматика и телемеханика. – 2007. – № 5. – С. 32–45.
2. Rice J.R., Boisvert R.F. From Scientific Software Libraries to Problem-Solving Environments // IEEE Computational Science & Engineering. – 1996. – V. 3. – № 3. – P. 44–53.
Марьян Сергей Владимирович – НИИ наукоемких компьютерных технологий СПбГУ ИТМО, аспирант, igorlitmo@rambler.ru Ларченко Алексей Викторович – Санкт-Петербургский государственный университет информационных технологий, механик и оптики, кандидат технических наук, старший научный сотрудник, aleksey.larchenko@gmail.com Ковальчук Сергей Валерьевич – НИИ наукоемких компьютерных технологий СПбГУ ИТМО, кандидат технических наук, старший научный сотрудник, kovalchuk@mail.ifmo.ru Князьков Константин Валерьевич – НИИ наукоемких компьютерных технологий СПбГУ ИТМО, аспирант, constantinvk@gmail.com Болгова Екатерина Владимировна – Санкт-Петербургский государственный университет информационных технологий, механик и оптики, аспирант, katerina.bolgova@gmail.com Бухановский Александр Валерьевич – НИИ наукоемких компьютерных технологий СПбГУ ИТМО, директор, доктор технических наук, avb_mail@mail.ru

124

Научно-технический вестник Санкт-Петербургского государственного университета информационных технологий, механики и оптики, 2010, № 6 (70)