Научная статья на тему 'Инструментальная оболочка поддержки принятия решений разработчика высокопроизводительных приложений в грид-среде'

Инструментальная оболочка поддержки принятия решений разработчика высокопроизводительных приложений в грид-среде Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
102
13
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Дунаев Антон Валентинович, Ларченко Алексей Викторович, Бухановский Александр Валерьевич

В статье рассматривается новый подход к автоматизации процесса проектирования высокопроизводительных приложений в Грид-среде. Обосновываются базовые принципы функционирования интеллектуальной системы поддержки принятия решений разработчика, обсуждаются аспекты ее практической реализации в инструментальных оболочках семейства РЕО. Представлены оценки эффективности композитных приложений.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Дунаев Антон Валентинович, Ларченко Алексей Викторович, Бухановский Александр Валерьевич

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

The article examines a new approach to automation of high-performance applications development for Grid. Basic principles of intellectual decision support system functioning are described, issues to practical implementation of the system in PEG software family are discussed. Also assessments of composite applications effectiveness are presented.

Текст научной работы на тему «Инструментальная оболочка поддержки принятия решений разработчика высокопроизводительных приложений в грид-среде»

ный синтаксис этого языка определен в виде ме-тамодели автоматной программы. Семантика выполнения автоматной программы описана в виде автоматной программы (рис. 4). Конкретный синтаксис автоматной программы задан с помощью автоматной программы, распознающей конкретное представление автоматной программы.

Реализованная согласно этой спецификации машина автоматного программирования была применена для интерпретации этой же спецификации.

Заключение

С помощью рассмотренного метода определения проблемно-ориентированных языков удалось описать наиболее сложный с точки зрения семантики фрагмент языка СЛОН - табличные выражения. Машина автоматного программирования позволяет получить языковый процессор этого фрагмента. Рассмотренный в статье метод показал свою выразительную мощность и возможность настройки на предметную область.

СПИСОК ЛИТЕРАТУРЫ

1. Martin Fowler "Language Workbenches: The Killer-App for Domain Specific Languages?" www. martinfowler.com/articles 12 June 2005

2. Sergey Dmitriev "Language Oriented Programming: The Next Programming Paradigm" www.on-board.jetbrains.com February 2005

3. Олловгрен А. "Определение языков программирования интерпретирующими автоматами". Москва Мир 1977

4. Шалы го А. А. Сайт по автоматному программированию и мотивации к творчеству http://is.ifmo. ги/ СПбГУИТМО Кафедра "Технологии программирования"

5. Гуров В. С., Мазни М. А., Шалыго А. А.

"Автоматическое завершение ввода условий в диаграммах состояний", http://is.ifmo.ru/works/_2008-02-28_auto_stop.pdf 2008

6. Krasinsky G. A., Novikov F. A., Skripnichen-ko V. I. "Problem Oriented Language lor Ephemcris Astronomy and its Realization in System ERA" Cel. Mech.. 1989. Vol. 45. P. 219-229

7. Новиков Ф. А. "Архитектура системы ЭРА -табличный подход к обработке данных" Ленинград ИПАРАН. 1990

8. Буч Г.. Якобсон А., Рамбо Дж. UML. 2-е издание. СПб.. Питер. 2006

Дунаев А. В., Ларченко A.B., Бухановский A.B.

Инструментальная оболочка поддержки принятия решений

разработчика высокопроизводительных приложений

в Грид-среде

Введение

На современном этапе развития технологий распределенных вычислений и систем понятие Грид подразумевает географически распределенную, согласованную, открытую и стандартизованную среду разделения вычислительных и информационных ресурсов [1]. Оно обобщает частные определения, независимо сформулированные I. Foster и С. Kesselman [2] и М. Livny [3], которые по мере внедрения технологий Грид в научно-исследовательскую и производственную практику расширяются и модифицируются. В настоящее время наибо-

лее привычной является инфраструктурная интерпретация Грид как среды, предоставляющей совокупность высокопроизводительных вычислительных ресурсов для выполнения независимых задач многих пользователей [4]. Однако в рамках концепции [1] допустим альтернативный подход, который рассматривает Грид как специфическую ("мягкую", soft) среду параллельных вычислений наряду с более традиционными (например, кластерными, гибридными, Р2Р) параллельными архитектурами.

Проблема эффективной организации параллельных вычислений в Грид связана с не-

