Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Кластерна архітектура Windows ХР
Серверні версії Windows ХР (зокрема Windows Server 2003) містять засоби реалізації кластерів із резервуванням (серверні кластери) і кластерів із вирівнюванням навантаження (служба мережного вирівнювання навантаження, Network Load Balancing). Далі зупинимося на серверних кластерах [102]. Основою архітектури серверних кластерів є кластерна служба (Cluster Service) - набір компонентів кожного вузла, що підтримують функціонування кластера. Компоненти кластерної служби працюють в адресному просторі окремого фонового процесу. Програмні та апаратні компоненти вузлів, якими керує кластерна служба, називають ресурсами. До ресурсів належать апаратні пристрої (диски, мережні інтерфейси) і логічні об'єкти (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; просмотров: 199; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.145.191.214 (0.019 с.) |