ВЕСТНИК ПЕРМСКОГО УНИВЕРСИТЕТА Математика. Механика. Информатика 2012 Вып. 3(11) УДК 004.75 Модель взаимодействия прикладных облачных сервисов и суперкомпьютеров А. В. Созыкин, М. Л. Гольдштейн Институт математики и механики УрО РАН Россия, 620990, Екатеринбург, ул. Софьи Ковалевской, 16 avs@imm.uran.ru; (343)375-34-68 Предложена полуформализованная концептуальная модель взаимодействия прикладных облачных сервисов и суперкомпьютеров. Отличительной особенностью модели является учет возможности запуска задачи на суперкомпьютер из графического интерфейса прикладного сервиса. Пилотная реализация модели выполнена в суперкомпьютерном центре Института математики и механики УрО РАН для интеграции программного обеспечения Matlab и Eclipse в облачной конфигурации с суперкомпьютером "УРАН". Данная реализация и ее практическое использование подтверждают адекватность предлагаемой модели. Ключевые слова: облачные вычисления; суперкомпьютеры; пакеты прикладных программ. Введение ны пользователями-предметниками, не обладающими достаточной квалификацией в области параллельных вычислений и СК. Решением может быть установка ППП в облачной платформе (далее такие пакеты будем называть прикладными облачными сервисами, ПОС) и предоставление их пользователям в качестве облачных сервисов. При этом установка ППП, их интеграция с СК и сопровождение будут выполняться квалифицированными специалистами, обеспечивающими работу облака, а пользователи сразу смогут работать с готовым к применению пакетом. На сегодняшний день еще нет общепринятого определения облака. Существует большое количество моделей, описывающих облака, и технологии, эти облака реализующие. Чтобы обеспечить возможность успешной практической реализации интеграции ППП в облачной конфигурации с СК, необходимо разработать модель их взаимодействия. В данной работе представлена концептуальная модель взаимодействия прикладных облачных сервисов и СК, построенная на основе опыта использования данных технологий в суперкомпьютерном центре (СКЦ) Института математики и механики УрО РАН (ИММ УрО РАН). В настоящее время в России происходит взрывной рост суперкомпьютеров (СК), суммарная пиковая производительность которых (по данным списка TOP 50 – наиболее мощные суперкомпьютеры СНГ [1]) за последние три года выросла в 8,5 раз. Однако эффективно использовать такие ресурсы непросто, так как разработка приложений для параллельных вычислительных систем является сложной задачей, а количество специалистов, обладающей необходимой для этого квалификацией, растет намного медленнее, чем производительность СК. Серьезную помощь оказывает использование готовых пакетов прикладных программ (ППП), ориентированных на конкретные предметные области и поддерживающих работу на параллельных вычислительных системах. Однако такие пакеты, как правило, сложны в установке и сопровождении и зачастую эти процедуры не могут быть выполнеРабота поддержана грантами УрО РАН № 12-С-11012, 12-П-1-2012. © Созыкин А. В., Гольдштейн М. Л., 2012 65 А. В. Созыкин, М. Л. Гольдштейн облачных вычислений распределяются по запросам пользователей, а на ресурсы высокопроизводительных вычислений загружаются специальные образы кластерной системы. При этом система запуска задач (в проекте используется Platform LSF) поддерживает динамическое подключение узлов, на которых загружается кластерный образ, и может их использовать для расчетов. Таким образом, пользователь может запросить несколько узлов из пула облачных вычислений, загрузить на них кластерные образы и использовать для параллельных вычислений. Хотя данный подход обеспечивает самообслуживание по запросу и гибкость, которых не хватает системам с пакетной обработкой, он с трудом может быть применим в сложных параллельных вычислительных комплексах. В таких комплексах используются высокопроизводительные сети обмена данными (Infiniband, 3D-тор), быстрые системы хранения c параллельными файловыми системами (Lustre, GlusterFS, IBM, GPFS), которые дороги и сложны в администрировании, и применение которых в облачной платформе является избыточным. Таким образом, модель (VCL) хорошо подходит для параллельных систем, использующих стандартные технологии (сеть Ethernet, системы хранения Network Attached Storage), за счет возможности использования одних и тех же вычислительных узлов как для облачных, так и для параллельных вычислений. К высокопроизводительным параллельным вычислительным системам, где такое совместное использование не является рациональным, модель VCL подходит плохо. В России работы по организации взаимодействия ПОС и СК ведутся в рамках проекта "Университетский кластер" [5]. Предложен подход к организации предметноориентированных научно-исследовательских центров, состоящих из трех уровней. Первый уровень обеспечивает доступ пользователей к приложениям (web-интерфейс), второй – инфраструктуру для работы приложений (набор виртуальных серверов, система хранения, системное ПО), третий – доступ к вычислительным ресурсам на основе GRID-технологий. Данный подход реализован в виде технологической Unihub [6]. Достоинством подхода является организация предметноориентированных научно-исследовательских центров с доступом пользователей через Web- 1. Обзор существующих моделей высокопроизводительных вычислений в облачной конфигурации Наиболее общепринятое определение облачных вычислений предложено Национальным институтом стандартов и технологий (НИСТ) США [2]. Согласно этому определению, облачная модель включает пять основных характеристик (самообслуживание по запросу, широкополосный сетевой доступ, объединение ресурсов, быстрая гибкость и изменяемость сервиса), три сервисных модели (SaaS, PaaS, IaaS) и четыре модели развертывания (частное облако, облако сообщества, публичное облако и гибридное облако). Для взаимодействия облачных сервисов с СК можно выбрать сервисную модель – SaaS и модель развертывания – облако сообщества. В данном случае сообщество состоит из организаций, заинтересованных в использовании СК, и может включать университеты, научные институты и промышленные предприятия. Проблемы возникают с основными характеристиками облачных вычислений, которые во многом противоречат модели использования СК как системы общего пользования с пакетной обработкой. Нарушаются характеристики самообслуживания по запросу и быстрой гибкости. Хотя пользователь может запрашивать необходимый ему объем ресурсов СК, но не получает его сразу, а ставит задачу в очередь, откуда она может быть запущена через некоторое (возможно, длительное) время. После того, как задача запустилась на запрошенном количестве ресурсов, она не может запросить дополнительные или освободить оказавшиеся ненужными ресурсы. Таким образом, модель облачных вычислений, предложенная НИСТ, не может в чистом виде использоваться для описания взаимодействия ПОС с СК. Попытка объединить модели облачных вычислений и пакетной обработки на СК выполнена в рамках проекта Virtual Computing Lab (VCL) Университета Северной Каролины [3–4]. Предложенный подход основывается на образах – файлах специального вида, включающих операционную систему и набор прикладного программного обеспечения. Согласно модели, предложенной в работе [4], вычислительные ресурсы разбиваются на два пула: для облачных вычислений и для высокопроизводительных вычислений. Ресурсы 66 Модель взаимодействия прикладных облачных сервисов и суперкомпьютеров интерфейс, которые включают и ПОС. Существенным недостатком является применение технологии GRID для доступа к СК, так как это не позволяет обеспечить возможность запуска задач пользователя прямо из графического интерфейса ПОС. Таким образом, существующие модели взаимодействия ПОС и СК обладают заметными недостатками и требуется их развитие в направлении более полной интеграции ПОС и СК в целях повышения удобства работы пользователей. 2.2. Структура Структура взаимодействия ПОС и СК показана на рисунке. Основные компоненты структуры – облачная платформа и СК. Облачная платформа включает оборудование (серверы, системы хранения, сеть) и платформу виртуализации, обеспечивающую унифицированный доступ к оборудованию. Пакеты прикладных программ работают на виртуальных машинах облачной платформы и предоставляются пользователям как облачные сервисы по модели SaaS. Важным компонентом являются адаптеры, обеспечивающие интеграцию ПОС с системой запуска задач СК. Данные адаптеры обеспечивают возможность отправлять задачи для счета на СК прямо из графического интерфейса ПОС. Адаптер передает задачу системе запуска задач СК, которая ставит ее в очередь и запускает, когда требуемые задаче вычислительные ресурсы будут доступны. Также адаптер позволяет получить информацию о текущем состоянии задачи на СК через графический интерфейс ПОС. 2. Концептуальная модель взаимодействия прикладных облачных сервисов и суперкомпьютеров Полуформализованную концептуальную модель взаимодействия ПОС и СК можно представить в следующем виде: М = (D, T, S, F, W, A), где D – направленность, T – цель, S – структура, F – функции, W – пути реализации функций, A – свойства. 2.1. Направленность и цель Взаимодействие ПОС и СК направлено на повышение эффективности использования СК за счет упрощения процесса работы пользователей с ним. Целями взаимодействия ПОС и СК являются: – предоставление пользователям предметно-ориентированных ППП в облачной конфигурации по модели SaaS; – обеспечение возможности запуска задач на СК прямо из графического интерфейса ППП; – скрытие от пользователей деталей взаимодействия ППП с СК. 2.3. Функции и пути их реализации Пользователям предоставляются следующие функции: – доступ к графическому интерфейсу ППП их предметной области, установленном на облачной платформе; – запуск задач на СК из графического интерфейса ППП; – использование дисковой памяти для хранения данных задачи, доступной как для ПОС, так и для СК; – использование вычислительной мощности СК; Структура взаимодействия прикладных облачных сервисов и суперкомпьютера 67 А. В. Созыкин, М. Л. Гольдштейн – учет объема потребляемого пользователями сервиса, включая время использования прикладного программного обеспечения, – время счета на СК, объем используемой дисковой емкости, количество потребляемого электричества и т.п. 2.4. Свойства Модель обладает следующими свойствами: Масштабируемость – при росте числа пользователей имеется возможность увеличить количество серверов и дисковую емкость облачной платформы, чтобы удовлетворить увеличивающиеся запросы. Аналогично может быть увеличена производительность СК. Гибкость – модель позволяет организовывать работу различных ППП и организовывать интеграцию с СК, независимо от предметной области пакета, способа доступа пользователей к пакету, применяемой на СК системы запуска задач и т.п. Безопасность – данные и процессы разных пользователей изолированы друг от друга, механизмы такой изоляции встроены как в облачную платформу, так и в СК. Единый идентификатор и пароль для работы с разными ПОС, а также с СК. Возможна однократная регистрация. Пути реализации функций следующие: – Установка ПОС и их сопровождение. Выполняется квалифицированными администраторами облачной платформы. Также администраторы обеспечивают синхронизацию системного ПО облачной платформы и СК: одинаковые версии ОС, системных библиотек, компиляторов, пользовательского окружения и т.п. При отсутствии такой синхронизации задачи, подготовленные в ПОС, могут не запуститься на СК и будут требовать перекомпиляции. – Обеспечение пользователей доступом к ПОС по модели SaaS с помощью одного или нескольких сетевых протоколов: HTTP, VNC, X, RDP и др. – Использование адаптеров, обеспечивающих интеграцию с СК, как встроенных в ППП (возможно, для их использования необходимо приобретать дополнительную лицензию), так и реализованных отдельно в форме подключаемых модулей. – Синхронизация системы хранения данных облачной платформы и СК, чтобы задача, подготовленная в ПОС и запущенная на СК, имела доступ к данным. Возможно использование единой сетевой системы хранения данных, работающей по технологии Network Attached Storage. – Применение в облачной платформе преимущественно открытого программного обеспечения, что существенно снижает стоимость ее создания, особенно для крупных платформ. – Использование ППП как открытых и бесплатных, так и закрытых платных. Главное, чтобы пакет предоставлял пользователю наиболее удобную и привычную для него среду и при этом обеспечивал необходимые возможности для моделирования в предметной области пользователя. 3. Пилотная реализация модели На базе предложенной концептуальной модели выполнена пилотная реализация облачных вычислительных сервисов в СКЦ ИММ УрО РАН. В качестве пакетов прикладных программ выбраны Matlab, на который у ИММ УрО РАН есть академическая лицензия, и бесплатно распространяемый Eclipse Parallel Tools Platform. Первая очередь облачной платформы построена на базе четырех серверов FujitsuSiemens RX330. В каждом по 2 процессора AMD Opteron 2220, 8 ГБ памяти, жесткий диск 250 ГБ, сеть Gigabit Ethernet. В качестве системы хранения используется EMC Celerra NS-480. Платформа виртуализации создана на основе бесплатно распространяемого программного обеспечения oVirt (Open Source Vitrualization Manager [7]). Для работы Matlab и Eclipse в облачной платформе создано несколько виртуальных машин с операционной системой Scientific Linux. Доступ пользователей организован через Web-интерфейс в графическом режиме. В качестве СК использован кластер "УРАН", установленный в ИММ УрО РАН (пиковая производительность 160 TFlops), ра- 68 Модель взаимодействия прикладных облачных сервисов и суперкомпьютеров ботающий под управлением Linux с системой запуска задач SLURM [8]. В качестве адаптера, обеспечивающего подключение Matlab к суперкомпьютеру, используется дополнительный компонент Matlab Distributed Computing Server, позволяющий запускать задачи Matlab на кластере и требующий покупки лицензии. Адаптер для Eclipse состоит из двух компонентов: – Resource Manager из состава Eclipse Parallel Tools Platform, который обеспечивает запуск задач на удаленных вычислительных ресурсах; – SLURM proxy, представляющем собой дополнительный модуль Eclipse, обеспечивающий взаимодействие Resource Manager с системой запуска задач SLURM на СК "УРАН". Список литературы 1. Статистика // Суперкомпьютеры ТОП 50 [Электронный ресурс]. URL: http://top50.supercomputers.ru/?page=stat (дата обращения: 21.06.2012). 2. Mell P., Grance P. The NIST Definition of Cloud Computing // National Institute of Standards and Technology Special Publication 800-145. 2011. P.7. 3. Schaffer H.E., Averitt S. F., Hoit M. I., Peeler A., Sills E. D., Vouk M. A. NCSU’s Virtual Computing Lab: A Cloud Computing Solution // IEEE Computer Society Magazine. 2009. Vol. 42, № 7. P.94–97. 4. Мутур Д., Бхат В.А. Облачные вычисления в университетах // IBM Developer Works [Электронный ресурс]. URL: http://www.ibm.com/developerworks/ru/librar y/ws-vcl/ (дата обращения: 21.06.2012). 5. Аветисян А., Иванников В., Гайсарян С., Самоваров О. "Университетский кластер": интеграция образования, науки и индустрии // Открытые системы. СУБД. 2010. №5. С.46–49. 6. UniHUB.ru // Технологическая платформа программы "Университетский кластер" [Электронный ресурс]. URL: http://www.unihub.ru/ (дата обращения: 21.06.2012). 7. oVirt Project [Электронный ресурс]. URL: http://www.ovirt.org/ (дата обращения: 21.06.2012). 8. Jette M. A., Yoo A. B., Grondona M. SLURM: Simple Linux Utility for Resource Management // Lecture Notes in Computer Science: Proceedings of Job Scheduling Strategies for Parallel Processing (JSSPP). 2003. P.44–60. Тестовая реализация модели позволила пользователям получать доступ к установленным в облачной среде и интегрированным с СК "УРАН" пакету Matlab и среде разработки Eclipse и запускать задачи на СК прямо из их графического интерфейса. Заключение В работе представлена полуформализованная концептуальная модель взаимодействия прикладных облачных сервисов с суперкомпьютерами. Облачные сервисы, построенные на основе данной модели, показали свою работоспособность и позволяют пользователю запускать задачу на суперкомпьютере прямо из графического интерфейса. Адекватность модели подтверждается практической пилотной реализацией в СКЦ ИММ УрО РАН. The Model of application cloud services and supercomputers cooperation A. V. Sozykin, M. L. Goldshtein Institute of Mathematics and Mechanics UrB RAS, Russia, 620990, Yekaterinburg, S.Kovalevskoy st., 16 avs@imm.uran.ru; +7(343) 375-34-68 The semiformalized conceptual model of application cloud services and supercomputers cooperation is presented. The advantage of the model is that it takes into account the possibility of executing tasks on the supercomputer from the GUI of the application. The model has been implemented at the supercomputer center of the Institute of mathematics and mechanics UrB RAS to integrate the cloud Matlab and Eclipse with the "Uran" supercomputer. This implementation and practical usage proved the model adequacy. Key words: cloud computing; supercomputer; application. 69