обходимостью объединения и синхронизации большого количества вычислительных систем для решения одной задачи. Ее решение связано с учетом ряда специфических факторов, в общем случае отрицательно влияющих на параллельную производительность. К ним относятся неоднородность вычислительных ресурсов и стохастическая изменчивость параметров коммуникационных сетей и вычислительных систем, характеризуемая нестационарным поведением во времени [5]. Потому принципы проектирования эффективных параллельных вычислительных приложений в Грид существенно отличаются от традиционных подходов. характерных, например, для кластерных систем [6]. Вследствие этого "ручной" процесс разработки таких приложений является весьма трудоемким и требует высокой квалификации разработчиков. Это ограничение может быть отчасти устранено за счет развития специализированного программного инструментария (технологических сред и оболочек проектирования). в частности инструментальной оболочки семейства PEG (Parallel Execution on Grid), представляемой в данной статье.

Интеллектуальный подход к задаче проектирования высокопроизводительных приложений для Грид-архитектур

Целью проектирования является формализация и обоснование внутренней структуры приложения (элементов и связей между ними), обеспечивающей оптимальные значения пользовательских характеристик при заданных ограничениях. Применительно к задачам высокопроизводительных вычислений такими характеристиками являются общее время выполнения. а также связанные с ним параллельное ускорение и эффективность. Эти величины совокупно зависят от особенностей применяемых параллельных алгоритмов, характеристик исходных данных и специфики параллельной вычислительной архитектуры [7].

Отличительной особенностью процесса проектирования приложений в Грид является изначальная ориентация на использование предметно-ориентированных вычислительных компонентов - прикладных Грид-сервисов (ПГС). Под ПГС подразумевается прикладная программа, зарегистрированная в Грид посредством ее оборачивания (wrap) соответствующей сервисной оболочкой, которая позволяет использовать ПГС другим системным и при-

кладным сервисам. Таким образом, решение задачи проектирования сводится к поиску необходимых пользователю сервисов и их взаимной организации в рамках соответствующего композитного приложения. При этом базовыми механизмами формирования оптимальной параллельной программной архитектуры такого приложения являются выбор конкретных реализаций сервисов, выбор эффективных способов распараллеливания по каждому из сервисов (внутренний параллелизм), выбор эффективных способов распараллеливания на уровне композитного приложения, статическая и динамическая балансировки, миграция задач между узлами в Грид.

В общем случае преимущества выбора (или тем более комбинации) механизмов формирования оптимальной архитектуры неочевидны в силу относительно слабой формализации требований и ограничений, изменчивости внешней среды (в данном случае инфраструктуры Грид) и неопределенности характеристик задачи. Как следствие, решение такой задачи целесообразно осуществлять не формальными методами, а средствами искусственного интеллекта [8]; при этом программный инструментарий поддержки процесса проектирования в заданной предметной области должен быть реализован в форме интеллектуальной системы реального времени.

На рис. 1 приведена концептуальная схема, иллюстрирующая принцип действия интеллектуальной системы поддержки принятия решений (ИСППР) разработчика высокопроизводительных приложений в Грид. Челове-ко-компьютерное взаимодействие в ИСППР осуществляется посредством графической нотации \vorkflow (\\Т). или потока задач [9]. Пользователь описывает композитное приложение в форме мета-иог^/Ьи' (М\УЕ). М\\Т представляет собой формальное описание пользовательской задачи в терминах предметной области; в общем случае - без указаний условий ее реализации в Грид. На первом этапе работы ИСППР выполняется интерпретация М\\Т. на основании которой осуществляется семантический поиск сервисов, зарегистрированных в Грид, в рамках заданной предметной области.

Таким образом, создается набор активных ПГС. установленных на конкретных вычислительных системах, входящих в Грид и готовых к использованию. Результатом является набор

абстрактных workflow (AWF), которые отличаются от MWF тем, что нечеткое описание сервисов в терминах предметной области

заменено конкретными реализациями ПГС. Второй этап работы ИСППР связан с созданием оптимального расписания, которое обеспе-

Пользователь

•а

Формальное графическое описание приложения в виде MWF

х

я»

4 г,

л —

f ^

о.

о и Е 5 а с, о

<u X.

D.-&

В

а

Н ■

5

Компонент семантического поиска сервисов

База знаний I предметно -ориентированное описание сервисов, зарегистрированных в Грид

Набор активных сервисов - AWF

Компонент логического вывода I - построение конкурирующих расписаний

База знаний II характеристики производительности вычислительных

сервисов , зарегистрированных в Грид ♦ -

Набор активных фактов

V . у

Монитор состояния вычислительной среды

Набор активных расписаний - CWF ]

База знаний III характеристики производительности моделей WF

Компонент логического вывода II - сопоставление и ранжирование расписаний - База знаний IV характеристики достоверности интерпретируемых знаний

\

Квазиоптимальное расписание Усиление логического вывода за счет приобретения дополнительных знаний

