Введение к работе
Актуальность темы. Современная парадигма «электронной науки» (eScience) связана с развитием инструментария распределенных вычислений для научных исследований, позволяющего консолидировать вычислительные и программные ресурсы для решения сложных мультидисциплинарных задач в форме так называемых композитных приложений (КП). Наиболее распространенным подходом к представлению КП является формализм потока работ, или workflow (WF), который позволяет в виде ориентированного графа описать связи между отдельными операциями в распределенной среде. Инфраструктурная платформа для распределенных вычислений на базе WF формируется т.н. системами управления, или исполнения, WF (WMS), к которым относятся, например, Taverna, Kepler, Pegasus, Askalon, Triana, Yawl, а также отечественная разработка MathCloud. В России развитие данного направления связано с работами научных групп А.П. Афанасьева, В.П. Иванникова, В.А. Ильина и А.П. Крюкова, Л.Н. Щура, М.Н. Жижина и ряда других исследователей.
Разнообразие технологий проектирования и разработки КП на основе формализма WF определяется многообразием вычислительных, программных и информационных ресурсов самих сред распределенных вычислений, интерфейсов доступа к ним, а также способов их использования, обусловленных спецификой предметных областей. Как следствие, требуется развивать методы унификации описаний основных элементов и самой структуры КП, позволяющие (а) формализовать способ применения различных прикладных программ в составе WF, с использованием их функционала в полном объеме, (б) абстрагироваться от особенностей организации вычислительной инфраструктуры. Такая постановка требует единого способа интерпретации и исполнения КП, это позволяет в рамках одного WF использовать (а) различные вычислительные ресурсы, включая отдельные суперкомпьютеры, Грид-среды, среды облачных вычислений (модели SaaS, AaaS) и (б) разные типы прикладных программ, включая пакетные, сетевые, интерактивные и графические приложения. В совокупности решение этих вопросов позволяет повысить эффективность использования существующих инфраструктур распределенных вычислений и упростить процесс разработки, применения и распространения КП в предметно-ориентированных научных сообществах, что и определяет актуальность данной работы.
Предметом исследования являются технологии проектирования и разработки композитных приложений в распределенных высокопроизводительных вычислительных средах.
Целью работы является решение важной в создании распределенных систем для научных исследований задачи обоснования, разработки и исследования моделей, методов и алгоритмов для проектирования, создания и исполнения композитных приложений в распределенной вычислительной среде.
Задачи исследования:
обоснование требований к перспективной технологии разработки КП с использованием предметно-ориентированных программных модулей (ПМ) на основе анализа тенденций развития программного инструментария eScience;
разработка метода унифицированного описания прикладных ПМ в распределенной вычислительной среде на основе предметно-ориентированного языка;
разработка метода унифицированного описания структуры КП в форме workflow, консолидирующего прикладные программные модули и обеспечивающего организацию взаимодействия между ними, а также метода интерпретации описания в форму, исполнимую в распределенной среде;
разработка технологии создания и исполнения интерактивных КП на основе унифицированного описания структуры и прикладных ПМ в составе WF;
программная реализация разработанных методов, моделей и алгоритмов в рамках платформы облачных вычислений для задач eScience;
оценка работоспособности и эффективности разработанного решения на основе вычислительных экспериментов в области моделирования: наноразмерных атомно-молекулярных структур; социодинамических процессов; развития нагонных наводнений.
Методы исследования включают в себя методы теории множеств, теории конечных автоматов, теории графов, теории языков программирования и методов трансляции, инженерии программного обеспечения, аппарат теории вероятностей и математической статистики случайных величин и функций.
Научная новизна заключается в сочетании унифицированного подхода к платформо-независимому описанию программных модулей на языке EasyPackage и описанию КП в форме WF на языке EasyFlow, что позволяет:
обеспечить сопряжение неоднородных ПМ в составе одного WF на этапе интерпретации из абстрактного представления в исполнимую форму;
обеспечить процесс проектирования, создания и исполнения КП как в пакетном, так и в интерактивном режиме исполнения с возможностью динамического изменения структуры WF.
Практическую ценность работы составляют:
языки EasyPackage и EasyFlow, которые обеспечивают унификацию описания программных модулей и композитных приложений и позволяют проектировать и исполнять распределенные приложения в гетерогенной среде, полностью абстрагируя пользователя от ресурсов этой среды;
программные компоненты (интерпретации WF и обработки описания вычислительных модулей – база пакетов), входящие в состав МИТП CLAVIRE, которая позволяет исполнять КП, заданные в форме workflow, в распределенной неоднородной вычислительной среде облачных вычислений.
На защиту выносятся
Язык описания программных модулей EasyPackage и язык описания композитных приложений EasyFlow, которые в совокупности обеспечивают процесс проектирования, разработки и исполнения КП на основе предметно-ориентированных описаний и позволяют связывать в одно приложение разнородные программные модули на ресурсах распределенной среды.
Технология проектирования композитных приложений, позволяющая за счет описания программных модулей и КП строить распределенные приложения обработки данных, организуя взаимодействие между неоднородными модулями в гетерогенной среде в форме workflow.
Достоверность научных результатов и выводов обусловлена обоснованностью применения математического аппарата, результатами тестирования алгоритмов и программного обеспечения, экспериментальными исследованиями на реальных приложениях, а также практическим внедрением (опытной эксплуатацией) разработанных программных средств.
Внедрение результатов работы. Результаты работы использованы при выполнении следующих НИОКР: «Инструментальная среда для построения композитных приложений для моделирования сложных систем», «Интеллектуальные технологии распределенных вычислений для моделирования сложных систем» и «Инструментальная технологическая среда для создания распределенных интеллектуальных систем управления сложными динамическими объектами» в рамках ФЦП «Научные и научно-педагогические кадры инновационной России» на 2009–2013 годы, «Создание функционирующего в режиме удаленного доступа интерактивного учебно-методического комплекса для выполнения работ в области моделирования наноразмерных атомно-молекулярных структур, наноматериалов, процессов и устройств на их основе, в распределенной вычислительной среде» в рамках ФЦП «Развитие инфраструктуры наноиндустрии в Российской Федерации на 2008–2011 годы», «Создание высокотехнологичного производства комплексных решений в области предметно-ориентированных облачных вычислений для нужд науки, промышленности, бизнеса и социальной сферы» в рамках реализации постановления Правительства РФ №218, «Распределенные экстренные вычисления для поддержки принятия решений в критических ситуациях» в рамках реализации постановления Правительства РФ №220, а также в ряде хоздоговорных проектов.
Апробация работы. Полученные результаты обсуждались на пяти международных и всероссийских научных конференциях, семинарах и совещаниях, включая «Infrastructure Meeting» – семинар, посвященный вопросам построения инфраструктурных высокопроизводительных систем в области eScience (2010 г., Амстердам), XIV Всероссийскую объединенную научную конференцию «Интернет и современное общество» (2011 г., Санкт-Петербург), ХI Всероссийскую конференцию «Высокопроизводительные параллельные вычисления на кластерных системах» (2011 г., Нижний Новгород), Международную научно-практическую конференцию молодых ученых и специалистов «Технологии высокопроизводительных вычислений и компьютерного моделирования» (2012 г., Амстердам), XIX Всероссийскую научно-методическую конференцию «Телематика'2012».
Публикации. По материалам диссертации опубликовано 7 печатных работ, в том числе 4 — в изданиях из перечня ведущих рецензируемых научных журналов и изданий ВАК РФ.
Личный вклад автора в работах, выполненных в соавторстве, заключается в: выполнении аналитического обзора в проблемной области диссертационной работы; обосновании требований к технологии разработки КП; разработке методов унификации на основе описания для программных пакетов и КП; проектировании и реализации части программной платформы для облачных вычислений CLAVIRE, отвечающей за исполнение композитных приложений и встраивание ПМ; проведении вычислительных экспериментов и интерпретации их результатов. Из работ, выполненных в соавторстве, в диссертацию включены результаты, которые соответствуют личному участию автора.
Структура и объем работы. Диссертация состоит из введения, четырех глав, заключения, списка литературы (97 источников) и 3 приложений. Содержит 170 с. текста (из них 163 основного и 7 – приложений), включая 65 рис. и 8 табл.