Реферат по темі випускної роботи

Актуальність роботи

Незважаючи на вже існуючі засоби створення Грiд інфраструктур, існує ряд важливих наукових завдань, без рішення яких неможливо повномасштабне використання Грiд технологій у науці. Однієї з таких є ефективне керування ресурсами в розподіленому середовищі. Відсутність гарної системи взаємодії програмних агентів значно знижує ефективність використання Грiд інфраструктури. І тому сьогодні актуальним завданням є створення нової моделі взаємодії програмних агентів.

Мета роботи

Метою магістерської роботи є розробка програмних агентів для розподілених обчислень в Грiд середовищі, а саме: програмних агентів диспетчеризації та планування завдань, а також агентів обчислювальних ресурсів Грiд. Важливою частиною роботи є розробка інтерфейсів і протоколів для взаємодії перерахованих агентів.

Наукова новизна

Науковою новизною володіють алгоритми роботи, програмних агентів, що розробляються, які підвищують масштабованість обчислювальної Грiд і зменшують загальний час обробки завдань.


Обчислювальний Грiд

Грiд це інфраструктура, побудована на основі Інтернет, що забезпечує масштабовані, безпечні, швидкодіючі механізми для виявлення та доступу до вилучених обчислювальних та інформаційних ресурсів (можливо різної архітектури). Появі Грiд технологій передувало, з одного боку, створення швидкісних комп'ютерних мереж, які використають відкриті універсальні інтерфейси і протоколи, а з іншого боку, рішення завдань комп'ютерної безпеки, таких як аутентифікація, авторизація ресурсів і контроль доступу до ресурсів.

У рамках відомих типів Грiда (семантичний Грiд, Грiд даних, інформаційний Грiд і т.д.) з'являються нові форми, але найбільше активно розвивається обчислювальний Грiд. Обчислювальний Грiд використається як об'єднання обчислювальної потужності безлічі комп'ютерів і серверів для рішення більш складних завдань, підвищення й утилізації обчислювальних потужностей. Рішення таких завдань на машині користувача, представляється вкрай не ефективної, через їх тривале виконання.
Обчислювательний Грiд
Рисунок 1 – Приклад обчислювального Грiда (5 кадрів, 5 повторень, 128 KБ)

Можливі реалізації обчислювального Грiда розрізняються по:

  • типу використання ресурсів
  • типу об'єднання ресурсів (кластерізовані і некластерізовані)
  • класу оброблюваних завдань (однопроцесорні або паралельні)
В даний час активно розвивається дворівнева організація ресурсів Грiд, тобто Грiд побудований з вузлів, що перебувають у різних точках кластерної мережі, у які об'єднані велика кількість обчислювальних ресурсів. При цьому обчислювальні ресурси повністю виділяються в Грiд і не можуть використатися власниками (відчужені ресурси). При такій організації обчислювальні ресурси поєднуються в кластери і перебувають під керуванням локального менеджера.

Також існує однорівнева організація ресурсів Грiд, що складається з некластерізованих обчислювальних ресурсів – персональних комп'ютерів користувачів. Оскільки таких станцій величезна кількість – вони становлять великий інтерес для користувачів Грiд, які могли вирішувати на них свої завдання. Але таке рішення завдань може виявитися досить проблематичним з–за наступних проблем:

  • власники обчислювальних ресурсів виконують на них власні програми
  • може відбутися вимикання ресурсу в будь-який непередбачений момент
Основне завдання Грiд – координування колекцій ресурсів. Використання агентних систем для планування завдань у Грiд дасть можливість розв'язати дві основні проблеми – масштабованості й адаптивності. Агенти надають ресурси й роблять пошук певного ресурсу. Агент установлюється на виконавчих комп'ютерах, власники яких хочуть надати свої ресурси у Грiд [1].


Структура Грiд на основi агентного підходу

Аналіз існуючих засобів планування й балансування завантаження в Грiд системах свідчить про те, що ці методи й засоби в цей час розвинені недостатньо. Техніка планування і керування ресурсами, які існують зараз, не задовольняють двом основним вимогам одночасно:

  • масштабованість (працездатність Грiд системи при значному збільшенні або зменшенні її состава)
  • адаптивність (Грiд – динамічне середовище, де тип, розміщення та продуктивність компонентів постійно змінюється)
Можна виділити один з найбільш ефективних методів побудови Грiд – використання агентного підходу.