Генератор композитного приложения

Композитное приложение в Грид 1

з

н м

g

-а о Ц В-

U

е> я О О. Си

_J

Исполнитель композитного приложения

Монитор исполнения приложения

В

V

п

и Я

8. с о с

ч о а

3 са

D =

х

Л m О

s ч и

э

s

2

х г

о г

5 *

2 °

-в- §

О Q.

о> в С

л

X

J

Ц

СО fn а CJ

и р

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

i СП

В т

о.

и

р**

о

bi

(Т)

03

8 о s^ 0) с в Я я 8 о ^

3 в ю в

§1

4

и С.

в

База данных статистики запусков (по сервисам и приложениям )

Рис. 1. Концептуальная схема ИСППР разработчика высокопроизводительных приложений в Грид

чивало бы наибольшую производительность. Для этого используются экспертные знания о производительности ПГС. предоставляемые их разработчиками при регистрации сервиса в Грид. например, в форме параметрической модели времени выполнения в зависимости от параметров задачи и характеристик вычислительной системы. Используя данные мониторинга текущего состояния Грид и известные характеристики пользовательской задачи, определяются активные факты в форме времени выполнения конкретных ПГС. Эти факты используются для построения системы конкурирующих расписаний: при этом конкуренция обусловлена как различными эвристиками. применяемыми для ускорения процесса построения расписания, так и разнообразием AWF, порождаемых одним MWF. Как следствие, выбор оптимального расписания требует выполнения процедуры сопоставления альтернатив путем их ранжирования в условиях неопределенности входных данных, стохастической изменчивости параметров Грид и экспертного характера знаний о производительности ПГС. В результате пользователю предлагается один или несколько (в том случае, если достоверно нельзя отдать приоритет ни одному) конкретных workflow (CWF). Каждый CWF является полным описанием параллельного выполнения задачи в Грид. Таким образом, пользователь может непосредственно трансформировать CWF в соответствующие коды и отправить на выполнение в Грид или использовать автоматически сгенерированные коды как каркас для дальнейшей "ручной" доработки. В результате выполнения приложения пользователь получает результат в виде набора данных, которые отправляются в указанное хранилище Грид или на машину пользователя.

Существенным отличием данной ИСППР реального времени от традиционных экспертных систем является наличие адаптивной компоненты, которая позволяет усиливать процедуру логического вывода системы за счет приобретения дополнительных знаний в ходе ее функционирования в условиях постоянно изменяющейся среды. Дополнительные знания могут приобретаться косвенным путем за счет поиска по прецеденту, имитационного моделирования, профилировки приложения, а также экспериментальных измерений производительности отдельных ПГС. При этом динамически формируется и обновляется база данных

статистики предыдущих запусков: ее анализ позволяет не только уточнить интерпретируемую информацию (например, коэффициенты моделей производительности), но и судить о качестве знаний, предоставляемых экспертами, регулируя соответствующие коэффициенты достоверности. Таким образом, предлагаемая ИСППР позволяет автоматизировать процесс разработки параллельных приложений в Грид даже в условиях существенной неопределенности. когда разработчик не сообщает достоверной информации о производительности своих ПГС.

Программная реализация:

инструментальные оболочки семейства PEG (Parallel Execution on Grid)

Концептуальная схема ИСППР. приведенная на рис. 1, реализуется в семействе инструментальных оболочек PEG (Parallel Execution on Grid) поддержки принятия решений разработчика высокопроизводительных приложений в Грид. Семейство PEG включает в себя следующие образцы.

• PEG1: инструментальная оболочка параллельного исполнения приложений. PEG1 позволяет создавать композитные приложения из готовых или разрабатываемых ПГС и оперативно отслеживать процесс их исполнения в Грид.

• PEG2: инструментальная оболочка информационной и технологической поддержки процесса проектирования приложений. PEG2 поддерживает визуальную среду прототипи-рования композитного приложения в терминах CWF и предоставляет набор специфичных для Грид инструментов проектирования (монитор Грид, контроллер ресурсов, монитор исполнения и пр.).

• iPEG (Intelligent PEG): интеллектуальная среда, реализующая всю последовательность операций, отображенную на рис. 1, от задания пользователем MWF до выполнения композитного приложения, созданного на основе квазиоптимального CWF.

На рис. 2 представлен процесс эволюции архитектуры оболочек семейства PEG. В PEG 1 реализована основная функциональность работы с инфраструктурой Грид на основе Intel Grid Programming Environment (GPE). Он использует библиотеки GPE API версии 1.5, которые в свою очередь являются надстройкой над средой Globus. Это решение позволяет

