Метакомп'ютинг — Вікіпедія

Визначення[ред. | ред. код]

Цей термін виник разом з розвитком високошвидкісної мережевої інфраструктури на початку 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 Мб/с — 9.6 Мб/с) . Було впроваджено розподілену файлову систему і брокер ресурсів, який містив центральний вузол, що керував мережою, та агентів на решті вузлів. Тоді було розроблено також 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 систем слід віднести таке;

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

• розпочаток низки проектів типу Cactus, WebFlow, DataGrid по створенню великомасштабних обчислювальних і інформаційних мереж ресурсів Grid для аналізу даних.

Третє покоління метакомп`ютингу[ред. | ред. код]

Друге покоління ПГЗ не забезпечило повну функціональну сумісність створеного Grid програмного забезпечення, що є важливою умовою реалізації великомасштабних обчислень. Щоб побудувати нові Grid- додатки, бажано багаторазово використати існуючі компоненти та інформаційні ресурси, і гнучко ними оперувати. Grid системи третього покоління впевнено крокують до Семантичних Grid, заснованих на використанні метаданих і онтологій, у яких інформація розуміється як тільки як дані, що мають значення, але і знання, які здобуваються, використаються, представляються, публікуються й підтримуються, щоб допомогти Е-вченим досягати їхніх специфічних цілей. Знання розуміються як інформація, застосована для досягнення мети, рішення проблеми або ухвалення рішення. Семантичний Grid охоплює всі три концептуальні шари Grid: знання, інформація й обчислення/дані. Ці додаткові шари в остаточному підсумку забезпечать багатий, безшовний і розповсюджений доступ, що поширюється на глобально розподілені гетерогенні ресурси. Одна із стандартних методик, що використовуються в управлінні знаннями, — це розроблення порталу знань. Стандартне визначення для нього таке: портал — це працюючий на базі 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[ред. | ред. код]

Історія Globus toolkit наочно демонструє еволюцію перспективної технології від суто академічного проекту з вузьким довколом користувачів до загальноприйнятого стандарту, що користується широкою підтримкою ІТ-індустрії у цілому світі. Навіть при тому, що рівень сьогоднішних Grid є досить високим і більшість програмних забезпечень є доступним і безпосередньо використовуваним, він усе ще має нестачу в багатьох істотних аспектах, які забезпечать ефективний доступ, поширення й використання системних ресурсів. Можна виділити наступні задачі, що вимагають подальшого розроблення:

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

Примітки[ред. | ред. код]

Посилання[ред. | ред. код]

Джерела[ред. | ред. код]

(укр.)