Организация брокера ресурсов в системе CAEBeans

УДК 004.45

ОРГАНИЗАЦИЯ БРОКЕРА РЕСУРСОВ В СИСТЕМЕ CAEBEANS

А.В. Шамакина

ORGANIZATION OF THE RESOURCES BROKER IN THE CAEBEANS SYSTEM

A.V. Shamakina

Представлена организация брокера ресурсов в системе CAEBeans. Технология CAEBeans предназначена для построения иерархии проблемно-ориентированных грид-оболочек CAEBeans над инженерными пакетами. Дано описание алгоритма работы брокера ресурсов. Представлены структура XML-запросы CAEBeans Server к брокеру ресурсов и алгоритмы планирования.

Ключевые слова: САЕ, САЕВеап, грид-оболочка, сервисно-

ориентированная архитектура, системный слой, брокер ресурсов

We present the organization of resources broker in the CAEBeans system. The CAEBeans is destined for problem-oriented grid-shells hierarchy building over the CAE. We describe the algorithm of work of the resource broker. We consider the structure of XML-queries from the CAEBeans Server to the resource broker and algorithms of planning.

Keywords: CAE, CAEBean, grid-shell, service-oriented architecture, system layer, resources broker

Введение

В настоящее время все большее распространение получают глобальные вычислительные сети Grid. Они были предложены в качестве новой парадигмы для решения крупномасштабных вычислительных задач в науке, технике и бизнесе. Это связано с тем, что сети Grid дают возможность одновременного использования миллионов вычислительных ресурсов, принадлежащих различным организациям и расположенных в различных административных областях. Системы Grid объединяют разнородные вычислительные ресурсы (персональные компьютеры, рабочие станции, кластеры, суперкомпьютеры), используя разные стратегии доступа к ним, выполняя различные приложения (научные, инженерные и коммерческие), предъявляющие к системе различные требования. Ресурсы принадлежат различным организациям, имеющим свои правила управления ресурсами, их использования и определения их стоимости для различных пользователей в различное время. Доступность и загруженность ресурсов также может динамически изменяться во времени.

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

ресурсов и пользователями в соответствии с выбранными ими стратегиями [1]. Для решения этой проблемы создаются системы управления ресурсами Grid [2].

Однако ни одна из ранее созданных систем управления ресурсами не удовлетворяет специфике системы CAEBeans [3,4], в рамках которой необходимо учитывать не только характеристики ресурсов, но и наличие уста-новленных инженерных пакетов, количество доступных лицензий на них и др. В системе CAEBeans в качестве Grid Middleware был выбран Unicore 6.0 [5].

Брокер ресурсов принимает задания от CAEBeans Server, согласовывает требования к ресурсам и на-правляющий задания на подходящий вычислительный элемент. Можно выделить следующие основные задачи брокера ресурсов: обработка каталога ресурсов грид-среды; анализ запросов на предоставление ресурсов, поступающих от CAEBeans Server; сбор и предоставление информации об актуальном состоянии грид-среды [6]. В работе предложены новый алгоритм работы брокера ресурсов и алгоритмы планирования.

Статья организована следующим образом. В разделе 1 приводится описание основных концепций технологии CAEBeans, рассматриваются основные особенности слоистой архитектуры системы CAEBeans. Раздел 2посвящен краткому описанию структуры системы CAEBeans. В разделе 3приведен алгоритм работы брокера ресурсов в системе CAEBeans. В заключении суммируются основные результаты и описаны направления дальнейшей работы.

1. Технология CAEBeans

В работе [7] описана технология CAEBeans, которая ориентирована на инкапсуляцию и предоставление ресурсов CAE-пакетов в рамках грид-среды. В основе данного подхода лежит процесс построения дерева проблемно-ориентированных оболочек CAEBeans над САЕ пакетом на основе классификации типовых задач.

Архитектура системы CAEBeans формируется из четырех слоев: концептуального, логического, физического и системного. Каждый слой системы формируется из оболочек CAEBeans соответствующего типа: проблемный, потоковый, компонентный и системный.

