Характеристики инфраструктуры междисциплинарных ВЛП. Современный ВЛП представляет собой инструментарий распределенных вычислений для выполнения научных исследований и образовательной деятельности, позволяющий консолидировать вычислительные и программные ресурсы с целью решения междисциплинарных задач. Как следствие, в соответствии с общей постановкой [4] это выдвигает следующие требования к обеспечивающей инфраструктуре.
Информационная модель междисциплинарных ВЛП. Для обеспечения перечисленных выше требований к инфраструктуре ВЛП требуется развитие методической составляющей организации учебного процесса с использованием КП. Наиболее распространенным подходом к представлению КП является формализм потока работ, или workflow (WF), который позволяет описать связи между отдельными операциями в распределенной среде в виде ориентированного графа.
В целом WF-представление может рассматриваться как основа для формализации процесса изучения междисциплинарных явлений, на основе которого может быть построен весь цикл обучения в рамках выполнения ВЛП. Если представить WF в форме модели направленного ациклического графа (DAG), то его узлами будут являться блоки обработки данных с входными и выходными параметрами, а дугами - зависимости между узлами. Блоком может быть, например, запуск пакета, процедура, блок варьирования параметров, условное ветвление, цикл. Каждый блок композитного приложения представляется кортежем вида
, где
- множество идентификаторов входных параметров блока,
- множество идентификаторов выходных параметров блока (
- множество всех идентификаторов параметров),
- предикат, определяющий попадание переданного набора входных значений в область допустимых для пакета (т. е. проверяющий корректность),
- оператор, который определяет тип идентификатора,
- функция, переводящая переданные входные значения в выходные:
. (1)
Между блоками могут быть заданы зависимости двух типов: по данным и по управлению. Зависимость по данным соединяет выходной параметр одного блока с входным другого, при этом неявно также задается порядок исполнения блоков. Зависимость по управлению явно задает порядок исполнения блоков, на ее основе строятся управляющие конструкции: условие, цикл, блок варьирования параметров. В целом КП - это кортеж
, где
- множество идентификаторов входных параметров WF,
- множество идентификаторов выходных параметров WF,
- множество узлов WF (здесь
- узел WF),
- множество зависимостей по данным, C- множество зависимостей по управлению. В рамках предлагаемой модели зависимость по управлению - это двойка вида
,
- зависимый узел, а
- узел, от которого
зависит, при этом
. Зависимость по данным - это тройка вида
, где
- зависимый узел,
- множество узлов, от которых
зависит,
- функция конвертации данных. Зависимость по данным устанавливается между каждым (одним) входным параметром и несколькими выходными:
. (2)
Для всего WF или для каждого из его блоков может быть введена функция интерпретации interpretion, позволяющая преобразовать набор входных данных в набор выходных:
. (3)
Выражения (1)-(3) могут использоваться как в прямой, так и в обратной форме для описания информационных процессов, происходящих при выполнении ВЛП. В частности, в прямой форме они воспроизводят действия пользователя при выборе и настройке отдельных прикладных пакетов (1), их объединении в КП (2), а также запуске и исполнении всего КП в распределенной среде (3). Обратные зависимости могут интерпретироваться как критерии проверки действий обучаемого и успешности прохождения этапов выполнения ВЛП.
На основе модели (1)-(3) можно определить три подхода к использованию междисциплинарных ВЛП для развития составляющих компетенций.
1) Функция интерпретации (3) применяется к WF в целом; при этом предполагается, что КП в форме WF ранее создано и отлажено; обучаемый получает непосредственный доступ к нему без возможности изменения внутренней структуры в процессе выполнения ВЛП. Такой подход с использованием интегрированного ВЛП с доступом к удаленно выполняемым прикладным пакетам применяется для подготовки специалистов в предметных областях, с наследуемой проблемой эрозии знаний. Преимущество подхода - возможность «бесшовного» объединения пакетов в составе КП, что позволяет расширить круг решаемых задач и состав виртуальных лабораторных работ на основе одних и тех же прикладных пакетов и вычислительных ресурсов.
2) Функции (1)-(3) последовательно применяются к отдельным блокам WF - прикладным пакетам, от начала - к концу. В этом случае обучаемый имеет возможность пошагово исследовать процессы, происходящие в «междисциплинарной» системе, анализируя выходные данные каждого из пакетов и интерпретируя их влияние на результаты последующих вычислений. Данный режим работы является предпочтительным для ВЛП, поскольку позволяет воспроизвести «осязаемые» связи между объектами исследования и их составляющими.
3) Рассматривается только функция интерпретации (1) независимо для каждого из содержательных блоков WF. Этот подход ориентирован на обучение применению отдельных прикладных пакетов, включая подготовку входных данных, запуск на исполнение, визуализацию и интерпретацию результатов расчетов. Его цель состоит не столько в изучении междисциплинарных явлений, сколько в дополнении компетенций навыками использования прикладных пакетов, характерных для той или иной предметной области.
В качестве примера на рис. 1 приведен пример WF для междисциплинарного КП прогнозирования критических ситуаций, связанных с террористическими действиями в условиях несанкционированных флешмоб-акций, организованных с использованием социальных сетей. На рис. 1(а) приведена общая структура задачи. На первом шаге необходимо по вероятностным характеристикам в соответствии с многомерным законом степеней вершин сгенерировать модельную сеть, на основе которой исследуется распространение информации (оповещение об акции). Для того чтобы оценить неопределенность прогноза распространения информации, используется бутстрепирование - формируется выборка на основе текущей сети с удалением части случайно выбранных узлов. Далее по каждому элементу выборки моделируется процесс распространения информации в сети с целью определения интервальной оценки числа оповещенных (оценка сверху для числа участников социальной акции). Далее по характерным статистическим сценариям (минимальное, максимальное, среднее значение числа участников) выполняется анализ картины паники и эвакуации. В целом такое КП требует сопряжения пяти прикладных пакетов с различной функциональностью и интерфейсами (рис. 1(б)). Из рис. 1 видно, что совместное применение функций (1)-(3) позволяет в ходе ВЛП наблюдать подготовку и развитие флешмоб-акции, а также ее результат - динамику толпы во время паники. Напротив, использование функции (1) обеспечивает исследование только характеристик паники в зависимости от вероятностных характеристик структуры социальной сети; все динамические аспекты, связанные с оповещением участников, опускаются.
Реализация ВЛП на основе платформы CLAVIRE. Формулы (1)-(3) справедливы на уровне абстрактного описания КП в терминах предметной области. Их практическое воплощение сводится к интерпретации абстрактного WF (АWF) в исполнимую форму с последующем запуском на выполнение в распределенной вычислительной среде. Граф AWF транслируется в исполнимую форму - граф конкретного WF (CWF). Процесс интерпретации динамический, т.е. граф CWF определяется по мере выполнения блоков AWF. При интерпретации одного блока AWF могут порождаться множественные узлы в CWF. Таким образом, уравнение для интерпретации (3), примененное к модели WF, позволяет на абстрактном уровне задавать WF, который однозначно транслируется в исполнимую форму.
Для реализации рассмотренного механизма работы с КП в рамках перечисленных выше требований к инфраструктуре ВЛП допустимо использовать многопрофильную инструментально-технологическую платформу CLAVIRE (Cloud Application Virtual Environment) [7]. Платформа CLAVIRE, основанная на концепции iPSE (Intelligent Problem Solving Environment) [8], используется для построения предметно-ориентированных программно-аппаратных комплексов, обеспечивающих многопользовательский удаленный доступ через сеть Интернет к исполнению КП на неоднородных ресурсах облачной вычислительной среды. Платформа поддерживает принципы сервисно-ориентированной архитектуры (SOA) и позволяет использовать вычислительные ресурсы различной архитектуры (SMP, GPGPU, CBEA), а также существующие Грид-среды и среды облачных вычислений в рамках моделей IaaS и SaaS.
Принципиальным достоинством платформы CLAVIRE для реализации ВЛП является сочетание унифицированных подходов к платформенно-независимому описанию КП в форме WF, что позволяет обеспечить:
- сопряжение неоднородных программных модулей в составе одного WF на этапе интерпретации из абстрактного представления в исполнимую форму (реализуя функцию (1));
(а)
(б)
Рис. 1. Пример WF для междисциплинарного КП прогнозирования критических ситуаций: (а) общая структура задачи; (б) реализация КП средствами платформы CLAVIRE
- процесс проектирования, создания и исполнения КП как в пакетном, так и в интерактивном режиме исполнения с возможностью динамического изменения структуры WF (реализуя, таким образом, функции (2) и (3)).
Для описания прикладных пакетов в составе КП в платформе CLAVIRE используется предметно-ориентированный язык EasyPackagе [9]; его грамматика в нотации РБНФ представлена на рис. 2(a). В основе языка лежит формализация знаний о пакете, осуществляемая за счет декомпозиции интерфейса работы с пакетом в граф взаимосвязанных параметров. Выделяются следующие виды параметров: входные, выходные, параметры исполнения. Входные и выходные параметры описывают предметный интерфейс пакета, они открыты пользователю. Параметры исполнения характеризуют запуск пакета и отвечают за распараллеливание, определение механизма запуска, прогноз производительности по заложенным моделям. Помимо графа параметров в описание пакета входят описания механизмов обработки данных: проверки целостности задания входных параметров (попадания параметра в область допустимых значений), формирования входных данных для пакета из входных параметров, определения успешности запуска пакета, извлечения информации из результатов работы пакета. Предметные параметры пакета в разработанном описании характеризуются рядом свойств: названием, описанием, значением по умолчанию, а также типом, который может быть выбран из набора базовых. Все параметры укладываются в ациклический граф, в котором зависимости определяют порядок вычисления свойств и значений. Для описания файлов предусмотрен специальный тип файлового параметра. Файлы являются основным механизмом передачи данных на вход пакетам и получения результатов (помимо файлов параметры передаются через командную строку и переменные окружения). Ключевая особенность обработки файлов состоит в применении к ним двух видов процедур: извлечения данных (экстракторы) в параметры, а также формирования их из параметров (сборщики). Таким образом, за счет использования процедур осуществляется переход от низкоуровневой работы с пакетом к высокоуровневому параметрическому представлению, обеспечивающему интерпретацию (1).
Для описания структуры КП в целом используется предметно-ориентированный язык EasyFlow [9]; его грамматика в нотации РБНФ представлена на рис. 2(б). Он сочетает в себе черты декларативных и императивных языков программирования. Высокоуровневая структура КП задается в виде декларативных указаний, а промежуточная обработка данных оформлена в императивном виде. Возможности языка включают в себя задание блоков и зависимостей. Поддерживаются блоки исполнения пакета и варьирования параметров. Для блоков КП поддерживается режим постобработки, который использует императивный язык программирования Ruby.
ОписаниеПакета ::= {ИмпортБиблиотек} {ОбъявлениеКлассаRuby} ОбщееОписание {Секция}
ИмпортБиблиотек ::= use ИмяБиблиотеки
ОбщееОписание ::= {ИмяПоляОписания Строка}
ИмяПоляОписания ::= name|display|vendor|url|license|description
Секция ::= ИмяСекции "{" {ОбъявлениеПарам} "}"
ИмяСекции ::= inputs|outputs|execution
ОбъявлениеПарам ::= [public] ТипПараметра "{" {Поле} "}"
ТипПараметра ::= param|file|file_group|models
Поле ::= ПолеДанных|ТипДанных|Процедура|ОбработкаДанных
ПолеДанных ::= (name|display|description|depends|type|default|depends|package|
filename|path|filters|coeffs) ВыражениеRuby
ТипДанных ::= bool | enum [{Строка [","] }] | int | float | string | list | hash
Процедура ::= (required|validator|enabled|evaluator|expected|estimator) Лямбда
Лямбда ::= ["{" БлокRubyСПараметрами "}"]
ОбработкаДанных ::= (assembler|extractor) ВыражениеСозданияОбъектаКлассаRuby
(а)
Программа ::= {ВходныеДанные} {АтрибутWF} {({Комментарий}|{ОписаниеБлока})}
Комментарий ::= "//" Строка
ВходныеДанные ::= require СписокИдентификаторов ";"
АтрибутWF ::= "{" flow ":" Идентификатор "=" Выражение "}"
ОписаниеБлока ::= {Атрибут} (step|~step) Идентификатор runs КомпозитныйИдентификатор [after СписокИдентификаторов] СписокПараметров [ ПостОбработка ] ";"
КомпозитныйИдентификатор ::= { Идентификатор [Точка] }
СписокИдентификаторов ::= { Идентификатор [ "," ] }
Атрибут ::= "[" Идентификатор "=" Выражение "]"
СписокПараметров ::= "(" {(Параметр|Порт)[,]} ")"
Параметр ::= Идентификатор "=" Выражение
Порт ::= Идентификатор "<-" ПолеОбъекта
ПостОбработка ::= post code ruby КодRuby code end
Выражение ::= Литерал | ПолеОбъекта
ПолеОбъекта ::= КомпозитныйИдентификатор [ "[" Выражение "]" ]
Литерал ::= Строка | Целое | Дробное | Логическое | Список | Константа
Идентификатор ::= Буква{Буква|Цифра|"_"}.
(б)
Рис. 2. Упрощенная грамматика предметно-ориентированных языков платформы CLAVIRE: (а) EasyPackage; (б) EasyFlow
Платформа CLAVIRE позволяет, используя представление КП на языке EasyFlow, выполнять процедуру планирования исполнения на уровне всего WF в рамках распределенной вычислительной среды. Для этого используется режим предварительной интерпретации КП. Данный механизм обеспечивает изоляцию пользователя от аспектов низкоуровневого взаимодействия с ресурсами распределенной среды в процессе выполнения ВЛП. При этом использование декларативных описаний пакетов на языке EasyPackage обеспечивает защиту от легитимного пользователя. В частности, администратор системы может установить диапазоны изменения входных данных и сценарии использования пакетов, соответствующие учебным режимам применения ВЛП без модификации их исходного кода. Прямого доступа к вычислительным ресурсам, на которых выполняются пакеты, у пользователя нет - он работает только с управляющим ядром CLAVIRE.
Примеры междисциплинарных ВЛП. В целом платформа CLAVIRE является только средством разработки и поддержки функционирования ВЛП. В зависимости от решаемых задач она предоставляет разработчику пять классов пользовательских интерфейсов.
В современных ВЛП данные интерфейсы могут использоваться как отдельно, так и в совокупности в рамках инфраструктуры проблемно-ориентированных web-центров в среде облачных вычислений.
Характерным примером такого web-центра является учебно-научный комплекс «Компьютерное моделирование в нанотехнологиях» [10]. Его основу составляет аппаратно-программный комплекс HPC-NASIS II, который реализует концепцию iPSE [8] и предоставляет доступ к вычислительным сервисам и композитным приложениям в рамках бизнес-модели SaaS. Междисциплинарность данной проблемной области обусловлена тем, что компьютерное моделирование в нанотехнологиях основывается на многомасштабном подходе. На нижнем уровне иерархии находится уровень моделирования свойств самих атомно-молекулярных систем на основе квантово-механических ab initio (из первых принципов) расчетов. Последующие уровни ориентируются на использование результатов таких расчетов в качестве параметров системы вложенных моделей, определяющих свойства мезомасштабных и макромасштабных явлений. Комплекс включает в себя три группы таких моделей (24 пакета) - для квантово-механического моделирования и ab initio расчетов атомно-молекулярных систем, для вычисления характеристик различных процессов нанофотоники и наноплазмоники, а также для моделирования методами молекулярной динамики. Все прикладные пакеты развернуты на ресурсах среды ГридННС и предполагают использование в режиме удаленного доступа. ВЛП на основе комплекса включает в себя как решение отдельных задач моделирования наноразмерных атомно-молекулярных структур, так и КП для комплексного моделирования нанотехнологических процессов. На рис. 3(а) приведен основной скриншот учебно-научного комплекса «Компьютерное моделирование в нанотехнологиях».
Другим примером использования платформы CLAVIRE для организации ВЛП является производственно-исследовательский web-центр «Социодинамика» (http://socio.escience.ifmo.ru/) [11]. Он предназначен для поддержки научной и образовательной деятельности в области компьютерного моделирования в науках об обществе и человеке. Web-центр представляет собой открытую интеллектуальную проблемно-ориентированную среду, объединяющую распределенные сервисы вычислений и доступа к данным. В их число входят 12 прикладных пакетов обработки данных и социодинамического моделирования, доступные в рамках концепции облачных вычислений, а также специализированный инструмент для сбора данных из социальных сетей - краулер. Междисциплинарность в данном случае обусловлена разнообразием методологических подходов к социальному моделированию, математический аппарат часто заимствуется из смежных областей-аналогов (например, статистической физики [12]).
Дополнительно web-центр оснащен инструментарием поддержки виртуального профессионального сообщества пользователей в рамках концепции web 2.0, включая интерактивные средства общения, совместного выполнения проектов, поддержки единого рабочего пространства, а также средства, позволяющие вести обсуждение в режиме реального времени с использованием графики и текста. Кроме того, предусмотрены сервисы интерактивной консультации экспертов, возможность сохранения результатов выполненных задач для последующего использования другими членами сообщества или для совместного обсуждения и исправления. Аппаратная составляющая web-центра формируется в составе распределенной иерархической среды облачных вычислений, включающей в себя выделенные суперкомпьютеры, виртуальные машины в «облаке» и целевые системы в составе среды ГридННС. Единообразный способ работы с центром, равно как и оптимизация распределения вычислительной нагрузки, осуществляется средствами CLAVIRE. ВЛП на основе web-центра включает в себя 15 лабораторных работ, ориентированных на решение таких задач, как анализ скорости и каналов распространения информации в социальной сети, анализ и прогноз индексов общественных настроений, выявление групп влияний в социальной сети и определение «лидеров мнений», мониторинг манипуляций мнениями и источников дезинформации. На рис. 3(б) представлен пример проблемно-ориентированного интерфейса в ходе выполнения ВЛП по моделированию и исследованию социальной сети с заданными свойствами (http://socio.escience.ifmo.ru/poi/) [11].
|
(а) |
|
(б) |
Рис. 3. Примеры реализации междисциплинарных ВЛП на основе CLAVIRE: (a) учебно-научный комплекс «Компьютерное моделирование в нанотехнологиях»; (б) производственно-исследовательский web-центр «Социодинамика»
Заключение. Таким образом, предложенный подход к организации инфраструктуры ВЛП в рамках концепции iPSE, реализуемой в инструментально-технологической платформе CLAVIRE, позволяет отчасти нивелировать негативные аспекты, связанные с информатизацией процессов выполнения лабораторных работ в междисциплинарных программах.
Реализованные на основе CLAVIRE проблемно-ориентированные ВЛП в области нанотехнологий и моделирования в науках об обществе и человеке внедрены в рамках магистерской образовательной программы НИУ ИТМО «Суперкомпьютерные технологии в междисциплинарных исследованиях».
Работа выполнена в рамках проекта по реализации постановления №218 Правительства Российской Федерации (платформа CLAVIRE), а также проекта «Исследование и разработка web-ориентированного производственно-исследовательского центра в конкретной прикладной области» федеральной целевой программы «Исследования и разработки по приоритетным направлениям развития научно-технологического комплекса России на 2007-2013 годы».
Рецензенты: