Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОС_Шеховцов_1.docx
Скачиваний:
73
Добавлен:
09.11.2019
Размер:
14.73 Mб
Скачать

20.4.2. Grid-системи

Останнім часом розвиток технологій розподілених систем привів до ситуації, ко­ли стало можливим організовувати системи, що дають змогу використати вільні обчислювальні ресурси, розподілені по всьому світу. Розглянемо особливості та­ких grid-систем [48, 53, 72].

Обчислювальні grid-системи дають можливість спільно використовувати гео­графічно та організаційно розподілені неоднорідні обчислювальні ресурси, відоб­ражаючи їх як єдиний, уніфікований обчислювальний ресурс. До ресурсів, які можна таким чином використовувати, належать окремі комп'ютери, кластери, за­соби зберігання даних, мережні ресурси тощо.

Назва «grid» відображає аналогію між використанням такого уніфікованого ресурсу і доступом до електричної мережі (power grid). Користувачі електромережі отримують доступ до ресурсу (електроенергії) незалежно від конфігурації дже­рел енергії та ліній електропередачі. Аналогічно для користувачів grid-системи не має значення, який із компонентів надав їм обчислювальний ресурс.

Grid-системи містять такі компоненти:

♦ засоби, що транслюють запити користувачів у запити до ресурсів grid-систе­ми (комп'ютерів, мереж, дискового простору, баз даних тощо);

♦ засоби, які виконують пошук ресурсів, їхній підбір і розміщення, планування і координацію обчислювальних задач, а також збирання результатів;

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

♦ засоби розробки застосувань, що використовують особливості grid-архітектури. Основним призначенням grid-систем є підтримка розв'язування задач, що ви­магають великих обчислювальних ресурсів. Цим вони подібні до обчислюваль­них кластерів. Але ці технології мають істотні відмінності [66].

♦ Grid-системи є географічно розподіленими (пов'язаними глобальними мере­жами) і неоднорідними (у них входять компоненти із різною апаратною і про­грамною архітектурою). Крім того, їхні компоненти можуть перебувати в різ­ному адміністративному підпорядкуванні. Вузли кластерів зазвичай пов'язані локальною мережею, перебувають у централізованому підпорядкуванні та ма­ють однакову архітектуру.

♦ Кластерна архітектура звичайно містить у собі централізований менеджер ре­сурсів. Для grid-архітектур внаслідок більшого масштабу системи кожний ву­зол має свій менеджер ресурсів.

♦ Вузли grid-систем завжди є невиділеними. Будь-який обчислювальний ре­сурс, що входить у таку систему, може водночас використовуватися для ін­ших цілей. Для використання в межах grid-системи виділяються тільки ре­сурси, вільні в конкретний момент.

♦ Конфігурація grid-систем постійно змінюється. Хоча кластери розраховані на те, що їхня конфігурація може змінитися, такі зміни для них не є звичайною ситуацією.

♦ Grid-системи можуть розподіляти найрізноманітніші ресурси. Крім обчислю­вальних потужностей, до них належать мережні ресурси, ресурси зберігання даних, інформаційні ресурси (доступ до розподілених баз даних), програмні продукти і апаратні пристрої.

Оскільки grid-системи є неоднорідними, велике значення у їхній розробці ві­діграє стандартизація. Організовано спеціальний комітет зі стандартизації grid-розробок - Grid Forum, результатом роботи якого є загальноприйнятий стандарт Open Grid Service Architecture (OGSA). Існує програмна реалізація цього станда­рту — Globus Toolkit, яку можна використати для практичної розробки grid-систем.

Є думка, що в найближчому майбутньому Інтернет буде перетворено у гло­бальну мережу, організовану відповідно до grid-архітектури.

Висновки

♦ Організація паралельного виконання коду на кількох процесорах - ефектив­ний засіб підвищення продуктивності комп'ютерних систем. Основними архі­тектурами, що підтримують таке виконання, є багатопроцесорні та розподіле­ні системи.

♦ Основним підходом до організації багатопроцесорних ОС є симетрична бага-топроцесорність (SMP), за якої одна копія ядра ОС виконується на всіх про­цесорах системи. Для організації підтримки SMP у ядрі ОС виділяють кри­тичні ділянки, кожна з яких може бути виконана тільки одним процесором у конкретний момент часу.

♦ Планування у багатопроцесорних системах відрізняється тим, що потрібно визначати не лише потік, який має перейти до виконання, але й процесор, на якому цей потік має виконуватися.

♦ Розподілені системи відрізняються від багатопроцесорних тим, що в них про­цесори перебувають у складі окремих комп'ютерів, з'єднаних мережею. Основ­ними технологіями розробки застосувань для таких систем є передавання по­відомлень і віддалені виклики процедур.

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

♦ Сучасні архітектури розподілених систем (кластерні та grid-архітектури) дають змогу об'єднувати обчислювальні потужності багатьох комп'ютерних систем для розв'язування задач, які неможливо розв'язати на окремих комп'ютерах.

Контрольні запитання та завдання

1. Перелічіть переваги і недоліки використання кеша в багатопроцесорних системах.

2. Чому реалізація критичної секції через заборону переривань не може бути ви­користана в багатопроцесорних системах?

3. Назвіть причини, через які планувальники в багатопроцесорних системах не використовують спільну для всіх процесорів чергу готових потоків?

4. У чому полягає потенційна небезпека передачі покажчиків як параметрів у від­далені виклики процедур? Які програмні вирішення можуть бути запропо­новані в цьому випадку?

5. Які проблеми вирішує автоматична генерація заглушок для RPC?

6. Розробіть код віддаленої процедури на основі Sun RPC і Microsoft RPC, що приймає як параметр шлях до файла на віддаленій системі і повертає перші 100 байт цього файла. Розробіть клієнт-серверну систему, подібну до ство­реної у завданні 11 з розділу 11, з використанням цієї процедури. При цьому клієнт повинен формувати і виконувати виклик віддаленої процедури з вико­ристанням отриманого від користувача імені файла та інформації про сервер, одержувати результат і відображати його на стандартний вивід. Сервер пови­нен виконувати віддалену процедуру і повертати результат.

7. Скільки повідомлень має бути відправлено внаслідок виконання протоколу 2РС за наявності одного координатора і N учасників?

8. Запропоновано таку модифікацію протоколу 2 PC. На першому етапі коорди­натор надсилає повідомлення МСомміт всім учасникам, потім очікує відповіді від кожного з них. Якщо хоча б один із них відішле повідомлення MAB0RT, ко­ординатор надсилає всім учасникам MGL0BAL_AB0RT, інакше додаткових пові­домлень надіслано не буде. У чому недолік такого алгоритму?

9. У яких випадках кешування даних на клієнті може підвищити продуктивність розподіленої файлової системи, а в яких - знизити?

10. Поясніть, чому для розподілених файлових систем зменшення розміру блоку спричиняє зменшення навантаження на мережу, якщо використовують кешу­вання даних на клієнті?

11. Які з перерахованих операцій є ідемпотентними:

а) записування блоку даних у файл;

б) запит списку користувачів, що працюють у цей момент на віддаленій системі;

в) поміщення грошей на банківський рахунок?

12. Процес на клієнтському комп'ютері викликав операцію читання з файла, що міститься на NFS-розділі. Опишіть етапи виконання цієї операції.

Розділ 18

Захист інформації в операційних системах

♦ Організація входу користувачів у систему

♦ Керування доступом користувачів до даних у UNIX і Windows XP

♦ Аудит подій у системі

♦ Безпека даних на локальному комп'ютері та у мережі

♦ Засоби захисту від атак на систему

У цьому розділі йтиметься про особливості розв'язання головних завдань забез­печення безпеки комп'ютерних систем.