«Агент – це сутність, що може приймати інформацію із зовнішнього середовища й реагувати на зовнішні збудження» [2]. Агенти завдяки здатності обміну інформації між собою можуть у великому ступені поліпшити планування завдань у Грiд. Кожен агент розглядається як представник Грiд ресурсу на мета рівні, тобто можна розглядати агента як провайдера сервісу. Кожен агент має інформацію й може взаємодіяти з одним агентом рівнем вище й кілька агентів рівнем нижче (або не мати взагалі). Інформація про локальний ресурс анонсується як нагору, так і вниз, тобто відбувається пошук певного ресурсу або більш швидкодіючого. У файлах конфігурації агентів є інформація про сервіси сусідніх агентів, що агент обробляє в процесі пошуку залежно від джерела інформації. Інформація обновляється при одержанні анонса від відповідного агента. При змінах у локальному ресурсі агент відправляє свій анонс сусіднім агентам й якщо інформація вичерпана, а агент не знайдений, то завдання посилається до вищого за рівнем агентові. Структуру агента наведено на рисунку 2 [3]. Агент має два рівні:

  • комунікаційний рівень (забезпечує обмін даними з іншими агентами)
  • координаційний (відбувається процес планування, тобто обчислюється час виконання завдання і відправлення її на виконання)
Структура агента
Рисунок 2 – Структура агента

На основі агентного підходу можна побудувати наступну структуру Грiд мережі (див. рисунок 3) [3]. При цьому Грiд мережа складається з агента диспетчеризації, що встановлюється на сервері Грiд мережі, агента обчислювального ресурсу першого рівня (cluster agent), що встановлюється на сервері обчислювального кластера й агента обчислювального ресурсу другого рівня (user agent). Агент диспетчеризації приймає замовлення від користувачів, бронює обчислювальні ресурси, реєструє обчислювальні ресурси (що входять у Грiд мережу), веде статистику виконання усіх завдань, а також стежить за ходом виконання завдань на обчислювальному ресурсі. Агенти обчислювальних ресурсів першого та другого рівнів установлюються на серверах кластерів і на обчислювальних ресурсах відповідно. Ці агенти контролюють виконання завдання: вони відповідають за запуск завдання, стежать за ходом виконання завдання, а також за коректним розділом ресурсів, обчислюють час виконання завдання (здійснюється пошук більше підходящого ресурсу для завдання).
Архітектура Грiд мережі на основі агентного підходу
Рисунок 3 – Архітектура Грiд мережі на основі агентного підходу


Протоколи взаємодії агентів

«Протокол - це набір правил, які застосовуються в крайніх точках телекомунікаційної системи під час обміну даними» [4]. Протоколи в Грiд повинні забезпечувати надійний транспорт і маршрутизацію повідомлень. Незважаючи на існуючі альтернативи, зараз протоколи в Грiд, а саме обмін повідомленнями між агентами рівнів, а також між агентами рівнів і центральним агентом розподілу ресурсів, припускають використання тільки стека протоколів TCP/IP, зокрема: IP, ICMP, TCP, UDP, HTTP, FTP. Протокол HTTP використається в більшості Грiд мереж для виділення обчислювальних ресурсів, а також моніторингу й контролю обчислень на цих ресурсах. А протокол FTP - є протоколом керування доступом до даних, часткового доступу до файлів і керування паралелізмом для високошвидкісних передач інформації. Протокол FTP прийнятий як базовий протокол передачі даних, оскільки його підтримують сторонні розроблювачі, а також тому, що його самостійне керування і канали даних полегшують застосування витончених послуг. З огляду на бурхливий розвиток мережних технологій, у майбутньому взаємодія, можливо, буде здійснюватися по інших протоколах. Протоколи, які використають агенти повинні виконувати наступні функції:

  • узгодження політик безпеки використання ресурсу
  • ініціацію обчислювального ресурсу
  • моніторинг стану обчислювального ресурсу
  • контроль над обчислювальним ресурсом
  • облік використання обчислювального ресурсу
Розрізняють два основних класи протоколів:
  • інформаційні протоколи, які одержують інформацію про структуру та стан обчислювального ресурсу
  • протоколи управління
Для забезпечення надійного транспорту повідомлень між агентами в Грiд системі повинні використатися рішення, що передбачають гнучкий підхід до безпеки комунікацій. У цей час ці рішення ґрунтуються як на існуючих стандартах безпеки, споконвічно розроблених для Інтернет, так і на нових розробках [1] [4].


Функції Агентів

