Кластери, кластеризація.
Структури кластерів
На рис. 1 показаний кластер, який складається з двох вузлів, в якому єдиним засобом обміну інформацією між вузлами є високошвидкісний канал зв’язку. По цьому каналу відбувається обмін повідомленнями, за допомогою яких координується робота вузлів. Цей канал зв’язку може бути або складовою частиною локальної мережі, до якої підключені і інші комп’ютери, які не входять до складу кластера, або… Читати ще >
Кластери, кластеризація. Структури кластерів (реферат, курсова, диплом, контрольна)
Кластери
В останній час увагу розробників мультипроцесорних систем все більш приваблює ідея кластеризації. Кластеризація — альтернатива побудови симетричних мультипроцесорних систем і передбачає більш високу продуктивність і «живучість» обчислювальних комплексів. Тому застосування такої структури є особливо привабливою при створенні серверних комплексів.
Кластер можна визначити як групу взаємозв'язаних повноцінних комп’ютерів, виконуючих спільно деяку роботу таким чином, що з зовні вона сприймається як єдиний обчислювальний ресурс.
Термін повноцінний в даному випадку означає, що такий комп’ютер може працювати і як автономний, окремо від кластера. В літературі окремі комп’ютери у складі кластера зазвичай називають вузлами (nodes).
Переваги кластеризації обчислювального комплексу:
§ Абсолютна масштабованість. Можливе створення кластерів, які по своїм характеристикам залишать далеко позаду навіть самі потужні автономні обчислювальні машини. Кластер може включати у свій склад десятки машин, кожна з яких, в свою чергу, може мати мультипроцесорну структуру.
§ Накопичення в процесі експлуатації. Кластер організовується таким чином, що в процесі його експлуатації можна добавляти до нього вузли, не модифікуючи вже існуючі.
§ Висока надійність. Оскільки кожний вузол у кластері є комп’ютером, здатним працювати самостійно, відмова одного з вузлів не приводить до втрати працездатності всього комплексу. У більшості систем такого типу працездатність комплексу при відмові одного із вузлів підтримується відповідними програмами автоматично.
§ Зниження співвідношення ціна/продуктивність. Використовуючи при побудові кластера в ролі складових блоків продукцію масового виробництва, можливо створити комплекс, з продуктивністю, такою ж, або навіть більшою, як і найбільша окрема обчислювальна машина. Він буде коштувати, при цьому, набагато дешевше.
Структури кластерів
В літературі можна зустріти досить багато різних систем класифікації кластерів. Тривіальна класифікація — по спільному використанню одних і тих же дисків окремими вузлами.
Рис. 1. Структура кластера. Сервер з резервуванням без спільної дискової пам'яті.
Рис. 2. Структура кластера. Система з спільною дисковою пам'ятю.
На рис. 1 показаний кластер, який складається з двох вузлів, в якому єдиним засобом обміну інформацією між вузлами є високошвидкісний канал зв’язку. По цьому каналу відбувається обмін повідомленнями, за допомогою яких координується робота вузлів. Цей канал зв’язку може бути або складовою частиною локальної мережі, до якої підключені і інші комп’ютери, які не входять до складу кластера, або спеціалізованим каналом. В останньому випадку один або кілька вузлів кластера можуть бути підключені до локальної або глобальної обчислювальної мережі, і через неї кластер, який виконує роль сервера, може зв’язуватись з віддаленими клієнтами системи. Це не обов’язково, але така структура вузла забезпечує більш високу продуктивність і надійність комплексу.
Альтернативою структури кластера з єдиним каналом зв’язку є спільне використання дискової пам’яті. В цьому випадку канал зв’язку між вузлами кластера, як правило, зберігається, але основний обмін даними між вузлами відбувається через спільну дискову пам’ять. Найбільш доцільно використовувати в ролі такої RAID-системи або інші багатодискові системи з надлишковістю. Це дозволяє забезпечувати високу надійність комплексу, оскільки найбільш слабим її місцем є саме спільна дискова пам’ять.
Піонерами кластерних систем були системи з пасивним резервуванням (passive standby). Такий комплекс складається із двох вузлів, один з яких виконує всю роботу, а другий знаходиться в пасивному резерві на випадок, якщо відмовить працюючий вузол. Для координації роботи активний вузол час від часу посилає пасивному вузлу повідомлення, які засвідчують його працездатність (heartbeat message). Якщо такі повідомлення перестають надходити, пасивний вузол розцінює це як відмова активного вузла і вступає в роботу. Тека конструкція комплексу підвищує його надійність в порівнянні з єдиною машиною, але ніяк не відображається на продуктивності комплексу. Більше того, якщо єдина інформація, яка передається від активного вузла пасивному, — повідомлення про працездатність і в комплексі відсутня можливість звернення вузлів до спільної дискової пам’яті, то пасивний вузол при включенні дублює функції активного вузла, що відмовив, але не володіє даними при поточний стан процесу, який був сформований раніше активним вузлом.
В даний час комплекс з пасивним резервуванням не вважається кластером. Цим терміном зараз прийнято позначати комплекси з множиною працюючих вузлів, які сумісно рішають поставлену задачу. Часто їх називають комплексами з активним вторинним вузлом (active secondary).
Комплекси з активним вторинним вузлом діляться на три види:
1. роздільні сервери;
2. сервери підключені до дисків;
3. сервери із спільною дисковою пам’ятю.
Роздільні сервери мають структуру, аналогічну наведеній на рис. 1. В цій структурі необхідна спеціальна програма планування і управління вузлами, яка розподіляє між ними запити клієнтів, балансує завантаження окремих вузлів і забезпечує високу ступінь використання обчислювальних ресурсів комплексу. Бажано, щоб спеціальна програма забезпечувала живучість комплексу при виході з ладу одного з вузлів, тобто перерозподіляла покладені на нього функції між вузлами що залишились працездатними. Для цього приходиться постійно копіювати дані з одного вузла на інші. Щоб у випадку необхідності вони могли «підхопити» його роботу. Таким чином в цій структурі за підвищення надійності приходиться платити зниження продуктивності.
Сервери підключені до дисків. Щоб позбавитись від необхідності постійного копіювання оперативних даних з одного вузла на інший, більшість сучасних кластерів дозволяють окремим серверам (вузлам) підключатись до дисків спільного користування. Існує варіант такого підходу, в якому диски спільного користування розділені на томи, причому кожний том знаходиться у підпорядкуванні певного вузла. При відмові одного з вузлів кластер переконфігуровується таким чином, що право «володіння» його томом передається якому несуть іншому вузлу.
Cервери з спільною дисковою пам'ятю. В цьому варіанті всі вузли мають рівні права доступу до всіх дисків спільного користування. Цей підхід потребує використання спеціального механізму взаємних блокувань, який виключав би можливість одночасного модифікування даних різними вузлами.
кластер кластеризація мультипроцесорна система
Варіанти структур кластер них систем
Структура | Опис | Переваги | Обмеження | |
Пасивне Резервування | Вторинний сервер включається в роботу у випадку відмови первинного сервера | Легко реалізується | Висока вартість експлуатації, оскільки вторинний сервер більше часу простоює | |
Активні Вторинні вузли | Вторинні сервери весь час активні так само як і первинний | Збільшення рентабельності, оскільки вторинні сервери не простоюють | Зростає складність | |
Роздільні Сервери | Кожний сервер має власні диски. Оперативні дані час від часу копіюються з одного диску на інший | Висока надійність | Велике навантаження на канали зв’язку із-за необхідності копіювання | |
Сервери підключені До множини дисків | Сервери зв’язані з всіма дисками, хоча кожен працює з своїм. Якщо виходить з ладу один із серверів, його диски передаються іншому серверу | Зменшення потоку інформації по каналах зв’язку | Вимагає використання технології RAID для забезпечення працездатності комплексу при виході із ладу одного із дисків | |
Сервери із спільною дисковою пам’яттю | Всі сервери мають постійний доступ до всіх дисків | Зменшення часу відтворення системи при відмові одного із дисків | Потребує спеціальні програми взаємного блокування і використання технології RAID для забезпечення працездатності комплексу при виході з ладу одного із дисків | |
Спеціальні вимоги до операційних систем
Для того щоб в повній мірі реалізувати потенційні можливості кластерних комплексів, вони повинні бути оснащені операційними системами, з функціями, які відсутні в операційних системах автономних комп’ютерів.
Забезпечення відмовостійкості. Методика забезпечення відмовостійкості визначається структурою обчислювального комплексу. Що до можливості відновлення працездатності комплексу при виході з ладу одного з вузлів або одного з дисків спільного користування розрізняють системи з високим завантаженням і системи з надмірністю.
В першому випадку висока імовірність того, що в момент відмови всі ресурси комплексу будуть уже задіяні. Тому запит, який обробляється вузлом, що вийшов з ладу, буде втрачений. При повторенні запиту він буде обслужений іншим вузлом кластера. Однак операційна система не дає ніякої гарантії відносно того, що відбудеться з частково виконаною трансакцією. Обробка такої ситуації цілком покладається на прикладні програми.
В другому випадку забезпечується доступність в любий момент часу до всіх ресурсів. Це досягається за рахунок використання дискових систем з надлишковістю і механізму резервного копіювання незафіксованих трансакцій і фіксування завершених трансакцій.
Балансування завантаження. Продуктивність кластера сильно залежить від здатності операційної системи оптимально розподіляти навантаження між вузлами. На неї ж покладається і функція контролю включення в комплекс нових вузлів і відповідної перебудови функції планування. Ці задачі покладаються на механізм середньострокового планування. Він повинен визначити, які функції обслуговування звільняються чи появляються у різних вузлах кластера, і, відповідно, передати їм на виконання певні задачі.
Порівняння кластерів і SMP — систем
Як кластери так і SMP-системи володіють можливістю розпаралелення навантаження і розподілу його між багатьма процесорами і, таким чином, можуть забезпечити ефективне виконання особливо складних задач. Системи і одного і другого типу присутні на комп’ютерному ринку.
Основні переваги SMP-систем в тому, що їх легше обслуговувати і експлуатувати, ніж кластери. Вони набагато ближчі до звичайних одно процесорних систем, для яких розроблена переважна більшість прикладних програм. Принциповий крок при переході від одно процесорних систем до SMP-систем — це впровадження функції планування.
Друга перевага SMP-систем над кластерами — менші фізичні розміри і споживана потужність. Дані системи досить часто використовуються в практиці і досить добре налагоджено їхнє виробництво.
Але в групі високопродуктивних серверних систем кластери мають певні переваги над SMP-системами. Це зв’язано в першу чергу з можливістю нарощувати структури кластера вже в період його експлуатації, а також більш високою надійністю.