Проблемный САЕВеап предназаначен для взаимодействия пользователя с системой CAEBeans. Посредством пользовательского интерфейса проблемного САЕВеап пользователь может произвести постановку инженерной задачи; проследить за ходом решения поставленной задачи; получить требуемые результаты решения.

Потоковый САЕВеап реализует логический план решения определенного класса задач компьютерного моделирования. Логический план решения задачи представляет собой ориентированный граф, в вершинах которого могут находиться блоки двух типов: подзадачи, выполняемые отдельными базовыми компонентами и специальные служебные операции управления потоком решения задачи.

Компонентный САЕВеап инкапсулирует процесс постановки и решения конкретной подзадачи компьютерного моделирования посредством определенного базового компонента.

Системный САЕВеап инкапсулирует функциональные возможности конкретного базового компонента, обеспечивает сервисно-ориентированный подход к постановке задач и получению результатов.

2. Структура системы CAEBeans

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

выделить следующие основные программные продукты, входящие в состав системы CAEBeans.

• CAEBeans-портал - web-портал, предназначенный для постановки пользователями задачи в системе CAEBeans.

• CAEBeans Server - web-сервис XML, который обеспечивает выполение задачи пользователя, отвечает за хранение и интерпретацию САЕ-проектов.

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

На рис. 1 приведены основные компоненты системы CAEBeans. Пользователь проходит аутентификацию на САЕВеапэ-портале, выбирает необходый проект из списка доступных для выполнения проектов. Автоматически генерируется web-форма для потокового САЕВеап данного проекта. Пользователь указывает параметры задачи и производит постановку задачи на выполнение. Данные web-формы передаются CAEBeans Server, который находит в своей базе данных проект САЕВеап, соответствующий проблемному САЕВеап пользователя. Затем CAEBeans Server выполняет потоковый САЕВеап из проекта: формирует и делает постановку подзадачи на CAE-ресурс. Для получения ресурсов, необходимых для решения каждой конкретной подзадачи CAEBeans Server взаимодействие с брокером CAEBeans. После получения результатов решения CAEBeans Server передает их пользователю по его запросу.

¥

ГРИД

Рис. 1. Взаимодействие основных компонентов системы CAEBeans 3. Алгоритм работы брокера ресурсов

Брокер ресурсов выступает в качестве промежуточного звена между CAEBeans Server и грид-средой, обеспечивающего поиск и предоставление ресурсов, оптимальных для решения данной подзадачи.

Каталог ресурсов - это база данных, которая хранится на web-сервере и содержит информацию о целевых системах, лицензиях и задачах пользовалей. С каталогом ресурсов работают непосредственно брокер ресурсов и администратор каталога ресурсов.

Под целевой системой будем понимать совокупность аппаратных ресурсов вычислительной системы, операционной системы, инженерных пакетов и системных САЕВеап, которые играют роль грид-оболочек над инженерными пакетами.

На целевой системе в качестве Grig Middleware должен быть установлен Unicore 6.0. Тогда системный САЕВеап - это вид сервиса Unicore, предназначенный для работы с инженерными пакетами, на данной целевой системе.

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

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

Рассмотрим более подробно схему выделения и использования ресурсов грид-среды с участием брокера ресурсов (см. рис. 2).

Рис. 2. Схема работы брокера ресурсов

1. CAEBeans Server производит запрос к брокеру ресурсов на предоставление ресурса.

2. Брокер ресурсов производит запрос к каталогу ресурсов, формируя список целевых систем, характеристики которых удовлетворяют заявленным обязательным требованиям задачи. Затем на основе заданного алгоритма поиска выбирается одна целевая система, ее ресурсы маркируются в каталоге ресурсов как занятые. Если все целевые системы заняты, то брокер ресурсов ставит задачу в очередь.

3. Брокер ресурсов передает URL целевой системы и имя сервиса CAEBeans Server.

4. CAEBeans Server обращается к предоставленным ресурсам.

5. Дальнейший процесс постановки, решения и получения результатов происходит напрямую, между CAEBeans Server и предоставленным ресурсом без участия брокера.

6. После получения результатов вычисления CAEBeans Server производит освобождение ресурса и извещение брокера об его освобождении.

