Слабозв'язані багатомашинні системи
Завантажити презентаціюПрезентація по слайдам:
Тема 7: Слабозв'язані багатомашинні системи Викладач: д.т.н., проф. Саченко А.О. Високопродуктивні комп’ютерні системи Тернопіль 2006 Тернопільський Національний Економічний Університет Факультет комп'ютерних інформаційних технологій Кафедра Інформаційно обчислювальних систем та управління
Зміст лекції Кластерні системи. Кластерний підхід до забезпечення високої готовності і нарощування продуктивності комп'ютерів. Наочна орієнтація кластерних систем. Відмінність кластерів серверів від обчислювальних кластерів (MOSIX). Переваги кластерного підходу до організації систем з множинним потоком команд і множинним потоком даних. Класифікація кластерів. Архітектура кластерних систем. Характеристика комунікаційної інфраструктури. Особливості організації взаємодії між процесами, моделі обміну повідомленнями. Підвищення продуктивності кластерних систем. VAX кластер, як історичний прототип. Ознаки VAX кластера. Системи високої готовності. Завдання забезпечення тривалого функціонування системи. надійність, готовність і зручність обслуговування. Типи систем, властивістю яких є та або інша форма зниження планового і непланового часу простою. Linux кластери. Проект Beowulf. Приклади Beowulf кластерів: theHive, Avalon. Принципи побудови Beowulf кластерів. Значення мереж зв'язку, варіанти організації мереж зв'язку. Класи Beowulf систем.
1.1. Кластерні системи. Кластерний підхід до забезпечення високої готовності і нарощування продуктивності комп'ютерів. Спочатку кластеризація використовувалася для забезпечення високої готовності обчислювальних систем, і сам термін з'явився в 1983. Відразу обмовимося, в комп'ютерній літературі поняття «кластер» уживається в різних значеннях, зокрема, «кластерна» технологія використовується для підвищення надійності серверів баз даних або web-серверів.
Згідно визначенню, сформульованому Aberdeen Group, кластер це багатомашинний комплекс, який: виглядає з погляду користувача як єдина система; забезпечує високу надійність (готовність); має загальну файлову систему; володіє властивістю зростання продуктивності при додаванні ресурсів (масштабованістю); гнучко перебудовується; управляется/администрируется як єдина система.
1.2 Наочна орієнтація кластерних систем. Відмінність кластерів серверів від обчислювальних кластерів (MOSIX). MOSIX - системне програмне забезпечення і однойменна технологія для підтримки кластерних обчислень розроблена в університеті Hebrew University (Єрусалим, Ізраїль). Дана технологія характеризується використанням рівня ядра для основних модулів, адаптивних алгоритмів розподілу ресурсів для високої продуктивності, низьких накладних витрат по масштабуванню і простого у використанні управління кластером.
Суть MOSIX-технології - здібність безлічі робочих станцій і серверів (вузлів) до спільної роботи як єдина система (рис. 1).
Алгоритми MOSIX орієнтовані на контроль над зміною використання ресурсів вузлами при переважній і прозорій міграції процесів з одного вузла на іншій, використовують механізми балансування навантаження (load-balancing) і що перешкоджають зменшенню вільної пам'яті (memory ushering) на будь-якому з вузлів. MOSIX - технологія, що масштабується, яка є спробою поліпшення загальної продуктивності при динамічному розподілі і перерозподілі робочого навантаження і ресурсів між вузлами обчислювального кластера будь-якого розміру.
1.3 Переваги кластерного підходу до організації систем з множинним потоком команд і множинним потоком даних. Обчислювальний кластер - це сукупність комп'ютерів, об'єднаних в рамках деякої мережі для вирішення одного завдання. Як обчислювальні вузли зазвичай використовуються доступні на ринку однопроцесорні комп'ютери, двух- або чотирипроцесорні SMP-сервери. Кожен вузол працює під управлінням своєї копії операційної системи, як якій гущавині всього використовуються стандартні операційні системи: Linux, NT, Solaris і т.п.
Склад і потужність вузлів може мінятися навіть в рамках одного кластера, даючи можливість створювати неоднорідні системи. Вибір конкретного комунікаційного середовища визначається багатьма чинниками: особливостями класу вирішуваних задач, доступним фінансуванням, необхідністю подальшого розширення кластера і т.п. Можливе включення в конфігурацію спеціалізованих комп'ютерів, наприклад, файл-сервера, і, як правило, надана можливість видаленого доступу на кластер через Internet.
1.4 Класифікація кластерів Способи подолання збоїв для кластера визначаються не тільки особливостями його реалізації, але і тим, яким чином кластер конфігурований. Тобто один і той же кластер може бути по-різному настроєний.
У 2-вузловому кластері, один вузол якого в нормальному режимі не займається обслуговуванням запитів клієнтів, можуть бути використані: 1. Несиметрична схема (Iddle Standby - простоюючий резерв). Власником групи ресурсів є активний вузол з вищим пріоритетом. При збої і відновленні працездатності пріоритетного вузла відбувається передача ресурсів до резервного вузла і назад. 2. Симетрична схема (Rotating Standby - ротація резерву). Власником групи ресурсів виявляється вузол, який першим стає активним.
Для 2-вузлового кластера, всі активні вузли якого займаються обслуговуванням запитів клієнтів існує: 1.Несиметрична схема (Simple Takeover - простій підхоплення). 2. Симетрична схема.
1.5 Архітектура кластерних систем. Характеристика комунікаційної інфраструктури. Особливості організації взаємодії між процесами, моделі обміну повідомленнями. Природним рішенням для забезпечення стійкості автоматизованих систем до збоїв на рівні системи, як такий, є створення кластерів - багатомашинних обчислювальних комплексів (ММВК). Найбільшого поширення набули так звані слабосвязанниє (із загальною зовнішньою пам'яттю). Принциповим в понятті кластера є факт наявності декількох (більш за одне) комп'ютерних систем (серверів), які управляються і використовуються як єдине ціле.
Кластер може бути побудований з декількох серверів, зв'язаних між собою по ЛВС. Не дивлячись на наявність ресурсу, що розділяється, - загального комунікаційного каналу між вузлами системи - така схема називається архітектурою без розділення ресурсів (Shared Nothing Architecture).
Обчислювальний кластер Обчислювальний кластер - це сукупність комп'ютерів, об'єднаних в рамках деякої мережі для вирішення одного завдання Як обчислювальні вузли зазвичай використовуються доступні на ринку однопроцесорні комп'ютери, двух- або чотирипроцесорні SMP-сервери. Кожен вузол працює під управлінням своєї копії операційної системи, як якій гущавині всього використовуються стандартні операційні системи: Linux, NT, Solaris і т.п
Склад і потужність вузлів може мінятися навіть в рамках одного кластера, даючи можливість створювати неоднорідні системи. Вибір конкретного комунікаційного середовища визначається багатьма чинниками: особливостями класу вирішуваних задач, доступним фінансуванням, необхідністю подальшого розширення кластера і т.п. Можливе включення в конфігурацію спеціалізованих комп'ютерів, наприклад, файл-сервера, і, як правило, надана можливість видаленого доступу на кластер через Internet.
1.6 Підвищення продуктивності кластерних систем Основних характеристик дві: латентність - час початкової затримки при посилці повідомлень і пропускна спроможність мережі, що визначає швидкість передачі інформації по каналах зв'язку. При цьому важливі не стільки пікові характеристики, що заявляються виробником, скільки реальні, такі, що досягаються на рівні призначених для користувача додатків, наприклад, на рівні MPI-додатків.
1.2 VAX кластер, як історичний прототип. Ознаки VAX кластера. VAX-кластер володіє наступними властивостями: Розділення ресурсів. Комп'ютери VAX в кластері можуть розділяти доступ до загальних стрічкових і дискових накопичувачів. Всі комп'ютери VAX в кластері можуть звертатися до окремих файлів даних як до локальних. Висока готовність. Якщо відбувається відмова одного з VAX-комп'ютерів, завдання його користувачів автоматично можуть бути перенесені на інший комп'ютер кластера.
Висока пропускна спроможність. Ряд прикладних систем можуть користуватися можливістю паралельного виконання завдань на декількох комп'ютерах кластера. Зручність обслуговування системи. Загальні бази даних можуть обслуговуватися з єдиного місця. Прикладні програми можуть інсталюватися тільки одного разу на загальних дисках кластера і розділятися між всіма комп'ютерами кластера. Розширюваність. Збільшення обчислювальної потужності кластера досягається підключенням до нього додаткових VAX-комп'ютерів.
1.3 Системи високої готовності. 3авдання забезпечення тривалого функціонування системи Однією з основних проблем побудови обчислювальних систем у всі часи залишається завдання забезпечення їх тривалого функціонування. Це завдання має три складових: надійність, готовність і зручність обслуговування.
Висока Готовність (High Availability). Справжні конструкції з високим коефіцієнтом готовності для мінімізації планового і непланового часу простою використовують звичайну комп'ютерну технологію. При цьому конфігурація системи забезпечує її швидке відновлення після виявлення несправності, для чого у ряді місць використовуються надмірні апаратні і програмні засоби.
Еластичність до відмов (Fault Resiliency). Ряд постачальників комп'ютерного устаткування ділить весь діапазон систем високої готовності на дві частини, при цьому у верхній його частині опиняються системи еластичні до відмов. Ключовим моментом у визначенні еластичності до відмов є коротший час відновлення, яке дозволяє системі швидко відкататися назад після виявлення несправності.
Стійкість до відмов (Fault Tolerance) Відмовостійкі системи мають в своєму складі надмірну апаратуру для всіх функціональних блоків, включаючи процесори, джерела живлення, підсистеми введення/виведення і підсистеми дискової пам'яті. Час відновлення після виявлення несправності для перемикання компонентів, що відмовили, на надмірні для таких систем звичайний менше однієї секунди.
Безперервна готовність (Continuous Availability Вершиною лінії відмовостійких систем є системи, що забезпечують безперервну готовність. Продукт з безперервною готовністю, якщо він працює коректно, усуває будь-який час простою як планове, так і непланове.
3.2 Типи систем, властивістю яких є та або інша форма зниження планового і непланового часу простою Всі згадані типи систем високої готовності мають загальну мету - мінімізацію часу простою. Є два типи часу простою комп'ютера: планове і непланове. Мінімізація кожного з них вимагає різної стратегії і технології. Плановий час простою зазвичай включає час, прийнятий керівництвом, для проведення робіт по модернізації системи і для її обслуговування. Неплановий час простою є результатом відмови системи або компоненту.
Можливо найбільшим винуватцем планового часу простою є резервне копіювання даних. Деякі конфігурації дискових підсистем високої готовності, особливо системи з дзеркальними дисками, дозволяють проводити резервне копіювання даних в режимі on-line. Наступним джерелом зниження планового часу простою є організація робіт по оновленню (модернізації) програмного забезпечення. Сьогодні деякі відмовостійкі системи і всі системи з безперервною готовністю дозволяють проводити модернізацію програмного забезпечення в режимі on-line.
У загальному випадку, неплановий час простою перш за все знижується за рахунок використання надійних частин, резервних магістралей або надмірного устаткування. Проте навіть в цьому випадку система може вимагати достатньо великого планового часу простою.
3.4 Linux кластери. Проект Beowulf Проект виник в науково-космічному центрі NASA - Goddard Space Flight Center (GSFC ), точніше в створеному на його основі CESDIS (Center of Excellence in Space Data and Information Sciences).
В GSFC і інших підрозділах NASA були зібрані інші, могутніші кластери. Наприклад, кластер theHIVE (Highly-parallel Integrated Virtual Environment) містить 64 вузли по 2 процесори Pentium Pro/200MHz і 4GB пам'яті в кожному, 5 комутаторів Fast Ethernet
theHIVE кластер складається з чотирьох підкластерів E, B, G, і DL, об'єднуючи 332 процесори і два виділених хост-узла. Всі вузли даного кластера працюють під управлінням RedHat Linux.
Avalon, суперкомп'ютер на базі Linux У 1998 році в Лос-аламосськой національної лабораторії астрофізик Michael Warren і інші учені з групи теоретичної астрофізики побудували суперкомп'ютер Avalon, який вдає із себе Linux-кластер на базі процесорів DEC Alpha/533MHz. Avalon спочатку складався з 68 процесорів, потім був розширений до 140. У кожному вузлі встановлене 256MB оперативної пам'яті, EIDE-жорсткий диск на 3.2GB, мережевий адаптер від Kingston. Вузли сполучені за допомогою 4-х 36-портових комутаторів Fast Ethernet і розташованого "в центрі" 12-портового комутатора Gigabit Ethernet від 3Com
Як побудувати Beowulf? 1. Вузли кластера. Відповідним вибором в даний момент є системи на базі процесорів Intel: Pentium II або Pentium II Xeon - або однопроцесорні ПК, або SMP-сервера з невеликим числом процесорів (2-4, можливо до 6). Одну з машин слід виділити як центральну (головною) куди слід встановити чималий жорсткий диск, можливо могутніший процесор і більше пам'яті, чим на решту (робочі) вузлів. Має сенс забезпечити (захищену) зв'язок цієї машини із зовнішнім світом.
2. Мережа. У простому випадку використовується один сегмент Ethernet (10Mbit/sec на витій парі). Проте дешевизна такої мережі, унаслідок колізій обертається великими накладними витратами на міжпроцесорні обміни; а хорошу продуктивність такого кластера слід чекати тільки на завданнях з дуже простій паралельною структурою і при дуже рідкісних взаємодіях між процесами (наприклад, перебір варіантів).
Схожі презентації
Категорії