logo
AOM / Мельник А

1.4.6. Кластерні комп'ютерні системи

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

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

45

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

В останні роки в літературі з обчислювальної техніки все частіше вживається термін "системи високої готовності" (HighAvailabilitySystems).Всі типи систем високої готов­ності орієнтовані на мінімізацію часу простою. Є два типи часу простою комп'ютера: плановий і неплановий. Плановий час простою зазвичай включає час, прийнятий для проведення робіт по модернізації системи і для її обслуговування. Неплановий час про­стою є результатом відмови системи або її компоненти. Хоча системи високої готовнос­ті, можливо, більше асоціюються з мінімізацією непланових простоїв, вони виявляються також корисними для зменшення планового часу простою.

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

різноманітних значень. Точне визначення могло б звучати так: "реалізація об'єднан­ня машин, що представляється єдиним ці­лим для операційної системи, системного програмного забезпечення, прикладних програм і користувачів". Машини, клас-теризовані таким способом, можуть при відмові одного процесора дуже швидко перерозподілити роботу на інші процесо­ри всередині кластера. Це, можливо, най­важливіше завдання багатьох постачаль­ників систем високої готовності.

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

46

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

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