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

Храпов Н.П.

центр грид-технологий и распределённых вычислений ИСА РАН,

инженер nkhrapov@gmail.com

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

Аннотация

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

Технологии виртуализации

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

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

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

машины.

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

• Аппаратная виртуализация - виртуализация на аппаратном уровне. Реализация аппаратной виртуализации возможна только если процессор и материнская плата базовой машины поддерживают технологию аппаратной виртуализации. Большинство современных процессоров (таких как intel и AMD) имеют встроенную поддержку виртуализации. Недостатком применения данной технологии являются ограничения на аппаратное обеспечение базовой машины. Преимуществом использования данной технологии является максимально возможная эффективность и минимальные ограничения на применение гостевой ОС.

Разновидности вычислительных грид-систем

В настоящее время вычислительные грид-системы разделяют на два основных типа: грид-системы из персональных компьютеров (ГСПК) и сервисные грид-системы.

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

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

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

Существует несколько современных реализаций ГСПК (BOINC, XwHep, OurGrid, Condor, X-com, SARD). Наибольшее распространение к настоящему моменту получила платформа BOINC (Berkeley Open Infrastructure Network Computing).

Программное обеспечение BOINC можно разделить на две компоненты: клиентскую и серверную части. Клиентская часть устанавливается на вычислительном узле. В её задачи входит:

1. Подключиться к одному из проектов, к какому именно указывает владелец машины.

2. Запрашивать задания у центрального сервера.

3. Скачивать задания с сервера, если они там есть.

4. Запускать у себя скачанные задания.

5. Результаты работы заданий отсылать обратно на сервер.

Серверная часть программного обеспечения BOINC выполняет

следующие действия:

1. Создает задания для пересылки на вычислительные узлы.

2. Отвечает на клиентские запросы, отправляет задания на вычислительные узлы.

3. Получает результаты работы задания и передает их для дальнейшей обработки.

4. Содержит в себе web-сервер для получения информации о проекте через web-интерфейс.

Аналогично распределённое приложение для инфраструктуры BOINC можно разделить на две основные компоненты: клиентскую и серверную части распределённого приложения.

Клиентская часть распределённого приложения и есть исполняемый файл, запускаемый на вычислительном узле. Она выполняет основную вычислительную нагрузку. Серверная часть распределённого приложения создает задания (в терминологии BOINC расчетные блоки — workunits) для клиентских узлов. Как правило, расчётный блок состоит из исполняемого файла клиенткой части, объединённый со специфическим для конкретного задания входного файла с данными. После отправки задания в вычислительную инфраструктуру серверная часть распределённого приложения ждет результатов задания. Получив из инфраструктуры все результаты заданий, серверная часть производит их обработку, и создает единый результат работы распределённого приложения.

В грид-системах сервисного типа взаимодействие между поставщиком и потребителем ресурсов осуществляется посредством набора сервисов. Функционирование сервисом обеспечивается специальным программным обеспечением промежуточного уровня (ППО). Основными реализациями ППО сервисного грида являются gLite [1], Globus,

Unicore. Общий для них набор сервисов: безопасность, авторизация, поиск ресурсов, доступ к удалённым данным.

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

Комбинированные грид-инфраструктуры

Для интеграции разнородных вычислительных грид-ресурсов в Институте Автоматизации Исследований Академии Наук Венгрии (MTA SZTAKI) было разработано программное обеспечение Generic Grid to Grid Bridge (3G-Bridge) [2]. Программное обеспечение 3G-Bgidge позволяет запускать задания из инфраструктуры сервисного грида на выполнение в инфраструктуре грид-систем из персональных компьютеров и наоборот. Механизм мостов позволяет осуществлять интеграцию сервисных гридов и ГСПК на системном уровне, т.е. прозрачным для пользователя образом. На данный момент этот подход реализован для связи грид-инфраструктуры EGEE/EGI с несколькими ГСПК (Рис. 1). Суть подхода состоит в специальном программном компоненте, который, опираясь на абстрактное понятие задания, может быть использован для интеграции двух грид-систем. По выполняемым функциям интегрирующее программное обеспечение можно подразделить на два типа:

• Мост EGEE =>DG, обеспечивающий запуск заданий сервисного грида в инфраструктуре ГСПК. Данное соединение функционирует как Computing Element (CE) сервисного грида, где задания вместо вычислительных узлов направляются в инфраструктуру грида из персональных компьютеров (BOINC, XWHEP, OurGrid). Взаимодействие различных типов грид-систем обеспечивается тремя основными программными компонентами:

1. Функционирующий на стороне gLite модифицированный Computing Element, который отправляет принятые из инфраструктуры сервисного грида задания на удалённый мост. Данный CE поставляется в качестве модуля YAIM, и может быть установлен и настроен вместе с другими компонентами gLite.

