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