изолировать реализацию инструментальной оболочки от особенностей архитектуры Грид. Элемент исполнения в оболочках PEG отвечает за выполнение пользовательского задания на удаленных целевых системах: он осуществляет вызовы интерпретатора WF. балансировочных алгоритмов, а также производит мониторинг. В инструментальной оболочке PEG2 по сравнению с PEG1 вводятся дополнительные функциональные элементы, в частности визуальная оболочка проектирования, элемент представления WF. элемент мониторинга Грид и элемент прогнозирования времени выполнения приложений в Грид. Визуальная оболочка реализует процесс человеко-компьютерного взаимодействия в графической форме. Элемент представления WF, по сути, является интерпретатором пользовательской постановки задачи для дальнейшего использования остальными элементами программного комплекса. Элемент балансировки и построения расписаний использует элементы мониторинга среды Грид и прогнозирования времени работы композитного приложения для построения CWF. имеющего наибольшую производительность.

В интеллектуальной среде iPEG вводится ряд принципиально новых элементов, главным из которых является элемент управления знаниями. Он предоставляет основной функционал для работы с базами знаний, в том числе инструменты их использования, активизации, извлечения, пополнения и обновления, а так-

же проверки целостности и достоверности. Дополнительно в iPEG входит элемент планирования. который необходим для построения набора активных расписаний с использованием семантического поиска сервисов по нечеткому пользовательскому описанию задачи в форме MWF. Элемент планирования взаимодействует с элементом управления знаниями, получая от него информацию о доступных сервисах и их онтологических описаниях. Это обеспечивает соответствие общей архитектуры оболочек семейства PEG (см. рис. 2) принципам работы ИСППР. изображенной на рис. 1.

Применение инструментальной оболочки ¡PEG для создания высокопроизводительных композитных приложений в Грид

Интеллектуальная среда iPEG позволяет осуществлять полномасштабную информационную поддержку принятия решений разработчика высокопроизводительных приложений в Грид. Проиллюстрируем основные принципы работы системы на примере композитного приложения, осуществляющего расчет климатических спектров морского волнения [10]. В процессе вычислений производится статистическое обобщение массива таблично заданных функций (24x25 значений) распределения энергии волн по частотам и направлениям в фиксированной точке пространства за длительный временной интервал. Каждой из таблиц сопоставляется нелинейная функция двух

Рис. 2. Эволюция архитектуры оболочек семейства PEG

аргументов, параметры которой определяются методом адаптивного случайного поиска. Обработка таблиц ведется независимо, что позволяет выполнять распараллеливание вычислительного процесса по данным.

На рис. 3 приведены характеристики времени обработки массива из 8 тысяч спектров, полученные на экспериментальном стенде -корпоративной Грид-системе, состоящей из 24 целевых систем на базе процессоров Intel Pentium D и Intel Core 2 Quad.

По ходу работы в ИСППР, реализуемой инструментальной оболочкой iPEG. рассматривались три конкурирующих расписания: равномерное распределение данных, прямая каскадная схема и обратная каскадная схема, реализующие синхронные способы взаимодействия с вычислителями. Видно, что в среднем для небольшого количества вычислителей (/? = 2-5-4) каскадные схемы являются более предпочтительными; с увеличением р накладные расходы на осуществление синхронного взаимодействия возрастают, и. как следствие, предпочтительным становится использование равномерной схемы распределения данных по вычислителям.

На рис. 3 также приведены ядерные оценки плотности распределения времени работы для каждой из трех схем распараллеливания по данным, полученные путем обобщения результатов измерений. Видно, что с увеличением

количества вычислителей разброс времени выполнения возрастает, что связано с ростом влияния стохастических эффектов коммуникаций в Грид. При этом взаимное расположение плотностей распределения определяет правила ранжирования конкурирующих расписаний. Например, в случае "А" (см. рис. 3) для р = 2 прямая и обратная каскадные схемы приводят в среднем к практически одинаковым оценкам времени работы. Различие между ними существенно меньше соответствующего диапазона изменчивости, что не позволяет автоматически выбрать наилучший способ. Однако разброс времени работы для прямой каскадной схемы в 1.5 раза больше, чем для обратной каскадной схемы. Как следствие, окончательный выбор схемы распараллеливания остается за пользователем, исходя из предпочитаемой им стратегии (меньший риск - меньшая производительность. больший риск - большая производительность).

С другой стороны, существуют ситуации (например. "Б" при р = 24), когда плотности распределения времени работы для разных схем перекрываются, однако различие между средними значениями сопоставимо с их диапазоном изменчивости. Тогда ранжирование конкурирующих расписаний должно вестись с учетом заданного уровня значимости ошибки: в частности, в ситуации "Б" в 5% случаев обратная каскадная схема будет давать лучший по

