Кривобок
.pdf1.3 Спеціальні вимоги до операційних систем
Для того щоб в повній мірі реалізувати потенційні можливості кластерних комплексів, вони повинні бути оснащені операційними системами, з функціями, які відсутні в операційних системах автономних комп’ютерів.
Забезпечення відмовостійкості. Методика забезпечення відмовостійкості визначається структурою обчислювального комплексу. Що до можливості відновлення працездатності комплексу при виході з ладу одного з вузлів або одного з дисків спільного користування розрізняють системи з високим завантаженням і системи з надмірністю.
Впершому випадку висока імовірність того, що в момент відмови всі ресурси комплексу будуть уже задіяні. Тому запит, який обробляється вузлом, що вийшов з ладу, буде втрачений. При повторенні запиту він буде обслужений іншим вузлом кластера. Однак операційна система не дає ніякої гарантії відносно того, що відбудеться з частково виконаною трансакцією. Обробка такої ситуації цілком покладається на прикладні програми.
Вдругому випадку забезпечується доступність в любий момент часу до всіх ресурсів. Це досягається за рахунок використання дискових систем з надлишковістю і механізму резервного копіювання незафіксованих трансакцій і фіксування завершених трансакцій.
Балансування завантаження. Продуктивність кластера сильно залежить від здатності операційної системи оптимально розподіляти навантаження між вузлами. На неї ж покладається і функція контролю включення в комплекс нових вузлів і відповідної перебудови функції планування. Ці задачі покладаються на механізм середньострокового планування. Він повинен визначити, які функції обслуговування звільняються чи появляються у різних вузлах кластера, і, відповідно, передати їм на виконання певні задачі.
1.4 Порівняння кластерів і SMP – систем
Як кластери так і SMP-системи володіють можливістю розпаралелення навантаження і розподілу його між багатьма процесорами і, таким чином, можуть забезпечити ефективне виконання особливо складних задач. Системи і одного і другого типу присутні на комп’ютерному ринку.
Основні переваги SMP-систем в тому, що їх легше обслуговувати і експлуатувати, ніж кластери. Вони набагато ближчі до звичайних одно
11
процесорних систем, для яких розроблена переважна більшість прикладних програм. Принциповий крок при переході від одно процесорних систем до SMP-систем - це впровадження функції планування.
Друга перевага SMP-систем над кластерами - менші фізичні розміри і споживана потужність. Дані системи досить часто використовуються в практиці і досить добре налагоджено їхнє виробництво.
Але в групі високопродуктивних серверних систем кластери мають певні переваги над SMP-системами. Це зв’язано в першу чергу з можливістю нарощувати структури кластера вже в період його експлуатації, а також більш високою надійністю.
. За лаштунками лінукс-кластеру Хемніцького технологічного університету.
РОЗДІЛ 2
12
2.1 Основні класи сучасних паралельних комп'ютерів.
Кластерні системи є розвитком паралельних систем. Щоб показати місце кластерних систем серед інших типів паралельних архітектуро обчислювальних систем потрібно привести їх класифікацію. Паралельні системи можуть бути класифіцировані за різними критеріями.
З апаратної точки зору, основним параметром класифікації паралельних комп'ютерів є наявність загальної (SMP) або розподіленої пам'яті (MPP).
Щось середнє між SMP і MPP представляють собою NUMA-архітектури, де пам'ять фізично розподілений, але логічно загальнодоступна.
Кожна операція доступу до пам'яті інтерпретується як транзакція по шиніпроцесори-пам'ять. Когерентність кешей підтримується апаратними засобами.
У SMP кожен процесор має принаймні одну власну кеш-пам'ять (а можливо, і
декілька).
Можна сказати, що SMP система - це один комп'ютер з декількома рівноправними процесорами. Все інше - в одному екземплярі: одна пам'ять,
одна підсистема введення/виводу, одна операційна система. Слово
"рівноправний" означає, що кожен процесор може робити все, що будь-який інший. Кожен процесор має доступ до всієї пам'яті, може виконувати будь-
яку операцію введення/виводу, переривати інші процесори і т.д.
Недоліком даної архітектури є необхідність організації каналу процесори-
пам'ять з дуже високою пропускною здатністю.
2.2 Кластерна архітектура
Розглянемо місце кластерної архітектури обчислювальних систем в цiй
класифікації.
Кластер - це пов'язаний набір повноцінних комп'ютерів, який використовується в як єдиного ресурсу. Під поняттям "повноцінний комп'ютер" розумієтьсязавершена комп'ютерна система, що володіє всім, що потрібно для їїфункціонування, включаючи процесори, пам'ять, підсистему введення/виводу, атакож операційну систему, підсистеми, додатки і т.д.
13
Зазвичай для цьогогодяться персональні комп'ютери чи паралельні системи,
які можутьволодіти архітектурою SMP і навіть NUMA. Кластери є слабосвязаннимісистемами, зв'язку вузлів використовується одна із стандартних мережевих технологій (Fast/Gigabit Ethernet, Myrinet) на базі шинної архітектури чикомутатора. Тому вони є більш дешевою в побудові модифікацією MPP архітектури.
Рис.3 Кластер
Кластер одного вузла
Кластер з одного вузла (Рис.3.1) - це така кластерна конфігурація, в якій активний тільки один сервер, а ще один або кілька серверів "неактивні".
Неактивний сервер - це такий сервер, на якому немає активних (таких, що виконуються) додатків, але операційна система запущена. Неактивний сервер
"чекає", коли активний сервер потрапить у неактивний стан, що зазвичай викликано виходом обладнання або програмного забезпечення з ладу. В
такому випадку неактивний сервер стає активним і починає сам обслуговувати додаток, що обслуговувався попереднім активним сервером.
При цьому всі необхідні додаткам ресурси передаються для монопольного управління новому активному серверу, у той час як всі підключення, які існували на старому активному сервері, повторно переустановлюються з новим активним сервером.
14
Рис.3.1. Кластер одного вузла.
Кластер декількох вузлів
Такий кластер може включати від двох до восьми активних серверів (Рис.4),
які працюють в одній кластерної групі. Всі ці активні сервери обслуговують свої додатки і кожен зайнятий своєю роботою. Кожен активний сервер може бути налаштований хостом додатків для одного або декількох інших активних серверів, в разі їх відмови, кожен активний сервер можна налаштувати так, щоб він використав один активний або неактивний сервер в якості хоста додатків, якщо відбудеться відмова (Рис.5).
Рис.4. Кластер декількох вузлів.
Кластери з декількох вузлів дозволяють адміністраторам використовувати всі або тільки частину ресурсів кожного сервера у групі кластера. Працюючи з таким кластером потрібно бути гранично обережним, оскільки робота
15
серверів будується так, що сервер може не тільки бути запасним хостом для іншого сервера, але він також повинен обслуговувати і свої власні програми.
Рис.5. Відмова кластера з декількох вузлів.
2.3Кластерна архітектура паралельних комп'ютерів
2.3.1Загальні принципи
Як вже було сказано раніше обчислювальний кластер - це сукупність комп'ютерів, об'єднаних у рамках деякої мережі для вирішення однієї задачі
(рис.3), яка для користувача представляється як єдиногоресурсу. Таку концепцію кластеру вперше запропонувала і реалізувала на початку
80-х корпорація Digital Equipment, яка і донині розвиває цютехнологію Поняття "єдиний ресурс" означає наявність програмного забезпечення, що даєможливість користувачам, адміністраторам і прикладним програмам вважати,що є тільки одна сутність, з якою вони працюють - кластер.
Наприклад, система пакетної обробки кластеру дозволяє послати завдання наобробку кластеру, а не якомусь окремому комп'ютеру. Більш складнимприкладом є системи баз даних. Практично у всіх виробниківсистем баз даних є версії, що працюють в паралельному режимі надекількох машинах кластеру. В результаті програми, що використовують базуданих, не повинні дбати про те, де виконується їх робота. СУБД відповідає за синхронізацію паралельно виконуваних дій і підтримкацілісності бази даних.
Комп'ютери, що утворюють кластер, - так звані вузли кластеру -
завждивідносно незалежні, що допускає зупинку, вимикання будь-якого зних
16
для проведення профілактичних робіт або встановлення додаткового обладнання без порушення працездатності всього кластеру.
Як обчислювальних вузлів в кластері зазвичай використовуються однопроцесорні персональні комп'ютери, дво-або чотирипроцесорні SMP -
сервери. Кожен вузол працює під управлінням своєї копії операційноїсистеми, у якості якої найчастіше використовуються стандартніопераційні системи: Linux, NT, Solaris і т.п. Склад і потужність вузлів може змінюватися навіть в рамках одного кластера, даючи можливість створювати неоднорідні системи. Вибір конкретної комунікаційного середовища визначаєтьсябагатьма чинниками: особливостями класу вирішуваних завдань, необхідністюподальшого розширення кластеру і т.п.
Можливе включення в конфігурацію спеціалізованих комп'ютерів,
наприклад, файл-сервера, і, як правило,надана можливість віддаленого доступу на кластер через Internet. З визначення архітектури кластерних систем випливає, що вона включає всебе дуже широкий спектр систем.
Розглядаючи крайні точки, кластеромможна вважати як пару ПК, пов'язаних локальної 10-мегабітної мережею Ethernet, так і обчислювальну систему, яка створюється в рамках проекту Cplantв Національній лабораторії Sandia: 1400
робочих станцій на базі процесорів Alpha, пов'язаних високошвидкісний мережеюMyrinet.
Таким чином видно, що різних варіантів побудови кластерів дужебагато. При цьому в архітектурі кластеру велике значення мають використовуванікомунікаційні технології і стандарти. Вони багато в чому визначають колозадач, для рішення яких можна використовувати кластери,
побудовані наоснові цих технологій.
2.4 Комунікаційні технології побудови кластерів
Кластери можуть стоїться як на основі спеціалізованих високошвидкіснихшин передачі даних, так і на основі масових мережевих технологій. Серед масових комунікаційних стандартів зараз найчастіше використовується мережа Ethernet або більше її продуктивний варіант - Fast
17
Ethernet, як правило, на базі комутаторів. Однак великі накладні витрати на передачу повідомлень в рамках Fast Ethernet призводять до серйозних обмежень наспектр задач, які можна ефективно вирішувати на такому кластері. Якщо відкластеру потрібна велика продуктивність і універсальність, то необхідно застосовувати більш швидкісні і спеціалізовані технології. До них відносяться SCI, Myrinet, cLAN, ServerNet та ін.
Продуктивність комунікаційних мереж в кластерних системах визначається декількома числовими характеристиками. Основних характеристик дві:
латентність - час початкової затримки при отриманих повідомлень і пропускна здатність мережі, що визначає швидкість передачі інформації по каналах зв'язку. При цьому важливі не стільки пікові характеристики,
заявленів стандарті, скільки реальні, що досягаються на рівні користувачадодатків, наприклад, на рівні MPI-додатків. Зокрема, після викликукористувачем функції посилки повідомлення Send () повідомлення послідовнопройде через цілий набір шарів, що визначаються особливостями організаціїпрограмного забезпечення та апаратури, перш, ніж залишити процесор --тому існує істотний разбром за стандартами значень латентності.
Наявність латентності призводить до того, що максимальна швидкість передачі помережі не може бути досягнута на повідомленнях з невеликою довжиною.
Швидкість передачі даних по мережі в рамках технологій Fast Ethernet
і Scalable Coherent Interface (SCI) залежить від довжини повідомлення. Для
Fast Ethernet характерна велика величина латентності - 160-180 мкс, у той часяк латентність для SCI це величина близько 5,6 мкс. Максимальна швидкістьпередачі для цих же технологій 10 Мбайт/c і 80 Мбайт/с
відповідно.
2.5 Цілі створення кластерних систем
Розробники архітектур кластерних систем пріследовалі різні цілі при їх створення. Першою була фірма Digital Equipment з кластерами VAX/VMS.
Метою створення цієї машини було підвищення надійності роботи
18
системи,забезпечення високої готовності і відмовостійкості системи. В даний час існує безліч аналогічних з архітектури систем від іншихвиробників.
Іншою метою створення кластерних систем є створення дешевихвисокопродуктивних паралельних обчислювальних систем. Один з першихпроектів, що дав ім'я цілого класу паралельних систем - кластер
Beowulf - виник у центрі NASA Goddard Space Flight Center для підтримкинеобхідними обчислювальними ресурсами проекту Earth and Space
Sciences. Проект Beowulf почався влітку 1994 року, і незабаром був зібраний
16-процесорнийкластер на процесорах Intel 486DX4/100 МГц. На кожному вузлі буловстановлено по 16 Мбайт оперативної пам'яті і по 3 мережних
Ethernet -адаптера. Ця система виявилася дуже вдалою по відношеннюціна/продуктивність, тому таку архітектуру почали розвивати ішироко використовувати в інших наукових організаціях та інститутах.
Для кожного класу кластерів характерні свої особливості архітекури і застосовуються апаратні засоби. Розглянемо їх більш докладно.
2.6Відмовостійкий кластер
2.6.1Принципи побудови
Для забезпечення надійності та відмовостійкості обчислювальних систем застосовується безліч різних апаратурних і програмних рішень. Наприклад, в
системі може дублюватися всі схильні до відмов елементи --джерела живлення, процесори, оперативна і зовнішня пам'ять. Таківідмовостійкі системи з резервуванням компонентів застосовуються длявирішення завдань,
в яких недостатньо надійності звичайних обчислювальнихсистем, що оцінюється в даний момент ймовірністю безвідмовної роботи 99%.
У таких завданнях потрібно ймовірність 99,999% і вище. Таку надійність можна досягти застосовуючи відмінні від наведеного вище методи підвищення відмовостійкості. Залежно від рівня готовності обчислювальної системи до використання виділяють чотири типи надійності:
19
Рівень готовності % |
Мaкс. час Простою |
Тип системи |
|
99,0 |
3,5 дні на рік |
Звичайна (Conventional) |
|
99,9 |
8,5 годин на рік |
Висока надійність (High |
|
|
|
|
Availability) |
99,99 |
1 |
годину в рік |
ВІДМОВОСТІЙКА (Fault |
|
|
|
Resilient) |
99,999 |
5 |
хвилин на рік |
Безвідмовна (Fault Tolerant) |
|
|
Таблиця 2. |
|
На відміну від стійких до відмов систем з надлишковими компонентами, а такожрізних варіантів багатопроцесорності, кластери об'єднують щодонезалежні одна від одної машини, кожну з яких можна зупинити для профілактики або реконфігурірованія, не порушуючи при цьому працездатності кластеру в цілому. Висока продуктивність кластера і зведення до мінімумучасу простоїв програм досягається завдяки тому, що:у
разі збою ПЗ на одному з вузлів додаток продовжує функціонувати або автоматично перезапускається на інших вузлах кластеру;вихід з ладу одного з вузлів (або декількох) не призведе до краху всієї кластерної системи;
профілактичні та ремонтні роботи, реконфігурацію або зміну версій програмного забезпечення, як правило, можна здійснювати у вузлах кластерупо черзі, не припиняючи роботи інших вузлів.
Невід'ємною частиною кластеру є спеціальне програмне забезпечення,яке, власне, і вирішує проблему відновлення вузла в разі збою,
атакож вирішує інші завдання. Кластерний ПО звичайно має кілька заздалегідьзаданних сценаріїв відновлення працездатності системи, а також може надавати адміністратору можливості настроювання таких сценаріїв.
Відновлення після збоїв може підтримуватися як для вузла в цілому, так ідля окремих його компонентів - додатків, дискових томів і т.д. Ця функція автоматично ініціюється в разі системного збою, а також можебути запущена адміністратором, якщо йому, наприклад, необхідно відключити один з вузлів для реконфігурації.
Кластери можуть мати поділювану пам'ять на зовнішніх дисках, як
правило, надисковому масиві RAID. Дисковий масив RAID - це серверна
20