Як вже було сказано, агенти встановлюються на всіх виконавчих комп'ютерах. Ресурси виконавчого комп'ютера можуть ділитися між процесами користувача та завданнями Грiд, якщо власник виконавчого комп'ютера надає обчислювальні ресурси частково, або не ділитися взагалі, якщо це обчислювальний кластер.

  • запуск завдання
  • поділ ресурсів
  • керування на виконавчому комп'ютері
  • передача даних
  • безпека переданих даних

Коли ресурси виконавчого комп'ютера звільнилися, агент інформує про це диспетчер (агент сервера Грiд) і запитує на виконання нове завдання із черги завдань. Якщо завдання немає, агент через певні моменти часу запитує завдання знову. Якщо в черзі завдань є підходяще завдання (з найвищим пріоритетом або обране з іншим критерієм), то агент передає файли на виконавчий комп'ютер і виконує це завдання. Після запуску завдання на виконання виконується поділ ресурсів, тобто забезпечується ізоляція даних завдання Грiд від даних користувача комп'ютера. Здійснюється контроль над спожитими ресурсами і як тільки завдання виходить за межі споживання ресурсів (при ініціалізації вузла мережі Грiд заповнюється файл конфігурації, у якому вказується яка кількість ресурсів приділяється в Грiд інфраструктуру), агент завершує виконання завдання. Також агенти рівнів можуть завершувати завдання, якщо збільшується завантаження комп'ютера за рахунок локальних процесів власника або по запиті користувача.

Всю інформацію про завдання: статус виконання, кількість використаних ресурсів завданням агенти рівнів відправляють диспетчерові через певні моменти часу.

Як тільки завдання Грiд виконалося, агенти рівнів відправляють вихідні файли результати, а всі дані, пов'язані із завданням, видаляють із виконавчого комп'ютера. В інформаційній базі даних агенти рівнів міняє статус завдання на «ВИКОНАНО», інформує диспетчер про успішне виконання завдання і запитує нове завдання на виконання.

Агенти першого рівня, установлюються на сервері кластера й відповідають за цілий кластер. Вони опитують всіх агентів кластера, вибирають найменш завантажений ресурс і передають керування цьому ресурсу, тобто агентові цього ресурсу [1] [8].


При написанні даного автореферату магістерська робота ще не завершена. Остаточне завершення: грудень 2009 р. Повний текст роботи й матеріали можуть бути отримані у автора або його керівника після зазначеної дати.


Посилання на Інтернет ресурси, пов'язані з Грiд технологіями, підтримані Європейською комісією.