Брокер ресурсов реализуется в виде web-сервиса XML. Web-сервис XML - это программный компонент, который позволяет создавать независимые от платформы масштабируемые и слабосвязанные приложения. Благодаря Web-сервисам XML приложения могут обмениваться сообщениями с использованием стандартных протоколов, таких как HTTP, XML, XSD, SOAP и WSDL.

Для взаимодействия с брокером ресурсов вводятся методы, которые делятся на две группы: методы, предназначенные для работы администратора с каталогом ресурсов, и методы для работы CAEBeans Server с брокером.

Методы брокера ресурсов для администратора каталога ресурсов:

• addTargetSystem(TargetSystem target)- добавление в каталог ресурсов новой целевой системы;

• delTargetSystem(TargetSystem target)- удаление из каталога ресурсов целевой системы;

• addLisence(Lisence lisence) - добавление в каталог ресурсов новой лицензии;

• delLisence(Lisence lisence) - удаление из каталога ресурсов лицензии.

Методы брокера ресурсов для взаимодействия с CAEBeans Server:

• queryResource(Query query) - поиск и захват подходящих ресурсов;

• unlockResource(Task task) - освобождение ресурса.

Запрос CAEBeans Server к брокеру ресурсов является XML-файлом и содержит следующую информацию: уникальный идентификатор задачи, список необходимых лицензий, имя системного САЕВеап, время необходимое для решения задачи в секундах, оптимальную конфигурацию (количество ядер, объем оперативной памяти), минимальную конфигурацию.

Минимальная конфигурация аппаратных средств - это возможные отступления от необходимых для выполнения задачи требований. Если минимальная конфигурации не указана в запросе CAEBeans Server, то брокер ресурсов принимает в качестве нее оптимальную конфигурацию.

В случае, когда в запросе к CAEBeans брокеру информация указана не полностью, принимаются значения по умолчанию. На рисунке 3 приведен пример запроса CAEBeans Server.

<query>

<id_task>3564</id_task>

<lisence>MISYS &cademic Research</lisence>

<syst;ea_C!EBe&B>T«sb*_C&£Seas</sfste*_€&EBeaa> </qaery>_______________________________________________

Рис. 3. Запрос CAEBeans Server к брокеру ресурсов На рисунке 4 представлена XML-схема корректных XML-запросов.

<?хж1 тежя1ей**'1.вв?>

<хя:асЪеяа хяйлз :ха«"Ьтср: //Члгиг.»3.охз/2О03У ЗО&ЗсЬеяа>

<х8:еХежтс &аш£ж-”%а»ху” суре**"Хчиегу*/>

оса: г«ф1ех?уре ааае*вХдаегу>

<ха:е1«яет: аяв^'*1й_сав1св иав“"геф»1ге{|"/>

<ж8:е1евеос мяе»,’,11в«асея хуре^ха: агх1п$ш жЬеОасагаг^О" жиОосшся^ипЬо1*>йв(1*/> <хзге1сяеас шае“мъ1веот; гя«“',хв:ав£й.жайя яйаОссмга-"0" швзЮсаспяп*ш*>ааойс<1я/> <ха:е1«жос па«и~*гхтвт;_вос1е9* гуре**ха:аес1жй*/>

<х8:е£еяеое ше-^еогу_ЕШ*' ъ%реа*,ш1$£е±ша1я/>

</ха:а11>

</ха: ссор1ехТуре>

</к8;зсЬежа>______________________________________________________________________________

Рис. 4. ХМЬ-схема корректных ХМЬ-запросов

Каждая целевая система характеризуется статическими и динамическими свойствами. Статические свойства описывают целевую систему как совокупность аппаратных средств,

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

К статическим свойствам целевой системы относятся название целевой системы, URL целевой системы, оперционная система, список системных САЕВеап, количество ядер, объем дискового пространства, объем оперативной памяти, частота CPU. Динамические свойства целевой системы - это количество свободных ядер.

Лицензия инженерного пакета имеет следующие характеристики: название лицензии; список системных САЕВеап, для которых лицензия предназначена; наибольшее количество процессоров, которые могут быть использованы по лицензии; статус лицензии (принимает значения «занята»или «свободна») и целевая система, которой лицензия принадлежит.

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

