Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект лекцій_КС_2012_10_28.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
2.73 Mб
Скачать

Мультикомп’ютерна кс

7.2 Рівні комплексування у кс

Для побудови обчислювальних систем необхідно, щоб елементи або модулі, комплексуємі в систему, були сумісні.

Поняття сумісності має три аспекти: апаратний або технічний, програмний і інформаційний.

Технічна (Hardware) сумісність припускає, що ще в процесі розробки апаратури забезпечуються наступні умови:

- апаратура, що підключається одна до одної, повинна мати єдині стандартні, уніфіковані засоби з'єднання: кабелі, число проводів в них, єдине призначення проводів, роз'єми, адаптери, плати і т.д.;

- параметри електричних сигналів, якими обмінюються технічні пристрої, теж повинні відповідати один одному: амплітуди імпульсів, полярність, тривалість і т.д.;

- алгоритми взаємодії (послідовності сигналів по окремих проводах) не повинні вступати в суперечність один з одним.

Останній пункт тісно пов'язаний з програмною сумісністю. Програмна сумісність (Software) вимагає, щоб програми, що передаються з одного технічного засобу в інший (між ЕОМ, процесорами, між процесорами і зовнішніми пристроями), правильно розумілись і виконувались іншим пристроєм.

Якщо пристрої, що обмінюються, ідентичні друг, другу, то проблем зазвичай не виникає. Якщо взаємодіючі пристрої відносяться до одного і того ж сімейства ЕОМ, але з’єднуються різні моделі (наприклад, ПК на базі i286 і Pentium), то в таких моделях сумісність забезпечується “від низу до верху”, тобто раніше створені програми можуть виконуватися на пізніших моделях, але не навпаки. Якщо з’єднувана апаратура має абсолютно різну систему команд, то слід обмінюватися початковими модулями програм з подальшою їх трансляцією.

Інформаційна сумісність комплексуємих засобів припускає, що передані інформаційні масиви однаково інтерпретуватимуться з’єднуваними модулями КС. Повинні бути стандартизовані алфавіти, розрядність, формати, структура і розмітка файлів, томів і т.д.

На рис.7.4 передбачені наступні рівні мультиплексування:

- прямого управління (процесор - процесор);

- загальної оперативнї пам'яті;

- комплексуємі канали введення/виведення;

- пристроїв управління зовнішніми пристроями (УВУ);

- загальних зовнішніх пристроїв.

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

Рисунок 7.4 – Рівні і засоби комплексування

7.3 Кластери

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

Рисунок 7.5 – Кластер

Як правило, в кластерних системах не забезпечується єдина ОС для роботи загального набору додатків на всіх вузлах кластера. Тобто кожен комп'ютер - це автономна система з окремим екземпляром ОС і своїми, що належать тільки їй системними ресурсами. Додаток, запущений на ньому, може бачити тільки загальні диски або окремі ділянки пам'яті. На вузлах кластера працюють спеціально написані додатки, які паралельно обробляють загальні набори даних. Таким чином, кластерне ПЗ – це лише засіб для взаємодії вузлів і синхронізації доступу до загальних даних. Кластер як паралельна система формується на прикладному рівні, а не на рівні ОС (рис.7.6).

Рисунок 7.6 – Структура кластера

В даний час такі системи мають дві основні області застосування: паралельні сервери баз даних і високонадійні обчислювальні комплекси. Ринок паралельних СУБД і є основний ринок кластерів додатків. Високонадійні комплекси є групою вузлів, на яких незалежно один від одного виконуються деякі важливі додатки, що вимагають постійної, безперервної роботи. Тобто в такій системі на апаратному рівні фактично підтримується основний механізм підвищення надійності - резервування. Вузли знаходяться в так званому "гарячому" резерві, і кожний з них у будь-який момент готовий продовжити обчислення при виході з ладу якого-небудь вузла. При цьому всі додатки з вузла, що відмовив, автоматично переносяться на інші машини комплексу. Така система також формально є кластером, хоча в ній відсутня паралельна обробка загальних даних. Ці дані зазвичай монопольно використовуються виконуваними в рамках кластера додатками і повинні бути доступні для всіх вузлів.

Кластерні системи володіють наступними перевагами:

- абсолютна масштабованість;

- нарощування в процесі експлуатації;

- висока надійність;

- зниження співвідношення ціна/продуктивність.

Широко поширеним засобом для організації міжсерверної взаємодії є бібліотека MPI що підтримує мови C і Fortran. Вона використовується наприклад, в програмі моделювання погоди MM5.

Solaris надає програмне забезпечення Solaris Cluster, яке служить для забезпечення високої доступності і безвідмовності серверів. Для OpenSolaris існує реалізація під назвою OpenSolaris HA Cluster.

У GNU/Linux популярні декілька програм:

- G distcc, MPICH і ін. - спеціалізовані засоби для розпаралелювання роботи програм;

- G Linux Virtual Server, LINUX-HA - вузлове ПО для розподілів запитів між обчислювальними серверами;

- H MOSIX, openMosix, Kerrighed, OPENSSI - повнофункціональні кластерні середовища, вбудовані в ядро автоматично розподіляють завдання між однорідними вузлами. OPENSSI, openMosix і Kerrighed створюють середовище єдиної операційної системи між вузлами.

Компанією Microsoft випускається HA-кластер для операційної системи Windows. Windows Compute Cluster Server 2003 (CCS), випущений в червні 2006 року розроблений для високотехнологічних додатків, які вимагають кластерних обчислень. Програмний продукт розроблений для розгортання на множині комп'ютерів, які з’єднуються в кластер для досягнення потужностей суперкомп'ютера. Кожен кластер на Windows Compute Cluster Server складається з одної або декількох управляючих машин, що розподіляють завдання і декілька підлеглих машин, що виконують основну роботу. У листопаді 2008 був представлений Windows HPC Server 2008, покликаний замінити Windows Compute Cluster Server 2003.

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

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