Автор работы: Пользователь скрыл имя, 02 Июня 2013 в 22:21, практическая работа
По-перше,розглядається "GRID - проблема", яка визначається як завдання забезпечення гнучкого, безпечного та узгодженого поділу ресурсів у так званих віртуальних організаціях - динамічних об'єднаннях окремих користувачів, інститутів і ресурсів. При такій постановці питання ми стикаємося з проблемами однозначної аутентифікації, авторизації, виявлення ресурсів і організації доступу до них, а також низкою інших складних завдань. Це і є клас проблем, на вирішення яких націлені GRID - технології. Далі представляємо GRID - архітектуру, в якій протоколи, служби, інтерфейси прикладного програмування та інструментарій для розробки програмного забезпечення розподілені по категоріями відповідно до їх ролі в забезпеченні поділу ресурсів.
Вступ 3
2. Історія виникнення та розвитку GRID - систем 4
3. Віртуальні організації 6
4. Концепція GRID-систем 9
5. Архітектура GRID 11
6. Застосування GRID на практиці 14
7. Приклади зв’язку GRID з іншими технологіями 15
8. Перспективи GRID 18
Висновок 19
Література 20
рис. 1
Фактично організація може брати участь в одній або декількох ВО, надаючи для поділу деякі або всі свої ресурси. На малюнку показані (у овалах) три фактично існуючі організації і дві ВО: P, яка об'єднує учасників консорціуму аерокосмічного проекту, і Q, яка пов'язує колег, приголосних розділяти вільні кванти комп'ютерного часу, наприклад, при розрахунках трасування променів. Організація, показана в лівій частині малюнка, бере участь в P, а показана праворуч бере участі в Q, а третя є членом як P, так і Q. політики, регулюючі доступ до ресурсів (резюміруемие в "квотах") різняться, відповідно, для фактичних організацій, ресурсів Іво, залучених в загальний процес.
Відносини поділу можуть з часом динамічно змінюватися залежно від умов застосування виділених ресурсів, характеру дозволеного доступу і складу учасників, яким дозволений доступ. І ці відносини зовсім необов'язково пов'язані з необхідністю явного поіменного вказівки учасників, а цілком можуть бути неявно визначені через політики управління доступом до ресурсів.
Наприклад, організація може забезпечити доступ будь-якому, хто доведе, що він "замовник" або "студент". Динамічний характер відносин поділу означає, що нам потрібні механізми обнаруживающие і характеризують суть зв'язків, які існують в даний момент часу.
Наприклад, новий учасник, що вступає в ВО Q, повинен бути в змозі визначити, до яких ресурсів може бути отриманий доступ, "якість" цихресурсів та політики управління доступом.
Відносини поділу часто представляються не просто схемою "клієнт-сервер", а досить розвиненою одноранговой структурою типу "точка - точка", де провайдери можуть виявитися споживачами, а відносини поділу можуть існувати між будь-яким підмножиною учасників. Відносини поділу можуть об'єднуватися для узгодженого використання на багатьох ресурсах, кожен з яких належить однієї з організацій. Наприклад, розрахунки, розпочаті у ВО Q на одному пулі обчислювальних ресурсів, можуть пізніше отримати доступ до даних або запустити рішення під задач де-небудь ще. У таких ситуаціях важливою ставати здатність контрольованими способами делегувати повноваження, це ж стосується механізмів узгодження операцій (так званого, спільного планування - cosheduling) на всій безлічі ресурсів.
Залежно від обмежень, накладених
на поділ, і цілі його застосування
один і той же ресурс може бути використаний
різними способами. Наприклад, при
одній системі відносин комп'ютер
може бути використаний тільки для
прогону певного блоку
Ці характеристики та вимоги визначають те, що ми називаємо віртуальної організацією, концепцію, яка за нашим переконанням стає фундаментальною для багатьох сучасних процесів обчислень і обробки даних. ВО дозволяють у докорінно відмінним групам організацій та / або окремим користувачам контрольовано розділяти ресурси, так щоб вони могли співпрацювати при досягненні якоїсь спільної мети.
Створення, управління і використання динамічних, міжвідомчих ВО, поділ ресурсів, вимагає нової технології. Ми опишемо цю технологію в термінах GRID-архітектури, яка встановлює фундаментальні
системні компоненти, визначає цілі та функції цих компонент і показує, як ці компоненти взаємодіють один з одним.
Визначення GRID-архітектури
ми почнемо з передумови, що для
забезпечення ефективної діяльності ВО
необхідно мати можливість встановлювати
відносини поділу між будь-якими
потенційними учасниками. Таким чином,
центральною проблемою, що вимагає
дозволу, виявляється
невизначеність.
Чому інтероперабельність є настільки фундаментальною системною можливістю? Справа полягає в тому, що ми повинні гарантувати формування відносин поділу між довільними групами, вступ нових учасників динамічно і через різні платформи, мови і програмні середовища. У такому контексті механізми приносять мало користі, якщо вони не визначені і не реалізовані так, щоб їх інтероперабельність не лімітована кордонами організацій, політиками управління і типами ресурсів. Без інтероперабельності ВО програми та учасники змушені встановлювати двосторонні домовленості про розділення, оскільки немає гарантії, що механізми, використовувані між будь-якими двома групами можуть бути розширені для будь-яких інших груп. Без такої гарантії динамічне створення ВО зовсім неможливо, а кількість типів ВО, які можуть бути сформовані, суворо обмежена. Точно також як Web революціонізувала поділ інформації, надавши для цілей інформаційного обміну універсальний протокол і синтаксис (HTTP і HTML), нам необхідні стандартні протоколи для повсюдного поділу ресурсів.
Чому протоколи вкрай
необхідні для
Оскільки ВО доповнюють, а не замінюють існуючі організації, механізми поділу не можуть вимагати істотних змін в локальних політиках управління і повинні дозволяти окремим інститутам підтримувати гранично жорсткий контроль їх власних ресурсів. Оскільки протоколи визначають взаємодії між компонентами, а не їх реалізацію, локальне управління зберігається.
Чому важливі служби? Служба визначається виключно протоколом, за допомогою якого вона спілкується, і дисципліною, яку вона реалізує. Визначення стандартних служб - для доступу до обчислювальних ресурсів, доступу до даних, виявлення ресурсів, спільного планування, реплікації даних і так далі - дозволяє нам вдосконалити служби, пропоновані учасникам ВО, а також абстрагуватися від специфічних деталей ресурсів, які завадили б розробці ВО додатків.
Чому ми також обговорюємо тут можливості API і SDK? Звичайно, є щось більш значуще для ВО ніж інтероперабельність, протоколи та служби. Розробники повинні мати можливість створювати витончені додатки в складній і динамічній виконавчої середовищі. Користувачі повинні мати можливість працювати з цими додатками. Працездатність додатків, їх справність, вартість розробки і супроводу - все це надзвичайно важливі фактори. Стандартні абстракції, API's і SDK's допомагають прискорити розробку програм додатків, забезпечують спільне використання загальних програм і покращують переносимість додатків. API's і SDK's є доповненням, а не альтернативою протоколам. Без стандартних протоколів інтероперабельність може бути досягнута на рівні API тільки шляхом використання усюди єдиної реалізації програми, що нездійсненно в багатьох зацікавлених ВО, або на основі знання кожної реалізацією деталей кожної іншої реалізації. (Метод Jini, використовуваний в [2], пропонує завантаження процедури протоколу на віддалений сайт, що не дозволяє обійти цю вимогу).
Отже, коротко, в нашому розгляді GRID-архітектури особливе значення надається, по-перше, ідентифікації і визначенню протоколів і служб і, по-друге, API's і SDK's.
При описі різних рівнів архітектури GRID, будемо слідувати моделі "пісочного годинника". Як показано на рис. 2, горловина пісочного годинника відповідає невеликому кількості базових абстракцій і протоколів (таких як TCP і HTTP в Internet), які необхідні для зв'язку високорівневих служб з низькорівневими.
Деталізуючи рис. 2, архітектуру GRID можна представити у вигляді ієрархічної структури (рис. 3), що складається з декількох рівнів. На кожному з представлених рівнів існують свої сервіси, взаємодіючі за допомогою певних протоколів.
|
Рис. 2 - Модель пісочного годинника
Рис. 3 – Багаторівнева архітектура GRID
Рівень Fabric
Цей рівень надає ресурси, спільний доступ до яких забезпечується через протоколи GRID. Для доступу до обчислювальних ресурсів потрібні:
- Механізми для запуску програми та моніторингу її виконання.
- Механізми для визначення
апаратних і програмних
- Механізми для запуску програми та моніторингу її виконання
- Механізми для посилки / отримання файлів, у тому числі високошвидкісні багатопотокові механізми [7], механізми для читання / запису підмножин файлів;
- Механізми для проведення віддаленої вибірки даних [8];
механізми менеджменту, які
дозволили б контролювати ресурси,
призначені для пересилання даних;
- Механізми поліпшеного резервування. Для доступу до мережевих ресурсів потрібні:
- Механізм менеджменту та контролю над ресурсами, призначеними для мережевого трафіку (пріоритети, резервування);
- Функції визначення
Рівень Connectivity
Рівень Connectivity визначає базові комунікаційні та ідентифікаційні протоколи, необхідні для проведення специфічних для GRID операцій (транзакцій). Комунікаційні протоколи дозволяють здійснювати обмін даними між ресурсами рівня Fabric. Ідентифікаційні протоколи, побудовані на комунікаційних сервісах, надають криптографічних захищений механізм для веріфіцірованія та ідентифікації користувачів і ресурсів. Рішення проблеми безпеки на рівні Connectivity має базуватися на існуючих стандартах. Ідентифікація користувача може бути здійснена різними способами [9]. Зокрема, може бути використано одноразове реєстрування. При використанні цього методу користувачі повинні реєструватися в обчислювальному середовищі тільки один раз і, після успішного завершення операції, отримати доступ до ресурсів рівня Fabric. Іншим способом ідентифікації є делегування. Програма користувача повинна мати доступ до ресурсів, на яких він авторизований. Опціонально програма повинна бути здатна передати підмножина своїх прав іншій програмі. Природно, кожен провайдер ресурсів може мати ряд локальних рішень з безпеки. Система безпеки обчислювальної середовища повинна взаємодіяти з цим класом локальних рішень.
Рівень Resource
Рівень Resource базується на комунікаційному і авторизационном протоколах рівня Connectivity. Він визначає протоколи для:
- Здійснення безпечного обміну інформацією;
- Ініціалізації, моніторингу
та проведення спільних
- Створення облікових записів користувачів;
- Проведення обліку
- Інформаційні протоколи,
які використовуються для
- Протоколи менеджменту,
які використовуються для
Зокрема, вони забезпечують виконання функцій резервування і контролю відповідності ресурсів запитуваною вимогам. Протоколи рівнів Resource і Connectivity є базовими, утворюють «шийку» в моделі «пісочного годинника» (див. рис 2) і повинні бути обмежені невеликим, добре продуманим безліччю. Ці протоколи повинні бути спроектовані таким чином, щоб дозволити спільне використання різнорідних ресурсів, але при цьому не повинні занадто обмежувати допустимі типи протоколів більш високого рівня та їх продуктивність.
Рівень Collective
На рівні Collective згруповані протоколи і сервіси, які не пов'язані з будь-яким конкретним ресурсом, є більш глобальними за природою і забезпечують колективна взаємодія ресурсів. Прикладами сервісів рівня Collective, служать:
- Сервіс директорії, який
дозволяє учасникам GRID досліджувати
наявні ресурси та їх
- Сервіси розподілу і
планування ресурсів, обробки заявок
користувачів дозволяють
- Сервіси моніторингу
та діагностики, які
- Сервіси реплікації даних,
які дозволяють управляти