УДК 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.
Кафедра системного программирования,
Южно-Уральский государственный университет [email protected]
Поступила в редакцию 15 сентября 2008 г.