З предмету: «Методи паралельних обчислень».
Тема: «Кластери».
Зміст.
Вступ.
1.Структури кластерів.
2.Спеціальні вимоги до операційних систем
3. Порівняння кластерів і SMP-систем.
4. Висновок.
Список використаної літератури.
Вступ.
Останнім часом увага розроблювачів мультипроцесорних систем усе більше приваблює ідея кластеризації. Кластеризація є альтернативою побудові симетричних мультипроцесорних систем і припускає більш високу продуктивність і "живучість" обчислювальних комплексів. Тому застосування такої структури є особливо привабливим при створенні серверних додатків. Кластер можна визначити як групу взаємозалежних повноцінних комп'ютерів, що виконують спільно деяку роботу таким чином, що з боку вона сприймається як єдиний обчислювальний ресурс. Термін "повноцінний" у даному випадку означає, що такий комп'ютер може працювати і як автономний, окремо від кластера. У літературі окремі комп'ютери в складі кластера звичайно називаються вузлами (nodes).
4.1 Структури кластерів
У літературі можна зустріти досить багато різноманітних систем класифікації кластерів. Можливо, найпростіша з них – класифікація по спільному використанню тих самих дисків окремими вузлами. На рис. 9,а показаний кластер, що складається з двох вузлів, у якому єдиним засобом обміну інформацією між вузлами є високошвидкісний канал зв'язку. По цьому каналу здійснюється обмін повідомленнями, за допомогою яких координується робота вузлів. Цей канал зв'язку може бути або складовою частиною локальної мережі, до якої підключені й інші комп'ютери, що не входять до складу кластера, або спеціалізованим каналом. В останньому випадку один або кілька вузлів кластера можуть бути підключені до локальної або глобальної обчислювальної мережі, і через неї кластер, що виконує роль сервера, може зв'язуватися з віддаленими клієнтськими системами. Зверніть увагу, що на цій схемі кожен вузол кластера є у свою чергу мультипроцесорною системою. Це не обов'язково, але така структура вузлів забезпечує більш високу продуктивність і надійність комплексу.
Альтернативою структурі кластера з єдиним каналом зв'язку є спільне використання дискової пам'яті. У цьому випадку канал зв'язку між вузлами кластеру, як правило, зберігається, але основний обмін даними між вузлами відбувається через загальну дискову пам'ять (рис. 4.1,б). Найбільше доцільно використовувати як таку пам'ять RAID-системи або інші багатодискові системи з надлишковістю. Це дозволяє забезпечити високу надійність комплексу, оскільки його найуразливішою ланкою є саме загальна дискова пам'ять.
Інтерес викликає і класифікація кластерів, заснована на аналізі їхніх функціональних можливостей [НР96].
Імовірно, найраннішими комплексами з кластерною організацією були системи з пасивним резервуванням (passive standby). Такий комплекс складається з двох вузлів, один із яких виконує всю роботу, а інший знаходиться в пасивному резерві на випадок, якщо відбудеться відмовлення працюючого вузла. Для координування роботи активний вузол час від часу посилає пасивному вузлові повідомлення, що сповіщають про його працездатність. Якщо таке повідомлення перестає надходити, пасивний вузол розцінює це як ознаку відмовлення активного вузла і вступає в роботу. Така конструкція комплексу підвищує його надійність у порівнянні з єдиною машиною, але ніяк не позначається на продуктивності. Більш того, якщо єдина інформація, що передається від активного вузла пасивному – повідомлення про працездатність і в комплексі відсутня можливість звертання вузлів до загальної дискової пам'яті, то пасивний вузол при включенні дублює функції активного, що відмовив, але не має у своєму розпорядженні дані про поточний стан процесу, що були сформовані раніше активним вузлом.
В даний час комплекс із пасивним резервуванням більше не вважається кластером. Цим терміном зараз прийнято позначати комплекси з безліччю працюючих вузлів, що спільно вирішують поставлену задачу. Часто їх називають комплексами з активними вторинними вузлами (active secondary). Вони, у свою чергу, поділяються на три види: роздільні сервери, сервери, підключені до дисків, і сервери з загальною дисковою пам'яттю.
Роздільні сервери мають структуру, аналогічну тій, що зображена на рис. 4.1,а. У цій структурі необхідна спеціальна програма планування і керування вузлами, що розподіляє між ними запити клієнтів, балансує завантаження окремих вузлів і забезпечує високий ступінь використання обчислювальних ресурсів комплексу. Досить бажано, щоб спеціальна програма забезпечувала живучість комплексу при виході з ладу одного з вузлів, тобто перерозподіляла покладені на нього функції між вузлами, що залишилися. Для цього доводиться постійно копіювати дані з одного вузла на інші, щоб у разі потреби вони могли "підхопити" його роботу. Таким чином, у цій структурі за підвищення надійності доводиться платити зниженням продуктивності.
Щоб позбутися від необхідності постійного копіювання оперативних даних з одного вузла на інші, більшість сучасних кластерів дозволяють окремим серверам (вузлам) підключатися до дисків загального користування. Існує варіант такого підходу, у якому диски загального користування розділені на томи, причому кожен том підпорядкований визначеному вузлу. При відмовленні одного з вузлів кластер переконфігуровується таким чином, що право "володіння" його томом передається якому-небудь іншому вузлові.
В іншому варіанті усі вузли мають рівні права доступу до всіх дисків загального користування. Цей підхід вимагає використання спеціального механізму взаємних блокувань, що виключив би можливість одночасної модифікації даних різними вузлами.
Особливості різних описаних варіантів структур підсумовані в таблиці 4.1
Таблиця 4.1 Варіанти структур кластерних систем
Структура | Опис | Переваги | Обмеження
Пасивне резервування | Вторинний сервер залучається до роботи в випадку відмови первинного сервера | Легко реалізується | Висока вартість експлуатації, оскільки вторинний сервер більшу частину часу простоює
Активні вторинні вузли | Вторинні сервери весь час активні разом з первинними | Зниження %%%, оскільки вторинні сервери не простоюють | Збільшена складність
Роздільні сервери | Кожен сервер має власні диски. Оперативні дані час від часу копіюються з