Мета: розуміти, що таке кластер, знати, які бувають типи кластерів і як вони застосовуються, розбиратися в кластерних технологіях і продуктах для їх реалізації

Теоретичні відомості

Кластерна архітектура:

Кластер є два або більше комп'ютерів, часто званих вузлами, об'єднуваних за допомогою мережевих технологій на базі шинної архітектури або комутатора, предстающих перед користувачами як єдиний інформаційно-обчислювальний ресурс. Вузлами кластера, можуть бути вибрані сервери, робочі станції і звичайні персональні комп'ютери.

Перевага кластеризації для підвищення працездатності виявляється, у разі збою якого-небудь вузла: при цьому інший вузол кластера може узяти на себе навантаження несправного вузла, і користувачі не відмітять переривання в доступі. Можливості масштабованості кластерів дозволяють багато разів збільшувати продуктивність додатків для більшого числа користувачів. технологій Fast і Gigabit Ethernet, Myrinet на базі шинної архітектури або комутатора. Такі суперкомп'ютерні системи є найдешевшими, оскільки збираються на базі стандартних комплектуючих елементів «Off the shelf», процесорів, комутаторів, дисків і зовнішніх пристроїв.

Кластеризація може бути здійснена на різних рівнях комп'ютерної системи, включаючи апаратне забезпечення, операційні системи, програми-утиліти, системи управління і додатку. Чим більше рівнів системи об'єднано кластерною технологією, тим вище надійність, масштабованість і керованість кластера.

Типи кластерів.

Умовне ділення на класи запропоноване Язеком Радаєвськім і Дугласом Едлайном:

Клас I. Клас машин будується цілком із стандартних деталей, комп'ютерних компонентів, перевагою, є низька ціна, просте обслуговування, доступність апаратних компонентів з різних джерел.

Клас II. Система має ексклюзивні або не широко поширені деталі. Цим можна досягти дуже хорошої продуктивності, але при вищій вартості.

Кластери можуть існувати в різних конфігураціях. Типами кластерів, що найбільш вживаються, є:

· Системи високої надійності.

· Системи для високопродуктивних обчислень.

· Багатопотокові системи.

Межі між цими типами кластерів до деякої міри розмиті, і часто існуючий кластер може мати такі властивості або функції, які виходять за рамки перерахованих типів. Більш того, при конфігурації великого кластера, використовуваного як система загального призначення, доводиться виділяти блоки, що виконують всі перераховані функції.

Кластери для високопродуктивних обчислень призначені для паралельних розрахунків. Ці кластери зазвичай зібрані з великого числа комп'ютерів. Розробка таких кластерів є складним процесом, що вимагає на кожному кроці акуратних узгоджень таких питань як інсталяція, експлуатація і одночасне управління великим числом комп'ютерів, технічні вимоги паралельного і високопродуктивного доступу до одного і тому ж системного файлу або файлів і міжпроцесорний зв'язок між вузлами і координація роботи в паралельному режимі. Ці проблеми найпростіше вирішуються при забезпеченні єдиного образу операційної системи для всього кластера. Проте реалізувати подібну схему вдається далеко не завжди і зазвичай вона зазвичай застосовується лише для не дуже великих систем.

Оцінка трудомісткості операцій передачі даних для кластерних систем

Для кластерних обчислювальних систем одним з широко вживаних способів побудови комунікаційного середовища є використання концентраторів або комутаторів для об'єднання процесорних вузлів кластера в єдину обчислювальну мережу. У цих випадках топологія мережі кластера є повний граф, в якому, є певні обмеження на одночасність виконання комунікаційних операцій. Так, при використанні концентраторів передача даних в кожен теперішній момент часу може виконуватися тільки між двома процесорними вузлами; перемикачі можуть забезпечувати взаємодію декількох непересічних пар процесорів.

Інше часто вживане рішення при створенні кластерів полягає у використанні методу передачі пакетів, що реалізовується, як правило, на основі протоколу TCP/IP, як основний спосіб виконання комунікаційних операцій.

1. Вибираючи для подальшого аналізу кластери даного поширеного типу топології у вигляді повного графа, пакетний спосіб передачі повідомлень, трудомісткість операції комунікації між двома процесорними вузлами може бути оцінена відповідно до виразу 6.1 (модель А):

