УДК 004.272.2:004.75
В.В. КАЗИМИР*, О.А. ПР1ЛА*, М.С. КРИЩЕНКО*
АРХ1ТЕКТУРА ПОБУДОВИ В1РТУАЛЬНОГО ОТОЧЕННЯ ДЛЯ ГР1Д-ЗАСТОСУВАНЬ
Чернiгiвський державний технолопчний yHÎBepcHTeT, м. 4epHiriB, Украна
Анотаця. У cmammi розглянуто проблематику конфггурацИ' гргд-ресурав для виконання приклад-них обчислювальних задач у грiд-середовищi. Запропоновано технологiю автоматизованого нала-штування оточення для виконання завдань у грiд-середовищi з використанням технологи' вiртуалi-зацИ Представлена архтектура побудови вiртуального оточення для грiд-застосувань. Ключовi слова: грiд-обчислення, вiртуалiзацiя, архтектура.
Аннотация. В статье рассмотрена проблематика конфигурирования грид-ресурсов для выполнения прикладных вычислительных задач в грид-среде. Предложена технология автоматизированной настройки окружения для выполнения задач в грид-среде с использованием технологии виртуализации. Представлена архитектура построения виртуального окружения для грид-применений. Ключевые слова: грид-вычисления, виртуализация, архитектура.
Abstract. The article considers the problems of configuring of grid resources to perform computational tasks in grid environment. Moreover it is suggested the technology of automated configuration environment to perform tasks in grid environment using virtualization technology. The architecture of a virtual environment for grid applications is introduced in the article. Keywords: grid computations, virtualization, architecture.
1. Вступ
Грщ-обчислення представляють собою форму розподшених обчислень, в якш в1ртуальний суперкомп'ютер представлений у вигляд1 слабкозв'язаних гетерогенних обчислювальних ресурав, з'еднаних за допомогою глобально! мереж i використовуваних для вир1шення обчислювальних задач велико'1 розмiрностi. Використання потужностей розподшених ре-сурав замють нарощування потужносп локального ресурсу е економiчно випдним ршен-ням.
Грщ-технологп швидко розвиваються i широко використовуються для дослщжень у рiзних галузях науки [1, 2]. Однак складнють пiдготовки обчислювальних задач i конф^у-рацп середовища для виконання задачi на вiддаленомy комп'ютерi залишаеться актуальною проблемою. Пiд середовищем розyмiемо вимоги до програмного забезпечення (ПЗ), яке буде встановлено на обчислювальний ресурс для виконання задач.
Поточш проблеми використання розподшеного грщ-середовища полягають у:
- складностi адмшютрування обчислювальних ресyрсiв грiд-середовища;
- проблемi розгортання лiцензiйного програмного забезпечення на вщдалених грщ-ресурсах та використанш вiдповiдного ПЗ для виконання задач;
- несумюносп версiй операцшно'1 системи (ОС), тд yправлiнням яко'1 працюе обчислювальний грщ-ресурс, i операцшно'1 системи, необхщно'1 для виконання прикладно'1 об-числювально'1 задачi користyвачiв грщ-середовища.
Платформи промiжного ПЗ EMI [3] не пщтримують автоматизовано'1 конф^урацп середовища для виконання задачь 1снуе проблема несумюносп версп ОС з апаратними характеристиками грщ-ресурав. Необхiднiсть виконувати обчислювальн задачi, викорис-товуючи програмне забезпечення тд ОС Microsoft Windows, у той час як промiжне ПЗ грщ використовуе ОС Linux. Виконання обчислювальних задач у грiд-середовищi з використанням лщензшного ПЗ та виконання задач з правами адмшютратора сьогодш не е можли-
© Казимир В.В., Прша О.А., Крищенко М.С., 2017 ISSN 1028-9763. Математичш машини i системи, 2017, № 3
вим у грщ-середовищь Це накладае cyrreBi обмеження на використання pecypciB грщ-середовища та зменшуе ix доступшсть.
Використання технологи вiрryальноi машини дозволить сформувати вiртyальний образ (VI) з налаштуваннями i використовувати його при запуску обчислювальних задач на грщ-ресурсах, що також е вирiшенням проблеми використання лщензованого ПЗ при виршенш задач у грiд-середовищi. Важливим аспектом широкого впровадження грщ-rеxнологiй е забезпечення необхщного рiвня якосri обслуговування користувача, що для некомерцшного середовища найчасriше визначаеться гарантованим часом устшного заве-ршення обчислень. Також важливим аспектом е забезпечення ефективного розмщення сховищ образiв вiрryальниx машин та алгорш^в планування, спрямованих на мiнiмiзацiю комyнiкацiйниx витрат.
Метою сrаrri е розробка технологи розгортання вiрryальниx середовищ у грiд ш-фраструктури та арх^ектури побудови середовища автоматизованого обчислювального вузла, що зробить процес тдготовки задачi бiльш гнучким i збшьшить досryпнiсrь ресур-сiв та послуг, яю використовуються у грiд-середовищi.
2. Анал1з технолог1й використання в1ртуальних середовищ у грщ-шфраструктур1
Авторами було проведено дослщження iснyючиx rеxнологiй для використання вiрryаль-них середовищ у грщ-шфраструктур^ а саме: Nimbus [5], skifGrid [6], Rainbow [7] та пакет програмного забезпечення '^ртуальний контейнер" [8]. Iснyючi технологи не дають пов-ного вирiшення проблеми, оскiльки не забезпечують rакi можливосri:
- завантаження вiрryального образу на вщдалений ресурс;
- збереження VI в розподшеному репозитори, включаючи засоби репшкаци;
- вибрати вiрryальне середовище для виконання задачу
- виконання обчислювальних задач рiзниx rипiв [9] та рiзниx прикладних галузей;
- опrимiзацiя планування з урахуванням особливостей використання вiрryалiзацii у розподiленомy середовищi;
- високорiвневий iнrерфейс користувача;
- розширювашсть.
Нами було розглянуто проблему налаштування середовища для виконання обчислювальних задач у грiд-середовищi [4]. Запропоновано технологию автоматизовано' конфь гураци грщ-середовища на основi вiрryалiзацii. Реалiзацiя розробляеться на основi фреймворку для розробки високорiвневиx грiд-засrосyвань, що забезпечуе API для виконання базових грщ-операцш [4].
3. Сервки фреймворку для розробки грщ-застосувань
Використання технологи вiртyальноi машини дозволить сформувати вiрryальний образ з налаштуваннями i використовувати його для запуску обчислювальних задач на грщ-ресурсах, що також е ршенням проблеми використання лщензованого ПЗ при виршенш завдань у грщ-середовищь
Практична реалiзацiя виконуеться на базi юнуючого фреймворку для розробки грщ-додаrкiв [10] з використанням технологи, що розробляеться. Користувачам грщ-середовища мають надаватися таю сервюи (рис. 1).
Перегляд доступних ресурав означае можливють перегляду та фiльrрyвання спис-кiв елеменriв зберiгання (SE), обчислювальних елемешив (CE) та послуг вiртyальноi орга-шзаци (VO).
Рис. 1. Сервюи фреймворку для розробки грщ-застосувань
Фреймворк забезпечуе можливють вщправлення задач1 для виконання у грщ-середовище. Сервю для вщправлення задач1 включае в себе можливосп повторного запуску задач1 на шший СЕ та зупинки виконання задача Перед вщправленням користувачев1 необхщно визначити наб1р параметр1в задач1, а саме:
- вибрати виконуваний файл задача Виконуваний файл задач1 - виконуваний файл, який буде проводити розрахункову роботу на грщ-ресура;
- вказати назву файла результат обчислення задача Результати виконання грщ-задач1 автоматизовано завантажуються у вигляд1 файла з назвою, яку вказав користувач;
- вказати адресу грщ-ресурсу - адрес грщ-ресурсу, на якому буде виконуватись задача;
- вказати назву задачу
- визначити тип задачь Користувачу надаеться виб1р програмних додатюв, яю мож-на буде використати при виконанш задач1 на вщповщних грщ-ресурсах;
- визначити вимоги до CE.
При необхщносп користувач може детально вказати параметри середовища (архь тектуру середовища, ОС, RAM, HDD, CPU time). У випадку виконання грщ-задач1 з вико-ристанням в1ртуального середовища на СЕ ресурсах повинен бути завантажений VI, якщо до цього вш не був завантажений при виконанш попередшх задач. Параметри задач1 у вну-тр1шньому формат специфшаци вщправляються до метапланувальника грщ.
Грщ-фреймворком надаеться можливють вщслщковувати статус задач1 на вах ета-пах 11 виконання.
Автоматизоване виконання грщ-задач з використанням в1ртуального середовища на СЕ ресурс забезпечуеться грщ-сервюами. Реестрашею грщ-сервюв на СЕ ресурсах займа-еться розробник грщ-сервюв.
4. Технолопя використання в1ртуал1зацн у грщ-середовищ1
Нижче представлена технолопя використання в1ртуал1заци у грщ-середовииц (рис. 2).
Рис. 2. Технолопя використання вiртуалiзащl у грiд-середовищi
Ид Grid-user маеться на уваз1 користувач грщ-порталу, який може використовувати р1зн1 операцшш системи та браузери для доступу. Grid-user можуть бути користувачами, яю мають права на використання грщ-ресурав оргашзацп. MyProxy server - онлайн репо-зиторш для збер1гання сертифшапв та видач1 проксьсертифшапв. Сервер Grid-framework - web-сервер, на якому розмщений портал.
Проксьсертифшат для запуску завдання створюеться на сторош сервера засобами сервюв MyProxy [11]. Для використання довгострокових прока-сертифшапв, що необхщ-но при запуску завдань з1 значним термшом виконання, використовуються також сервюи MyProxy.
Грщ-фреймворком надаеться повнощнна пщтримка грiд-задач pi3Horo типу. Напри-клад, ARC Nordugrid [12] i gLite [13], яю включенi як однi з основних постачальниюв про-мiжного ПЗ грщ в EMI. В украшсьюй нащональнш грiд-iнфраструктурi широко викорис-товуються таю формати специфкацп грiд-задач: JSDL [14], XRSL [15] та JDL [16].
Запити HTTPS вщ Grid-user включають ряд параметрiв у форматi JSON [17]. Основы з них таю:
- Name - назва грщ-задачц
- Description - короткий опис грщ-задачц
- Executable - параметр, який передае виконуваний файл задачу
- Server - параметр, який мютить посилання на CE;
- VirtualImage - параметр, потрiбний для вибору та передачi вiртуального образу до CE та SE ресурав.
Клiентська сторона системи дозволяе користувачам грщ-порталу використовувати рiзнi платформи, включаючи мобiльнi пристро". При використанш параметра VirtualImage до грiд-задачi прикршлюеться вiртуальний образ, якщо вибраний VI завантажуеться впер-ше, а також Dockerfile [18].
Подiбно вiртуальнiй машиш докер запускае сво'1 процеси у власнш, заздалегiдь на-лаштованiй операцшнш системi. Але при цьому вс процеси Docker працюють на фiзично-му грiд-серверi, дiлячи всi процесори i всю доступну пам'ять з уама шшими процесами, запущеними фреймворком. Пщхщ, який використовуеться Docker, називаеться контейне-ризацiею.
Docker machine - шструмент, що дозволяе встановлювати та управляти docker container на грщ-ресурсах.
Dockerfile мютить набiр iнструкцiй з аргументами. Dockerfile використовуе звичай-ний DSL [19] з шструкщями для побудови образiв docker. Пiсля цього виконуеться команда docker build для побудови нового docker image з шструкщями dockerfile. 1нструкцп об-робляються зверху вниз. Кожна шструкщя додае новий шар в образ i фшсуе змiни.
Docker image - образ, збудований на основi ОС, з якого створюеться контейнер. Кожен docker image складаеться з набору рiвнiв. Docker використовуе Union File System для поеднання цих рiвнiв в один образ.
Union File System або UnionFS - це файлова система, яка працюе, створюючи рiвнi, що робить ïï дуже легкою i швидкою [20]. Docker використовуе UnionFS для створення блоюв, з яких будуеться контейнер. Docker може використовувати деюлька варiантiв UnionFS, включаючи AUFS [21], btrfs [22], vfs [23] i DeviceMapper [24].
Union file system складаеться з шарiв (layers), накладених один на одного. Деяю ша-ри захищеш вiд запису. Наприклад, ус нашi контейнери використовують загальнi, захи-щенi вiд запису, шари, в яких знаходяться незмшш файли операцiйноï системи.
Для змiнюваних файлiв кожен iз контейнерiв буде мати власний шар. Docker використовуе такий пщхщ не тшьки для ОС, але i для будь-яких загальних частин контейнерiв, створених на основi загальних «предюв» ïx образiв.
Пщ час виконання грiд-задачi, на основi вибраного VI, у docker контейнерi створюеться вiддалена ОС з потрiбними для користувача налаштуваннями та додатками. Результата виконання задачi будуть завантажеш автоматично на ^ентську частину користувача. Grid-service developer мае RDP [25] доступ до вщдалено'1' ОС для розробки грiд-сервiсiв. Пщ грiд-сервiсами розумiеться сценарiй автоматизованого виконання задачi в серединi ОС docker контейнера.
5. Розширена архггектура фреймворку для створення грщ-додатк1в
На рис. 3 представлена архпектура фреймворку для створення грщ-додатюв i3 пiдтримкою сучасного промiжного ПЗ грщ [3], яка була розширена такими модулями: модуль розмь щення образу та модуль планування з урахуванням використання VI. А також був розши-рений модуль формування i зчитування формату специфшацп.
REST API
Пщсистема метапланувальника
Модуль вщправки задачi на виконання Модуль формування i обробки вхщноТ черги задач
Модуль планування задачi Модуль контролю виконання задач
Модуль розмiщення VI Модуль планування з урахуванням використання VI
EJB JMS
Подсистема визначення параметров Docker
задач1
Модуль формування i зчитування формату специфтацп
Модуль графiчних компонент
Модуль верифтацп структури завдання
Конвертер формату
Подсистема монiторингу стану docker images
GridSim
Пiдсистема монiторингу стану ресурсiв
Сервер додатшв JBOSS
Job Submission Grid Infosys Grid FTP
Myproxy
Подсистема аутентифтацп та авторизацп
lнформацiйна система
Шар штеграцп з Middleware (DCI шлюз)
Пiдсистема збереження VI задачi
Пщсистема роботи з грщ-сховищами
i
gLite ARC Nordugrid ■■■ (Condor, Unicore,... )
Рис. 3. Архтоктура побудови вiртуального оточення для грiд-застосувань
Модуль розмщення образу визначае обчислювальний ресурс SE [4] для зберiгання вiртуального образу. Використовуеться при проектуваннi схеми репшкаци VI.
Сервiси модуля планування з урахуванням використання VI реалiзують автоматич-ний пошук потрiбного VI i вибiр обчислювального ресурсу CE [4] для розгортання образу i виконання задача
Пiдсистема монiторингу стану docker images вщслщковуе стан грщ-задач, якi були виконанi на вибраному CE ресурса Механiзм реалiзащi процесу розгортання на вщдалених обчислювальних ресурсах реалiзуеться за допомогою програмно'1' платформи Docker.
На рис. 4 представлено штерфейс користувача фреймворку для розробки високорь вневих грщ-застосувань.
Реалiзацiя серверно'1' частини фреймворку виконувалась мовою програмування Java. Клiентська частина реалiзована з використанням JavaScript. Як веб-сервер використовуеться nginx [26].
Для ощнки ефективностi пiдходу була розроблена модель процесу виконання за-вдань у грiд-середовищi з використанням технологи вiртуалiзацii на базi симулятора GridSim [27].
WEB-GRID Home Editor My tasks
Welcome, test Logout
Рис. 4. 1нтерфейс користувача фреймворку для розробки високорiвневих грщ-застосувань
Експерименти по ощнщ часу на пересилку VI 1 даних про задачу з в1ртуально! ма-шини на грщ-ресурс проводилися в реальному середовищ1 за допомогою кросплатформно! консольно! кшент-серверно! утил1ти iperf [28].
За отриманими результатами можна сказати, що часов1 витрати на виконання задач1 у грщ-середовищ1 з використанням в1ртуал1заци (з встановленим VI на вщдаленому ресурсу не перевищують 5% у пор1внянш з витратами на виконання задач1 без використання в1ртуал1заци у грщ-середовищ1. Однак вщношення м1ж часом виконання задач1 у грщ-середовищ1 без використання технологи в1ртуал1заци 1 з використанням, але без встанов-леного VI на вщдалений обчислювальний ресурс, значно бшьше [4]. Витрати на пересилку VI можуть бути компенсоваш за допомогою розробки схеми реошкаци сховищ в1ртуаль-них образ1в, а також алгоритму планування у грщ-середовищ1 з урахуванням використання засоб1в в1ртуал1заци.
6. Висновок
У статп запропоновано пiдхiд для забезпечення доступностi грiд-ресурсiв та сервюв через використання технологи вiртуалiзащi. Запропоноване рiшення дозволяе грiд-користувачам налаштувати необхiдне середовище для виконання задач. Такий тдхщ тдвищуе рiвень доступностi грiд-середовища.
Технологiя автоматизованоi побудови вiртуального оточення на розподшених вщ-далених обчислювальних вузлах реалiзуеться засобами iнструментарiю Docker [29]. Висо-корiвневий iнтерфейс користувача для тдготовки, вiдправлення та формування необхщно-го середовища для виконання грiд-задачi реалiзуеться як розширення попередньо розроб-леного фреймворку для виконання базових грщ-операцш [10].
Ефективна архпектура для розподшьного зберiгання вiртуальних o6pa3ÍB та алгори-тми планування виконання грiд-задачi з використанням вiртуального оточення потребуе подальшого дослiдження. Ефективнють запропоновано'1 технологи була оцiнена шляхом проведення експерименпв на основi iмiтащйноi моделi, а також у реальному грщ-середовищi [4].
СПИСОК Л1ТЕРАТУРИ
1. Vishnevsky V. Web-services of Medgrid project / V. Vishnevsky, M. Volzheva, O. Prila // Ukrainian Journal of Telemedicine and medical telematics. - 2012. - Vol. 10, N 2. - P. 4 - 5.
2. Kazymyr V. The technology of using the grid environment for ECG signals distributed storage, visualization and processing / V. Kazymyr, O. Prila., M. Kryshchenko // Proc. «Information Technologies in Innovation Business Conference, ITIB 2015». - Kharkiv, 2015 - P. 19 - 23.
3. European Middleware Initiative [Електронний ресурс]. - Режим доступу: https://www.dcache.org/manuals/EMI_FACT-SHEET-1_4.pdf.
4. Building of the virtual environment for grid applications / V. Kazymyr, D. Melnychenko, O. Prila [et al.] // Information Models and Analyses". - 2016. - Vol. 5, N 1. - P. 37 - 48.
5. Nimbus is cloud computing for science [Електронний ресурс]. - Режим доступу: http://www.nimbusproject.org/.
6. SkifGrid wiki [Електронний ресурс]. - Режим доступу: http://grid.basnet.by/proj ects/skifgrid/wiki.
7. Medical Grid-system for population research in the field of cardiology with electrocardiogram database [Електронний ресурс]. - Режим доступу: http://medgrid.immsp.kiev.ua/.
8. Virtual computing environments: the use of polygons on the grid / V. Volohov, D. Varlamov, N. Surkov [et al.] // Herald of South Ural State University. Series: Mathematical modeling and programming. - 2009. - N 17. - P. 24 - 35.
9. Prila O. The framework for high level grid applications development / O. Prila // Problems of programming. - 2014. - N 1. - P. 31 - 39.
10. Kazymyr V. Grid workflow design and management system / V. Kazymyr, O. Prila, V. Rudyi // International Journal "Information Technologies & Knowledge". - 2013. - Vol. 7, N 3. - P. 241 - 255.
11. MyProxy, Credential Management Service [Електронний ресурс]. - Режим доступу: http://grid.ncsa.illinois.edu/myproxy/protocol/.
12. Advanced Resource Connector middleware for lightweight computational Grids / M. Ellert, M. Granager, A. Konstantinov (eds.) [et al.] // Future Generation Computer Systems. - 2007. - Vol. 23. -P. 219 - 240.
13. gLite - Lightweight Middleware for Grid Computing [Електронний ресурс]. - Режим доступу: http://grid-deployment.web.cern.ch/grid-deployment/glite-web/.
14. Job Submission Description Language (JSDL) Specification / A. Anjomshoaa, M. Drescher, D. Fellows [et al.] // Global Grid Forum, 2005. - Version 1.0, GFD-R.136. - 71 p.
15. Extended Resource Specification Language, Reference Manual for ARC versions 0.8 and above, Nordugrid-Manual-4. - 2013. - P. 13 - 28.
16. Job description language attributes specification for the gLite Workload Management System, WMS-JDL.doc. - 2011. - P. 7 - 10, 38 - 40.
17. Introducing JSON [Електронний ресурс]. - Режим доступу: http: //www .j son.org/.
18. Docker Overview [Електронний ресурс]. - Режим доступу: https://docs.docker.com/engine/ understanding-docker/.
19. Using Jenkins Job DSL for Job Lifecycle Management [Електронний ресурс]. - Режим доступу: https://blog.codecentric.de/en/2015/10/using-jenkins-job-dsl-for-job-lifecycle-management/.
20. Unionfs: A Stackable Unification File System [Електронний ресурс]. - Режим доступу: http: //unionfs.filesystems.org/.
21. Aufs [Електронний ресурс]. - Режим доступу: http: //aufs.sourceforge.net/aufs.html.
22. Btrfs [Електронний ресурс]. - Режим доступу: https://wiki.archlinux.org/index.php/Btrfs.
23. The Virtual File System [Електронний ресурс]. - Режим доступу: http://www.science.unitn.it/ ~fiorella/ guidelinux/tlk/node102.html.
24. Device-mapper Resource Page [Електронний ресурс]. - Режим доступу: http: //www .sourceware.org/dm/.
25. Remote Desktop Protocol [Електронний ресурс]. - Режим доступу: https://msdn.microsoft.com/en-us/library/aa383015.aspx.
26. Nginx [Електронний ресурс]. - Режим доступу: https://nginx.org/ru/.
27. Buyya R. GridSim: A Toolkit for the Modeling and Simulation of Distributed Resource Management and Scheduling for Grid Computing / R. Buyya, M. Manzur // The Journal of Concurrency and Computation: Practice and Experience (CCPE). - 2002. - Vol. 14, Is. 13 - 15. - P. 1179 - 1219.
28. iPerf - The network bandwidth measurement tool [Електронний ресурс]. - Режим доступу: https://iperf.fr/iperf-doc.php.
29. Docker Toolbox [Електронний ресурс]. - Режим доступу: https://www.docker.com/products/ docker-toolbox.
Стаття над1йшла до редакцп 13.07.2017