ASP-BP Розробка єдиної концепції рішення для 6 проектів, що використовують ASP технології.
AVO Віртуальна астрофізична лабораторія.
BioGRID Інтеграція різних програмних пакетів по квантовій хімії й молекулярній динаміці в Грiд середовищi. Розробка інтерфейсів до біомолекулярних додатків і баз даних, що використають інфраструктуру UNICORE. Створення програмних засобів і інтерфейсів користувача для симуляції та візуалізації біомолекул.
COG Демонстрація застосовності Грiд технологій у промисловості.
CROSSGRID Європейський дослідницький проект, що охоплює весь спектр традиційних для Грiд завдань – організація об'ємних обчислень для конкретних наукових областей, створення нових інструментів та сервісів і т.д.
DAMIEN Адаптація та розширення можливостей використання деяких комерційних програмних пакетів, використовуваних у промисловості, для Грiд.
DATAGRID Проект, продовженням якого став проект EGEE і метою якого була побудова тестової інфраструктури обчислень і обміну даними для європейського наукового співтовариства. Одним з досягнень EDG стало створення комплексу програмного забезпечення Грiд (платформа EU DataGRID), що здатна управляти величезними обсягами розподілених даних та обчислювальних ресурсів, обслуговуючи тисячі одночасно працюючих користувачів з багатьох дослідницьких інститутів.
DATATAG Створення великомасштабної міжконтинентальної іспитової мережі, у якій можна було б відслідковувати різні мережні проблеми, вирішувати питання сумісності міжконтинентальних мережних доменів, розширювати їхні можливості й, таким чином, сприяти реалізації всесвітньої програми розвитку Грiд технологій.
EGSO Європейський проект, що працює в співробітництві з NASA, своєю метою ставить створення «віртуальної сонячної обсерваторії», дані в якій будуть збиратися з наземних і космічний спостережних пунктів.
EUROGRID Європейська дослідницька мережа по тестуванню використання Грiд у різних областях. Спрацьовувалися технології організації розподілених обчислень, вирішувалися завдання молекулярного моделювання, прогнозування погоди, аеродинаміки.
FLOWGRID Flow Simulations On-demand Using Grid Computing. Симуляція та візуалізація «по-запиту» завдань чисельного моделювання газо – і гідродинаміки з використанням Грiд компьютинга.
GRACE Розробка розподіленої системи пошуку й каталогізації ресурсів, використовувана для гнучкого й оперативного виділення обчислювальних ресурсів і ресурсів пам'яті в Грiд середовищі.
GRIA Розробка проміжного програмного забезпечення Грiд для комерційного використання. Особлива увага приділяється простоті встановлення, зниженню витрат на підтримку та зручність для кінцевих користувачів.
GRIDLAB Мета проекту – розробка ряду орієнтованих на додатки сервісів Грiд, а також інструментальних засобів, які будуть використатися для динамічного посередництва при розробці ресурсів, моніторингу, керуванні даними, забезпеченні безпеки, наданні адаптивних послуг і т.д. Послугами можна буде скористатися за допомогою комплекту інструментальних засобів для розробки додатків (GAT - Grid Application Toolkit).
GRIDSTART Мета проекту – консолідація зусиль ряду Європейських Грiд проектів, сприяння взаємодії між аналогічними проектами в Європі та в усім світі, стимулювання впровадження й поширення Грiд додатків у різних областях промисловості і наукових досліджень. Основне його завдання – переконати компанії в необхідності та взаємній вигоді обміну програмним забезпеченням і базами даних та створити загальноєвропейську систему поширення технологій.
GRIP GRID Interoperability Project. Реалізація взаємодії між Globus й UNICORE - двома лідируючими програмними пакетами GRID middleware.
ASG Обчислювальні мережі з адаптивними сервісами. Розробка відкритої платформи для виявлення, створення, складання та програвання адаптивних служб.
HPC4U Розробка універсального програмного забезпечення для підвищення відказу Грiд систем. Метою проекту HPC4U є розширення потенціалу використання Грiд систем для рішення складних завдань шляхом розробки компонентів програмного забезпечення, що реалізують надійне й достовірне середовище виконання Грiд додатків, і вв'язування цього з угодами сервісного рівня (Service Level Agreements - SLA) і із промисловими кластерами, що забезпечують якість послуг (Quality of Service).
InteliGrid Побудова архітектури й програмного забезпечення для онтологічних Грiд систем. Взаємодія Віртуальних Організацій (ВО) всередині складних семантичних Грiд систем.

Список літератури:

  1. Березовский П.С., Коваленко В.Н. "Состав и функции системы диспетчеризации заданий в Грiде с некластеризованными ресурсами", ИПМ им. М.В.Келдыша РАН, Москва 2007.
  2. Шелестов Ю.А.,Скакун С.В.,Куссуль О.М. "Агентный подход к реализации модели поведения пользователей GRID-систем", Институт космических исследований НАНУ-НКАУ.
  3. Гороховський С.С., Римарчук В.К. "Технологiя сiтки (GRID) i використання агентних платформ для задач планування", УДК 681.3:658.
  4. Я. Фостер, К. Кессельман, С. Тьюке "Анатомия Грiд. Создание Масштабируемых Виртуальных Организаций", перевод с англ.: Карягин Д.А., ИПМ им. М.В.Келдыша РАН, Москва 2004.
  5. Коваленко В.Н., Корягин Д.А. "Организация ресурсов Грiд", ИПМ им. М.В.Келдыша РАН, Москва 2004.
  6. Коваленко В.Н., Коваленко Е.И., Шорин О.Н. "Разработка диспетчера заданий Грiд, основанного на опережающем планировании ", ИПМ им. М.В.Келдыша РАН, Москва 2005.
  7. А.Е. Дорошенко, А.П. Розенблат, К.А. Рухлис, Ю.М. Тырчак "МОДЕЛИ И СРЕДСТВА ПРОГРАММИРОВАНИЯ Грiд-СИСТЕМ", Институт программных систем НАН Украины 2005.
  8. А.И. Аветисян, С.С. Гайсарян, Д.А. Грушин, Н.Н. Кузюрин, А.В. Шокуров "Эвристики распределения задач для брокера ресурсов Grid", Институт системного программирования РАН, 2004.
  9. Ян Фостер «Разные оттенки Грiд», пер. Леонид Черняк, Издательство «Открытые системы».
  10. David W. Walker «Emerging Distributed Computing Technologies», Department of Computer Science, Cardiff University, PO Box 916, Cardiff CF24 3XF.