6.1

де tn - це час початкової підготовки, який характеризує тривалість підготовки повідомлення для передачі, пошуку маршруту в мережі і т.п.;

tk - час передачі одного слова даних по одному каналу передачі даних, тривалість подібної передачі визначається смугою пропускання комунікаційних каналів в мережі003B

tc - час передачі службових даних, між двома сусідніми процесорами, тобто для процесорів, між якими є фізичний канал передачі даних; до службових даних може відноситися заголовок повідомлення, блок даних для виявлення помилок передачі і т.п.;

tnd - час пересилки даних для методу передачі повідомлення розміром m по маршруту ддовжиною l.

2. Cхема побудови тимчасових оцінок може бути уточнена; в рамках нової розширеної моделі трудомісткість передачі даних між двома процесорами і визначається відповідно до наступних виразів (модель В):

6.2

де n - кількість пакетів, на яку розбивається передаване повідомлення;

величина Vmax визначає максимальний розмір пакету, який може бути доставлений в мережі, припустимо, що обчислювання здійснюється для операційної системи MS Windows в мережі Fast Ethernet, тоді Vmax = 1500 байт;

Vс - об'єм службових даних в кожному з пакетів, що пересилаються, для протоколу TCP/IP, ОС Windows 2000 і мережі Fast Ethernet Vс = 78 байт;

константа tнач0 характеризує апаратну складову латентності і залежить від параметрів використовуваного мережевого устаткування, значення tнач1 задає час підготовки одного байта даних для передачі по мережі.

3. Для практичного застосування перерахованих моделей необхідно виконати оцінку значень параметрів використовуваних співвідношень. В цьому відношенні корисним може опинитися використання і простіших способів обчислення тимчасових витрат на передачу даних - серед відомих схем подібного вигляду підхід, в якому трудомісткість операції комунікації між двома процесорними вузлами кластера оцінюється відповідно до виразу 6.3 (модель З):

6.3

де tн – величина латентності;

R - пропускна спроможність мережі передачі даних.

Хід роботи:

1. Залежно від варіанта, вказаного в таблиці 6.1, заповніть пусті стовбці у таблиці 6.2, обчисливши, погрішність теоретичної оцінки часу виконання операції передачі даних, по формулах 6.1 - 6.3 .

2. Оцінка подібного вигляду виходить із співвідношень для методу передачі пакетів при одиничній довжині шляху передачі даних, тобто при l=1.

3. В рамках даної моделі час підготовки даних tn передбачається постійним, не залежним від об'єму передаваних даних, і вказано в таблиці 6.1

4. Дайте зрівняльну характеристику трьох розглянутих моделей по, крітерію більш високої точності, відобразьте результат у процентах.

Таблиця 6.1

Варіанти для виконання лабораторної роботи

 

№ Варіанта Об'єм повідомлення в байтах Час передачі даних в мкс Латентність, Мкс
172,0269
172,2211
173,1494
203,7902
242,6845
334,4392
481,5397
770,6155
770,6155
203,7902
172,0269
172,2211

Таблиця 6.2

Приклад таблиці для внесення результатів обчислення по формулам 6.1 -6.3

№ варіанта Погрішність теоретичної оцінки часу виконання операції передачі даних
Модель А Модель B Модель C
22,33% 5,05% 23,73%

Контрольні запитання:

1. Для чого потрібні кластери?

2. Які класи кластерних систем визнаєте? Охарактеризуйте їх.

3. Що таке масштабованість кластерів? Опишіть їх можливості.

4. Яке програмне забезпечення використовується, при створення кластера?

5. Наведіть приклад існуючого кластера. Для яких задач використовується, наведений вами приклад кластера?

6. Чим обґрунтована стійкість кластерів до відмов?

7. Яким чином можливо оцінити трудомісткість операцій передачі даних для кластерних систем?

8. Яке комунікаційне обладнання використовується, при створенні кластера?

9. Які переваги кластерної обробки задач, ви можете привести?

10. Чи можливо, для забезпечення необхідної працездатності з’єднати в єдиний кластер, робочі станції з суперкомп’ютерами?