Г, сек.

ПО г

оо- 1

□□ — 2

<>о...... 3

8 10 12 14 16 18 20 22

Количество вычислителей

Рис. 3. Время выполнения иллюстративного композитного приложения по обработке 8 тысяч спектров морского волнения в Грид: I равномерная схема; 2 - каскадная схема: 3 - обратная каскадная схема (А, Б см. по тексту)

производительности результат, чем равномерная. несмотря на то, что в среднем равномерная схема работает в 1,5 раза быстрее.

Из рис. 3 также видно, что кривые производительности имеют ярко выраженный минимум (для каскадных схем при р = 6, для равномерной при р- 12), которые и определяют оптимальный режим выполнения задачи. Для рассмотренного примера максимальное ускорение в среднем составляет около 2,5 раз, а выигрыш по сравнению с конкурирующими каскадными расписаниями — в 2 раза. Столь невысокие показатели ускорения характерны для вычислений в Грид в силу существенного вклада коммуникационной составляющей; однако они являются только одним из определяющих факторов (наравне с объемом доступной памяти, дискового пространства и пр.), которые заставляют пользователей обратиться к технологиям распределенных вычислений и систем.

Таким образом, в ходе работы интеллектуальной системы ¡РЕв рассмотренный выше анализ проводится автоматически, что позволяет обосновать выбор квазиоптимальной схемы

распараллеливания композитного приложения применительно к доступным в Грид вычислительным ресурсам и ПГС.

Заключение

Проектирование высокопроизводительных приложений в Грид является сложным и ресурсоемким процессом, требующим высокой квалификации разработчика и специализированного программного инструментария. Представленное в статье семейство инструментальных оболочек PEG позволяет реализовать интеллектуальный подход к решению задачи проектирования в рамках последовательности MWF-AWF-CWF. автоматизируя процесс разработки композитных приложений на основе ПГС и гибко управляя их параллельной производительностью, исходя из конкретных условий эксплуатации инфраструктуры Грид.

Работа выполнена в рамках НИР 2007-4-1.4-20-01-025 "Разработка инструментальной оболочки проектирования высокопроизводительных приложений для Грид-архитектур в целях создания прикладных сервисов компьютерного моделирования и обработки данных".

СПИСОК ЛИТЕРАТУРЫ

1. Stockinger Н. Defining the Grid — a snapshot of the current view // Journal of Supercomputing. — Springer Sciencc+Business Media, 2007. P. 3-17.

2. Foster I., Kesselman. C. The Grid: Blueprint for a New Computing Infrastructure. Morgan-Kaufman, 1999. 701 p.

3. Thain D., Tannenbaum Т., and Livny M. Condor and the Grid // Berman F.. (Editor). Fox G. (Editor), Hey J.G. A. (Editor) Grid Computing: Making The Global Infrastructure a Reality. - John Wiley, 2003, P.299-335

4. Дмитриев В.Ю. Сети высокопроизводительных вычислений — новое направление ИТ// Информационный бюллетень. Jetlnfo. Выпуск 175 — М.: компания "Инфосистемы Джет", 2007. — 28 с.

5. Дунаев А.В., Ларченко А.В.. Ьухановскнн А.В. Моделирование параллельных вычислительных процессов в среде Грид на примере Intel Grid Programming Environment // ПаВ'Г 2008 — сборник трудов (электронное издание), 2008. — С. 383-389.

6. Гергель B.I I. Теория и практика параллельных вычислений: учебное пособие— М.: Интернет-Уни-верситет Информационных Технологий: БИНОМ. Лаборатория знаний. 2007. — 423 с.

7. Ковальчук С. В., Иванов С. В.. Колыхматов И. И., Бухановский А. В. Особенности проектирования высокопроизводительных программных комплексов для моделирования сложных систем // Информационно-управляющие системы. 2008. №3. — С. 10-18.

8. Нечаев Ю.И. Искусственный интеллект: концепции и приложения. — СПб.: Изд. СПбГМТУ. 2000. — 294 с.

9. Blythe J., Deelman Е. et al. The Role of Planning in Grid Computing // ICAPS 2003. [http://www. isi.edu/~gil/papers/icaps03-submission.pdf|.

10. Boukhanovsky A.V.. Lopatoukhin L.J.. Guedes Soares C. Spectral wave climate of the North Sea // Applied Ocean Research, Volume 29. Issue 3. July 2007. P.146-154

i Надоели баннеры? Вы всегда можете отключить рекламу.