ТОП 10:

Кластерна архітектура Windows ХР



Серверні версії Windows ХР (зокрема Windows Server 2003) містять засоби реа­лізації кластерів із резервуванням (серверні кластери) і кластерів із вирівнюван­ням навантаження (служба мережного вирівнювання навантаження, Network Load Balancing). Далі зупинимося на серверних кластерах [102].

Основою архітектури серверних кластерів є кластерна служба (Cluster Ser­vice) - набір компонентів кожного вузла, що підтримують функціонування кла­стера. Компоненти кластерної служби працюють в адресному просторі окремого фонового процесу.

Програмні та апаратні компоненти вузлів, якими керує кластерна служба, нази­вають ресурсами. До ресурсів належать апаратні пристрої (диски, мережні інтер­фейси) і логічні об'єкти (IP-адреси, застосування, бази даних). Ресурси можуть перебувати у підключеному і відключеному стані. Розрізняють локальні ресур­си вузлів і спільні ресурси, доступні для всіх вузлів кластера (спільний масив дис­ків, спільна мережа). Спеціальний ресурс, який називають ресурсом кворуму (quorum resource), використовують для зберігання службової інформації, спіль­ної для всього кластера. Його реалізують на базі одного із дисків спільного масиву.

Ресурси об'єднані у групи ресурсів. Така група звичайно складається із логіч­но пов'язаних ресурсів (наприклад, застосування і його даних). Власником групи у конкретний момент може бути тільки один вузол кластера. Для кожної групи задано, на якому вузлі їй переважно потрібно виконуватися і куди слід її перевес­ти у разі виходу поточного вузла з ладу.

Найважливіші компоненти кластерної служби такі.

♦ Менеджер вузлів (Node manager) функціонує на кожному вузлі і підтримує локальний список поточних вузлів кластера. Для цього він періодично надси­лає тактові повідомлення (heartbeats) аналогічним менеджерам інших вузлів. Коли один із них не відповідає на повідомлення, відповідний вузол вважають таким, що вийшов із ладу; про це негайно повідомляють інші вузли, внаслідок чого вони обновлюють свої списки поточних вузлів (стається подія перегру­пування — regroup event).

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

♦ Менеджер виведення з ладу (Failover manager) відповідає за обробку ситуації, коли один із вузлів виходить із ладу (failover) або повертається до роботи (fallback). Вихід із ладу може статися випадково (після апаратного або про­грамного збою) або навмисно (з ініціативи адміністратора кластера). При цьо­му групи ресурсів перерозподіляються між іншими вузлами з урахуванням поточного навантаження на вузли і переваг, заданих для цих груп. У разі по­верненні вузла до роботи менеджер виведення з ладу переводить групи ресур­сів назад під керування цього вузла. Цей менеджер, крім того, може зупиняти і перезапускати окремі ресурси у разі їхніх збоїв.

 

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







Последнее изменение этой страницы: 2017-02-06; Нарушение авторского права страницы

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.231.220.225 (0.006 с.)