Введение к работе
Актуальность темы. Диссертация посвящена разработке службы управления вычислительными сценариями для распределенных сред.
Распределенные вычисления в масштабах глобальной сети становятся одним из ключевых направлений развития Интернета, расширяющем наши представления о способах использования вычислительных ресурсов и о Сети в целом. В настоящее время все большее распространение получает модель научной кооперации и разделения труда, основанная на совместной работе территориально распределенных, часто - международных, коллективов исследователей. В подобных "распределенных" научных проектах остро стоит проблема совместного использования наработок сторон, вовлеченных в проект. Однако, при всем богатстве вычислительных средств, существующих в сети Интернет на сегодняшний день, большинство из них продолжают оставаться недоступными для большой части ученых и их исследований, поскольку требуют наличия у пользователей специальных навыков работы с подобными системами, навыков распределенного программирования, а так же детального знания архитектуры распределенных и параллельных вычислительных систем.
Кроме того, для эффективных вычислений часто требуется объединять уже существующие вычислительные ресурсы в единую вычислительную систему, а это также может быть крайне трудно для неподготовленного пользователя хотя бы потому, что такие ресурсы могут быть географически разнесены, находиться в ведомости различных организаций, часть их может быть доступна на коммерческой основе, часть - в свободном доступе, и их объединение требует значительных усилий и глубокого погружения в области, находящиеся за пределами предметной области большинства исследователей, нуждающихся в высокопроизводительных вычислениях.
К примеру, в настоящее время в различных организациях накоплено большое количество имитационных моделей в самых разнообразных областях и программных комплексов, позволяющих выполнять в их рамках имитационные эксперименты. Среди этих моделей и программных комплексов имеются такие, которые разработаны разными группами исследователей, однако, описывают один и тот же процесс, возможно, разные его части. Поэтому, задача интеграции этих ресурсов посредством организации удаленного доступа к ним, а также объединения этих ресурсов в единую вычислительную систему представляется актуальной. Решение этой задачи позволит формировать и выполнять имитационные эксперименты с гораздо более сложными имитационными моделями, чем это возможно сейчас. Это существенно расширяет область применения технологии имитационного моделирования при анализе и прогнозе реальных явлений, процессов, систем. Очевидно, что предлагаемый подход применим и для других важных классов задач.
Также существуют определенные сложности и со стороны разработчиков вычислительных средств. Существующие способы публикации вычислительных ресурсов в Сети, такие, как веб-сервисы или грид-сервисы, достаточно сложны как со стороны организации доступа к ресурсам так и со стороны организации безопасности, разграничения прав доступа и тд. При этом преимущества от использования веб-сервисов заметны только в определенном классе приложений, ориентированных на поддержку сложных бизнес-процессов, встречающихся в корпоративных и государственных системах и слабо распространенных в технических и научных проектах.
Безусловно, взаимодействие ресурсов может быть организовано с помощью произвольных средств программирования, например скриптовых языков. Однако, как показывает опыт, в каждом конкретном случае это выливается в разработку и развертывание специальной программной
инфраструктуры, создаваемой под конкретную задачу и требующей высокой квалификации программистов. Поэтому цель данной работы - разработать готовые средства, упрощающие публикацию и композицию вычислительных ресурсов и доступные пользователям с минимальной квалификацией.
Работа основана на том, что в последние два десятилетия в мире активно развиваются подходы, позволяющие заметно облегчить создание распределенных приложений - это сервис-ориентированный подход и workflow-методология или методология сценариев. В рамках сервис-ориентированной архитектуры каждый из необходимых для вычисления ресурсов может быть представлен в виде сервиса и снабжен универсальными механизмами доступа, а применение методологии сценариев позволяет неподготовленному пользователю компоновать из существующих сервисов вычислительные сценарии для координированного взаимодействия этих сервисов в рамках решения какой-либо задачи. Стоит отметить, что результат композиции сервисов может быть представлен в виде нового сервиса. Как правило, создание таких сценариев происходит при помощи наглядного визуального редактора, но есть и другие способы объединения сервисов в сценарии.
В диссертации идет речь о применении методологии сценариев в рамках двух распределенных вычислительных сред — lARnet и MathCloud. Обе эти среды основаны на сервис-ориентированном подходе. В основе архитектуры LARnet лежит понятие информационно-алгоритмического ресурса, представляющего собой абстрактный ресурс с четко описанной функциональностью и программным интерфейсом удаленного доступа к этой функциональности, скрывающим за собой один или несколько первичных ресурсов. Отличительными особенностями LARnet являются высокоуровневая модель программирования и возможность использования различных технологий для удаленного доступа к ресурсам. Среда MathCloud является развитием заложенного в lARnet подхода к интеграции
высокоуровневых информационно-алгоритмических ресурсов на основе Web-технологий и архитектурного стиля REST (Representational State Transfer), являющегося перспективной альтернативой технологиям веб-сервисов.
Цель работы и задачи исследования.
Целью диссертации является разработка простой в использовании, но эффективной службы управления сценариями для распределенных вычислительных сред и практическое применение полученных результатов (на примере объединения геометрических ресурсов, созданных на основе известного пакета Antiprism, на примере решения смешанно-целочисленной задачи нелинейного программирования для моделирования железнодорожных перевозок, а также на примере решения задачи безошибочного обращения плохо обусловленных матриц большой размерности). Разработка такой системы включает в себя выбор или разработку визуального или скриптового языка для описания сценариев; реализацию среды выполнения сценариев, осуществляющей запуск созданных описаний сценариев; создание визуального редактора сценариев, позволяющего описывать сценарии, отправлять их на выполнение и следить за ходом выполнения сценариев.
Методы исследования. Для решения поставленных задач использовались методы построения распределенных комплексов проблемно-ориентированных программ, сервис-ориентированный подход и методология сценариев, а также элементы теории графов, в частности, описание распределенных вычислений в виде сети Петри и в виде графа «операции-операнды».
Научная новизна. Научная новизна складывается из следующих результатов:
Разработан новый подход к композиции распределенных ресурсов в рамках прикладных вычислительных сценариев и
публикации полученных сценариев в виде сервисов распределенной вычислительной среды, основанный на workflow-методологии и сервис-ориентированной архитектуре.
Разработана архитектура службы управления сценариями, основными составными частями которой являются сервис управления сценариями, среда выполнения сценариев и редактор сценариев.
Создано несколько прототипов службы управления вычислительными сценариями для распределенных сред, реализующих разработанный подход.
На основе указанного подхода разработана инфраструктура для организации взаимодействия между геометрическими сервисами MathCioud, основанными на известном пакете Antiprism.
На основе указанного подхода реализована схема распределенного решения смешанно-целочисленной задачи нелинейного программирования для моделирования железнодорожных перевозок.
На основе указанного подхода реализован распределенный алгоритм безошибочного обращения плохо обусловленных матриц большой размерности.
Проведено исследование разработанного подхода на возможность повторного применения для решения других вычислительных задач и универсальность.
Практическая ценность работы. Разработанный подход может быть применен для решения широкого класса вычислительных задач, которые допускают декомпозицию на слабо связанные в вычислительном отношении, типовые подзадачи.
Апробация работы. Результаты диссертационной работы докладывались и обсуждались на семинарах в Институте системного анализа, а также на конференции «Системный анализ и информационные технологии -2005», конференции «Системный анализ и информационные технологии -2007», на третьей международной конференции "Distributed Computing and Grid-technologies in Science and Education", на конференции «Научный сервис в сети Интернет - 2009», на 52 научной конференции МФТИ и на конференции "Современные информационные технологии и ИТ-образование -2009».
Публикации. По теме диссертации опубликовано 9 работ.
Структура и объем работы. Общий объем диссертации состоит из
страниц. Диссертация включает в себя введение, четыре главы, заключение, список литературы (f)o наименований), приложение и о -Ь рисунков.