Мета-комп’ютинг і Грід

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

Паралельне обчислення в 1980-х роках зосередило зусилля дослідників на розвитку алгоритмів, програм і архітектур, які підтримували одночасну роботу кількох процесорів. Впродовж 1980-х і 1990-х, програмне забезпечення для паралельних комп'ютерів зосередилося на тому, щоб забезпечити могутні механізми для управління зв'язками між процесорами, і розробці і створенні середовищ для паралельних машин. Паралельна віртуальна машина (Parallel Virtual Machine, PVM), інтерфейс передачі повідомлень (Message Passing Interface, MPI), високопродуктивний ФОРТРАН (High Performance Fortran, HPF) і OpenMP були розроблені з ціллю підтримки зв'язку для додатків, що масштабуються (scalable applications) . Були розроблені також успішні прикладні парадигми, щоб привести в дію величезний потенціал розділеної і розподіленої архітектури пам'яті.

Що таке Grid-комп’ютинг?

Надалі, дослідження в області технологій мета-компьютинга були розвинені у бік забезпечення доступу одночасного багатьох користувачів до обчислювальних ресурсів великого числа (аж до декількох тисяч) комп'ютерів в локальній або глобальній мережі), доступу їх до сховищ даних, наукового обладнання, комп/ютерних мереж тощо.. При чому кількість перейшла в якість, викликавши до життя новий термін Grid-комп’ютинг
Спочатку вважали, що Grid буде найбільш корисною в розширенні парадигм паралельного обчислення від тісно зв'язаних груп до географічно розподілених систем. Проте на практиці Grid використовувалася більше як платформа для інтеграції вільно зв'язаних додатків (деякі компоненти яких могли б працювати на паралельній машині), і для зв'язку розподілених ресурсів (зберігання, обчислення, візуалізація, інструменти). Першим сучасним Grid зазвичай вважають проект I-WAY (Information Wide-Area Year), розроблений як експериментальний демонстраційний проект у 1995 році, який об’єднав в національну розподілену експериментальну мережу 17 обчислювальних вузлів , зв'язаних за допомогою високошвидкісної магістралі на основі технології АТМ (1.5 Mб/с - 9.6 Mб/с) . Було впроваджено розподілену файлову систему і брокер ресурсів, який містив центральний вузол, що керував мережою, та агентів на решті вузлів. Тоді було розроблено також 60 додатків і упроваджено в I-WAY, 
Розробка інфраструктури і додатків для I-WAY забезпечила конструктивний і могутній досвід для першого покоління Grid систем, до здобутків яких слід вілнести иаке;
• перетворення комп'ютера на пристрій,розрахований на багато користувачів,і створення систем розділення часу
• організацію взаємодії на рівні процесів шляхом 
- організації загального адресного простору
- розподіленої загальної пам'яті (DSM)
- передачі повідомлень (MPI, PVM) для підтримки гетерогенних систем і роботи в локальной/глобальной мережі
• перенесення моделі доступу до програмних і апаратних ресурсів комп'ютера на розподілене обчислювальне середовище - користувач метакомпютера може працювати з його ресурсами так само, як з ресурсами власного комп'ютера
• відпрацювання наступної схеми роботи:
- агент на машині визначає факт простою і зв'язується з сервером, що управляє обчисленнями;
- сервер, що управляє, відправляє агентові нове завдання (дані для обробки, область в просторі пошуку);
- після закінчення обчислень результати відправляються назад на 
сервер;
• підтримку динамічної конфігурації середовища, коли метакомп'ютер
не має постійного складу і динамічно організовується з географічно
розподілених ресурсів, тимчасово делегованих їх фактичними власниками (віртуалізація метакомп'ютера)
• організацію однорідного доступу до обчислювальних ресурсів великої кількості комп'ютерів в локальній або глобальній мережі
• рішення задач, що допускають декомпозицію на велике число невеликих, незалежних підзадач.

Подальший розвиток і узагальнення ідей метакомп'ютинга на більш ширше коло обчислювальних ресурсів і завдань/додатків вимогав невідкладного рішення широкого кола проблем, пов'язаних з передачею даних, забезпеченням безпеки, управлінням завданнями, доступом до даним, пошуком ресурсів, доступом до них та інше. Підходи до побудови такої Grid-система були описані в [Foster I. The Grid: Blueprint for a New Computing Infrastructure / Ian Foster and Carl Kesselman. - Morgan Kaufmann Publishers.-San Francisco.-1998.- 286 p..], і її можна розглядати як представника Grid-систем другого покоління, яким притаманні три основних властивості:
Різнорідність: Grid використовує різноманітні ресурси, які є різнорідними за походженням, і могли б охопити численні адміністративні домени через потенційно глобальний простір;
Масштабованість: Grid міг би зростати від декількох ресурсів до тисяч. Це підіймає проблему потенційного зниження рівня продуктивності по мірі росту та поширення Grid. Отже, повинні бути розроблені додатки, які спроможні використовувати наявні ресурси, а також значно покращені засоби аутентифікації користувачів;
Адаптивність: в Grid відмова ресурсу є скоріше правилом, ніж виключенням. Фактично, з дуже багатьма ресурсами в Grid ймовірність деякого збою ресурсу досить висока. Менеджери ресурсу або додатки повинні динамічно адаптуватися таким чином, щоб вони могли витягти максимальну продуктивність із доступних ресурсів і сервісів.
ПГЗ ( програмне забезпечення проміжного шару) використовується для того, щоб приховати різнорідну природу Grid та створити користувачам і додаткам однорідне середовище, забезпечуючи ряд стандартизованих інтерфейсів і безліч сервісів. ПГЗ перебуває між операційною системою і додатками, забезпечуючи додатки безліч сервісами, необхідними для їх коректного функціонування у розподілених гетерогенних середовищах. 
Поява ПГЗ означала видокремлення від мета-компютингу і оформлення нового напрямку з Grid технологій. Grid - інфраструктура може складатися з будь-яких видів мережевих ресурсів, починаючи від комп'ютерів (обчислювальних ресурсів) до сховищ даних і спеціальних наукових приладів. Традиційно Grid-додатки потребують величезні за масштабом об’єми даних і обчислень. Вмникла потреба в створенні нового типу програмного забезпечення Grid систем, яке на вілміну від ирадиційних клиєнт-серверних систем, де ресурси управляються і облік користувачів ведеться централізовано в одному довірчому домені, забезпечує:
- динамічну безліч довірчих доменів, що використовують різні механізми безпек
- динамічну безліч ресурсів, керованих автономно в рамках одного з 
доменів
- динамічну безліч користувачів, що мають облікові записи в деяких 
доменах
- доступ в процесі обчислень до відразу декільком ресурсам з різних 
доменів
- запуск процесів на декількох ресурса
- організацію в процесі обчислень взаємодії між ресурсами з різних доменів
- взаємодія між запущеними процесами.

До здобутків другого покоління Grid систем слід вілнести иаке;
• розпочаток виконання проекту Globus, направленого на формалізацію і розробку набору (toolkit) базових сервісів для 
- управління ресурсами
- управління обчисленнями
- управління даними
- забезпечення безпеки;
• розроблення і впровадження загальної Grid інфраструктури у вигляді базових сервісів, не залежних від ресурсів і додатків (аутентифікація, авторизація, пошук і розподіл ресурсів, повідомлення про події, облік використання ресурсів, видалений доступ до даним, виявлення відмов і т.д.)
• показ можливості об'єднання базових сервісів в складніші, високорівневі сервіси
• розроблення ряду програмних компонентів і утиліт, які здійснюють запуск завдань на видалених ресурсах (суперкомп'ютерах, кластерах) через вже існуючі системи управління ресурсами (зазвичай системи пакетної обробки), контроль стану виконання завдань і управління завданнями, збір і доступ до різноманітної інформації про систему і її компоненти тощо,і з допомогою яких мажна надати високорівневі послуги користувачам, додаткам, планувальникам ресурсів, брокерам. 
• розпочаток низки проектів типу Cactus, WebFlow, DataGrіd по створенню великомасштабних обчислювальних і інформаційних мереж ресурсів Grіd для аналізу даних.

Однак лруге покоління ПГЗ не забезпечило повну функціональну сумісність створеного Grid програмного забезпечення , що є важливою умовою реалізації великомасштабних обчислень. Щоб побудувати нові Grid- додатки, бажано багаторазово використати існуючі компоненти та інформаційні ресурси, і гнучко ними оперувати. 
Дві ключових особливості Grid.систем третього покоління – наголос на прийняття сервісно-оріентованої моделі та зростаюча увага до метаданих. Фактично сервісно-орієнтований підхід припускає, що гнучке застосування ресурсів Grid у додатках Grid вимагатиме інформацію про функціональні можливості, характеристики та інтерфейси різних компонентів, і ця інформація повинна бути погодженою , що можена було її обробляти комп’ютером. Були введені нові терміни «розподілене співробітництво» і «віртуальна організація» . В третьому поколінні сформувалося більш цілісне уявлення про виконання Grid обчислень, і можна сказати, що справа йдеться скоріше про інфраструктуру для е-Науки, ніж про поліпшення уже розробленої існуючої технології. Grid може забезпечити підтримку віддаленого спілкування вчених в реальному часі. Особливо важливою є інфраструктура для підтримки розподілених ресурсів – тут є багато ключових сервісів: безпека, масштабування і управління, реєстрація і пошук, та інтерфейси Web-сервісів, орієнтовані на повідомлення, для забезпечення могутніх механізмів співробітництва. Всі головні Grid-сервіси і інфраструктура забезпечують співпрацю і є вкрай значущими для суспільства.
Третє покоління Grid систем націлене, насамперед, на створення «загального дослідницького простору» («collaboratory»), у якому національні дослідники можуть виконувати дослідження безвідносно до географічного місця розташування шляхом взаємодії з колегами, спільно використовуючи інструментарії, дані й обчислювальний ресурс і звертаючись за інформацією до цифрових бібліотек. Успішними пикладами таких зусиль можуть бути проекти Grіd2003 , що призначений поєднати могутні обчислювальні центри США; проект EGEE (Enablіng Grіds for E-scіence іn Europe) , метою якого є об'єднання національних, регіональних і тематичних Grid -систем в єдину цільну Grid -інфраструктуру для підтримки наукових досліджень; проект Access Grid , присвячений колекції ресурсів, які підтримують співробітництво людей через Grid, включаючи великомасштабні розподілені зустрічі та навчання.
Grіd системи третього покоління впевнено крокують до Семантичних Grіd, заснованих на використанні метаданих і онтологій, у яких інформація розуміється як тільки як дані, що мають значення, але і знання, які здобуваються , використаються, представляються, публікуються й підтримуються, щоб допомогти Е-вченим досягати їхніх специфічних цілей. Знання розуміються як інформація, застосована для досягнення мети, рішення проблеми або ухвалення рішення. Семантичний Grіd охоплює всі три концептуальні шари Grіd: знання, інформація й обчислення/дані. Ці додаткові шари в остаточному підсумку забезпечать багатий, безшовний і розповсюджений доступ, що поширюється на глобально розподілені гетерогенні ресурси. Одна із стандартних методик, що використовуються в управлінні знаннями, – це розроблення порталу знань. Стандартне визначення для нього таке: портал – це працюючий на базі Web додаток, що забезпечує засоби для накопичення, пристосування та персоналізації даних. 
До найбільш вагомих здобутків Grid систем третього покоління, отриманих до тепер, можна віднести:
• злиття Grid-технологій і технологій Web-сервісів, формування Grid сервісу як спеціальнеого розширення Web-сервісу щляхом підтримки екземплярів Grid-сервісу, що мають стан і, можливо, обмежений час життя; З кожним екземпляром Grid-сервісу пов'язані дані сервісу, тобто інформація, структурована у вигляді набору іменованих XML-елементів, що типізуються (service data elements, SDE
• забезпечення інтероперабільності різних реалізацій сервісів, визначення стандартизованих інтерфейсів сервісів (OGSI),визначення протоколу(-ов) для виклику певного інтерфейсу, домовленість про стандартний набір підтримуваних протоколів, при чому для кожного із стандартних інтерфейсів визначений набір елементів даних сервісу, які повинні підтримуватися будь-яким екземпляром сервісу, що реалізовує даний інтерфейс;
• запропонування спільними зусиллями GT , IBM та інших компаній набору специфікацій під ім'ям WS-Resource Framework (WSRF), який спирається на ту ж архітектуру OGSA, на загальновизнані стандарти Web-сервісів, при чому зберігає ться багато елементів OGSI, але використовується інша термінологія і розширюються можливості OGSI;
• створення програмному Grid забезпечення Globus Toolkit GT4 як відкритаої реалізації WSRF і засоби розробки клієнтських і серверних додатків на мовах Java, С++ і Python; при цьому GT4 не повністю сумісний з попередним GT3

Історія Globus Toolkit наочно демонструє еволюцію перспективної технології від суто академічного проекту з вузьким довколом користувачів до загальноприйнятого стандарту, що користується широкою підтримкою ІТ-індустрії у цілому світі. 
Навіть при тому, що рівень сьогоднішних Grid є досить високим і більшість програмних забезпечень є доступним і безпосередньо використовуваним, він усе ще має нестачу в багатьох істотних аспектах, які забезпечать ефективний доступ, поширення й використання системних ресурсів. Можна виділити наступні задачі, що вимагають подальшого розроблення: 
Інформаційні служби - механізми, які використовуються для того, щоб зберігати інформацію про ресурси, тому що Grid має потребу в наданні віддалених, швидких, надійних, безпечних і масштабованих послуг.
Інформація про ресурси - для коректної роботи Grid будуть необхідні всі види інформації, починаючи від імені ресурсу та даних безпеки і закінчуючи прикладними вимогами та параметрами користувача. Важливо, щоб вся ця інформація була зрозумілою, легко інтерпретованою й могла бути використаною всіма службами, які її потребують.
Виявлення ресурсу - повинні бути механізми для визначення місцезнаходження ресурсу в межах глобально розподіленої системи, якщо є унікальне ім'я ресурсу або його характеристики. Сервіси є ресурсами. Деякі ресурси можуть зберігатися, деякі можуть бути перехідними, і деякі можуть бути створені на вимогу.
Синхронізація й координація - повинні бути механізми для керування складною послідовністю обчислень на безлічі ресурсів. Для цього може стати необхідним опис процесу й наявність подієво-орієнтовної інфраструктури, що має на увазі планування на різних рівнях, включаючи метапланування та інформаційні потоки.
Стійкість до відмову системи - середовища повинні справлятися з відмовою компонентів програмного забезпечення та обладнання, так само як із проблемами доступу взагалі, і повинна бути продумана обробка виняткових ситуацій, що необхідна в такий динамічній багатокористувацькій мультисистемі. 
Безпека - аутентификація, авторизація, гарантія, і механізми ведення обліку повинні бути встановлені на місці, і вони повинні функціонувати в контексті автоматизації та масштабу, що збільшується. 
Паралельність і послідовність - потреба підтримати відповідний рівень послідовності даних у паралельному, різнорідному середовищі. Для деяких додатків достатньою може бути менш чітка послідовність.
Продуктивність - потреба бути в змозі впоратися із глобальним доступом до ресурсів, через кешування та дублювання. Привабливим виглядає переміщення коду (або сервісу) до даних (можливо зі скриптами або мобільними агентами), але вносить ряд проблем.
Різнорідність - потреба працювати з безліччю апаратних засобів, з різним програмним забезпеченням та інформаційними ресурсами, і зробити це через множинні організації з різними адміністративними структурами.
Масштабованість - у системі повинна бути можливість розширити число й розмір сервисів та додатків, не вимагаючи при цьому людського втручання. Для цього потрібна автоматизація та ідеальна самоорганізація.
Інтерфейси- потреба використовувати Grid, не дивлячись на специфічне програмне забезпечення проміжного шару( middleware) в різних інфраструктурах і платформах, що дозволить працювати в змішаному Grid середовищі;

Розподілені обчислювальні технології, що існували до появи Grid -технологій, не забезпечують виконання представлених вище вимог. Наприклад, Iнтернет-технології спрямовані на комунікаційний і інформаційний обмін між комп'ютерами, але не надають інтегрованого підходу для координованого використання ресурсів на декількох обчислювальних системах. Мета-комп’ютинг забезпечує паралельне рішення конкретної задачі ( кількох задач) на множені обчислювальних ресурсів. Бізнес-технології фокусуються лише на проблемах спільного використання інформації, найчастіше через централізовані сервери. Розподілені обчислювальні технології масштабу підприємства, такі як CORBA або Enterprise Java, дозволяють розділяти ресурси тільки в рамках однієї організації. Засоби Open Group's Distributed Computing Environment (DCE) підтримують захищене спільне використання ресурсів декількох сайтів, однак більшість віртуальних організацій знаходить ці інструменти обтяжними й негнучкими. Провайдери сервисів зберігання даних (storage service provider - SSP) і сервисів додатків (application service provider - ASP) допускають зберігання даних і виконання обчислень на третій стороні, але з деякими обмеженнями (наприклад, SSP ресурси доступні користувачам лише через приватні віртуальні мережі (virtual private network - VPN). Таким чином, нинішні технології або не дозволяють об'єднати різноманітні типи ресурсів, або не надають гнучкості в керуванні поділюваними зв'язками.
Важливо підкреслити, говорячи про використання Grid-технологій, що вони дозволяють не тільки вирішувати наукові й практичні завдання, раніше недоступні через занадто великий час, потрібний для одержання відповіді. Grid створює основу для нової організації науки, високотехнологічного виробництва, соціального життя, дозволяє більш ефективно та надійно управляти ресурсами суспільства. Grid забезпечує платформу, за допомогою якої користувачі отримують доступ до об’єднаних обчислювальних, ресурсів зберігання даних і мережевих ресурсів, для того щоб вони могли виконували свої прикладні програми для обробки розподілених даних. Це забезпечує функціональне середовище, що надає користувачам можливість проаналізували дані, спільно використовувати результати з співробітниками і використовувати інформацію про стан даних через встановлені кордони і географічні межі.
На наш погляд, не можна вважати тотожними сучасний Grid- комп’ютинг і мета-комп’ютинг 90-х років . Мета-комп’ютинг пов’язаний з розпаралелюванням виконання окремих задач на множині процесорів ( типовий приклад- класичний кластер), а Grid- комп’ютинг – з оптимальною підготовкою і організацією виконання множини різних задач в віртуальному полі різних ресурсів, коли обчислювальні ресурси можуть бути і однопроцесорними. Grid- і паралельні технології розподілених обчислень не співпадають. Не розділяти Grid- комп’ютинг і мета-комп’ютинг - це все рівно , як сучасний «шаттл» по- старому називати «аеропланом» поруч з «кукурузником», не розділяти авіаційні і космічні технології і говорити про розвиток «повітроплавання» у космосі. Ще гірше «кукурузник» називати «шаттлом». Це може привести до непорозуміння при спілкуванні з іноземними фахівцями (що притримуються поглядів на розвиток і взаємоспіввідношення Grid- комп’ютингу і мета-комп’ютингу, викладених вище), які не зможуть збагнути, як можна побудувати Grid –систему ( а не мета-комп’ютер !) на факультеті без використання проміжного ПГЗ


 

Ukrainian (UA)Russian (CIS)English (United Kingdom)