Задача в каталоге ресурсов имеет следующие свойства: уникальный идентификатор задачи; время постановки задачи; максимальное время выполнения задачи, по истечении которого задача освобождает занимаемые ею ресурсы; уникальный номер лицензии, с которой задача работает; уникальный номер целевой системы и количество ядер, на которых выполняется задача.

Поиск ресурсов, удовлетворяющих требованиям задачи, может производиться по различным алгоритмам: случайным образом или аналитически на основе расчета общего времени получения результата (TTD - Total Time to Delivery). Одной из наиболее важных задач брокера ресурсов является оценка общего времени получения результата при постановке задачи пользователя конкретному вычислительному ресурсу. В дальнейшем, на основе этой оценки, определяется ресурс, обеспечивающий оптимальное время исполнения поставленной задачи.

При формировании данных оценок, брокер использует информацию о подзадаче, передаваемую CAEBeans Server. В процессе запроса вычислительных ресурсов CAEBeans Server может предоставить брокеру такую информацию, как размер исходных данных; вычислительная сложность рассматриваемой подзадачи; масштабируемость подзадачи и т.п. На основе этих данных и информации о текущих характеристиках грид-среды брокер ресурсов может произвести оценку общего времени получения результата.

Заключение

Представленный подход организации брокера ресурсов разработан для поддержки технологии CAEBeans. В работе дано описание алгоритма работы брокера ресурсов, представлены структура XML-запросы CAEBeans Server к брокеру ресурсов и алгоритмы планирования. Дальнейшие исследования будут направлены на поддержку брокером ресурсов очереди задач.

В качестве аппаратной поддержки технологии CAEBeans предполагается задействовать вычислительные ресурсы суперкомпьютерных систем, входящих в грид-среду СКИФ-Полигон, созданную в рамках Российско-Белорусского суперкомпьютерного проекта СКИФ-ГРИД.

Работа выполнялась при финансовой поддержке Федерального агентства по науке и инновациям (контракт 2007-4-1-4-^0-01-026) и программы СКИФ-ГРИД (контракт СГ-1/07).

Литература

1. Эвристики распределения задач для брокера ресурсов Grid / А.И. Аветисян, С.С. Гайсарян, ДА. Грушин, Н.Н. Кузюрин, А.В. Шокуров // Труды Института системного программирования РАН. - 2004. - Т. 5, - С. 41 - 62.

2. Системы Grid-вычислений - перспектива для научных исследований / А.Е. Дорошенко, О.В. Алистратов, Ю.М. Тырчак, А.П. Розенблат, К.А. Рухлис // Проблемы программирования. - 2005. - № 1. - С. 14 - 38.

3. Радченко, Г.И. CAEBeans: иерархические системы структурированных проблемно-ориентированных оболочек над инженерными пакетами / Г.И. Радченко, JI.B. Соколинский // Научный сервис в сети Интернет: многоядерный компьютерный мир. 15 лет РФФИ: тр. Всерос. науч. конф. (24-29 сентября 2007 г., г. Новороссийск). -Новороссийск, 2007. - С. 54 - 57.

4. Радченко, Г.И. BeanShells: интеграция CAE-пакетов в GPE / Г.И. Радченко, JI.B. Соколинский, И.С. Кутепов // Параллельные вычислительные технологии (ПаВТ’2007): тр. Междунар. науч. конф. (Челябинск, 29 янв. - 2 февр. 2007 г.). -Челябинск, 2007. - Т. 2. - С. 15.

5. Uniform Interface to Computing Resources: [http://www.unicore.eu/], 19 Jun 2008.

6. Foster, I. The Grid 2: Blueprint for a New Computing Infrastructure. Second edition / I. Foster, C. Kesselman. - San Francisco: Morgan Kaufmann, 2003.

7. Радченко, Г.И. Методы организации грид-оболочек системного слоя в технологии CAEBeans // Вестник ЮУрГУ. Сер. «Математическое моделирование и программирование». - 2008. - Вып. 1, № 15 (115). - С. 69 - 80.

Кафедра системного программирования,

Южно-Уральский государственный университет sham2004@bk.ru

Поступила в редакцию 15 сентября 2008 г.