2. На стороне сервера ГСПК функционирует специальный адаптер, отвечающий за получение заданий, их преобразование для новой инфраструктуры, и выполнение.

3. Репозиторий приложений (Application Repository — AP), содержащий информацию о всех приложениях, проходящих через данный мост.

• Мост DG^EGEE, позволяющий, наоборот, запускать задания ГСПК в инфраструктуре EGEE. Поскольку принцип работы и основное программное обеспечение зависит от типа подключаемой инфраструктуры ГСПК, для каждой из них создана отдельная реализация моста:

1. Мост BOINC ^ EGEE, который функционирует как клиент BOINC, отправляя скачанные задания в виртуальную организацию EGEE. В инфраструктуре сервисного грида задание запускается специальной программой (jobwrapper), которая запускает приложение BOINC, и эмулирует для него окружение клиента BOINC.

2. Мост XWHEP ^ EGEE, подключающий рабочие узлы EGEE к гриду XWHEP путём запуска рабочих компонентов инфраструктуры в виде заданий EGEE.

3. Мост OurGrid ^ EGEE, который непосредственно запускает задания на вычислительных узлах виртуальной организации EGEE.

Рис. 1. Основные элементы инфраструктуры, обеспечивающие взаимодействие разнородных грид-систем

Реализация учебного грид-полигона на базе виртуальных машин

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

В рамках МТА SZTAKI для демонстрации своих разработок был предложен макет комбинированной вычислительной грид-инфраструктуры [3]. Макет представляет собой набор из пяти виртуальных машин.

Для обеспечения совместимости с различными платформами виртуализации виртуальные машины имеют формат qemu qcow2. Данный формат полностью совместим с технологией виртуализации ХЕ^ Кроме того программной утилитой qemu-img образы виртуальных машин могут быть сконвертированы в образы виртуальных машин Vmware и VirtualBox.

Сегмент сервисного грида комбинированной инфраструктуры основан на технологии gLite. Сегмент ГСПК - на технологии ВОШС. Список компонентов сервисного грида и ГСПК, содержащихся в виртуальных машинах приведён в таблице 1.

Таблица 1. Список виртуальных машин и основных компонентов _программного обеспечения

№ Название ВМ Операционная система Список компонентов

1 edgi-testui SL* 5, 64 бит Пользовательский Интерфейс (User Interface -UI).

2 edgi-testvoms SL 5, 64 бит Сервис Управления Виртуальными Организациями (Virtual Organization Management Service).

3 edgi-testwms SL 4, 32 бит Система Управления Нагрузкой (Workload Management System - WMS).

4 edgi-testce SL 4, 32 бит Вычислительный Элемент (Computing Element -CE) инфраструктуры glite, кэш репозитория приложений элемента 3g-bridge.

S edgi-testboinc Debian 5.0 BOINC-сервер, BOINC-клиент, 3g-bridge.

*SL - Scientific Linux.

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

Заключение

В настоящее время приобретают всё большую популярность как ГСПК, так сервисные гриды. Вместе с грид-системами также приобретают популярность технологии их интеграции. Задача подготовки специалистов в области грид-систем и технологий их интеграции приобретает всё большую актуальность.

Рассмотренный в данной статье макет виртуальной вычислительной инфраструктуры даёт учащемуся возможность локально работать только с отдельной реализацией системы 3g-Bridge ^ке to ВОШС). Построение

аналогичных макетов для интеграции других типов грид-систем заметно улучшит качество подготовки специалистов по грид-системам.

На основе виртуальных макетов инфраструктур могут быть организованы практические занятия для студентов [4]. Кроме того мощности современных вычислительных машин позволяют в рамках персонального компьютера студента развернуть виртуальный макет для испытания технологий распределённых вычислений в домашних условиях.

Литература

1. gLite. http://glite.cern.ch/

2. E. Urbach, P. Kacsuk, Z. Farkas, G. Fedak, G. Kecskeme'ti, O.Lodygensky, A. Cs. Marosi, Z. Balaton, Zolta'n; G. Caillat, G. Gomba's, A.Kornafeld, J. Kova'cs, H. He, R. Lovas: EDGeS: Bridging EGEE to BOINC and Xtrem Web, Journal of Grid Computing, 2009, Vol 7, No. 3, pages 335 -354

3. Страница загрузки макета: http://www.edgi-grid.eu/downloads/vmimages/v2.0/

4. V.A. Sukhomlin, A.P. Afanasiev, A.L. Kalinichenko, M.A. Posypkin, S.A. Stupnikov, O.V. Sukhoroslov, On Professional Training and Education in the Field of Grid Technologies and Distributed Computing // тезисы конференции GRID'2010, http://grid2010.jinr.ru/files/pdf/sukhomlin.pdf