Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Кривобок

.pdf
Скачиваний:
10
Добавлен:
11.02.2016
Размер:
780.18 Кб
Скачать

підсистемавводу-виводу для зберігання даних великого обсягу. У масивах

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

Відновлення після збоїв може підтримуватися як для вузла в цілому,

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

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

2.6.2 Кластера VAX/VMS

Компанія DEC перших анонсувала концепцію кластерної системи у 1983

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

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

VAX-кластер володіє наступними властивостями:

Поділ ресурсів. Комп'ютери VAX в кластері можуть розділяти доступ дозагальним стрічковим і дисковим накопичувачам. Всі комп'ютери VAX в

21

кластері можутьзвертатися до окремих файлів даних як до локальних.

Висока готовність. Якщо відбувається відмова одного з VAX-

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

Висока пропускна здатність. Ряд прикладних систем можуть користуватисяможливістю паралельного виконання завдань на декількох комп'ютерахкластеру.

Зручність обслуговування системи. Загальні бази даних можуть обслуговуватися з єдиного місця. Прикладні програми можуть інсталюватися тількиодного разу на загальних дисках кластеру і поділені між усіма комп'ютерами кластеру.

Розширюваність. Збільшення обчислювальної потужності кластера досягаєтьсяпідключенням до нього додаткових VAX-комп'ютерів. Додаткові накопичувачі на магнітних дисках та магнітних стрічках стають доступними длявсіх комп'ютерів, що входять у кластер. Робота VAX-кластеру визначається двома головними компонентами. Першим компонентом є високошвидкісний механізм зв'язку, а другий – системне програмне забезпечення, яке забезпечує клієнтам прозорий доступ до системного сервісу. Фізично зв'язку усередині кластера реалізуються за допомогою трьох різних шинних технологій з різними характеристикамипродуктивності.

Основні методи зв'язку в VAX-кластері представлені на рис. 4.

Рис. 4 VAX/VMS-кластер

Шина зв'язку комп'ютерів CI (Computer Interconnect) працює зі швидкістю

70 Мбіт/с і використовується для з'єднання комп'ютерів VAX і контролерів

HSC здопомогою комутатора Star Coupler. Кожна зв'язок CI має подвійні надлишковілінії, дві для передачі і два для прийому, використовуючи базову технологію.

22

CSMA, яка для усунення колізій використовує специфічні для даноговузла затримки. Максимальна довжина зв'язку CI становить 45 метрів.

Зіркоподібні комутатор Star Coupler може підтримувати підключення до

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

Ethernet, використовуючи NI - Network Interconnect (так звані локальні VAX -

кластери), проте продуктивність таких систем порівняно низька черезнеобхідності ділити пропускну здатність мережі Ethernet

міжкомп'ютерами кластеру та іншими клієнтами мережі. Також кластеру можуть стоіться на основі шини DSSI (Digital Storage System Interconnect). На шині DSSI можуть об'єднуватися до чотирьох комп'ютерів VAXнижнього і середнього класу. Кожен комп'ютер може підтримувати декількаадаптерів

DSSI. Окрема шина DSSI працює зі швидкістю 4 Мбайт/с (32 Мбіт/с) і

допускає підключення до 8 пристроїв. Підтримуються наступні типи пристроїв: системний адаптер DSSI, дисковий контролер серії RF істрічковий контроллер серії TF. DSSI обмежує відстань між вузлами вкластері 25

метрами.Системне програмне забезпечення VAX-кластерів.Для гарантії правильного взаємодії процесорів один з одним зазверненнях до спільних ресурсів, таких, наприклад, як диски, компанія DECвикористовує розподілений менеджер блокувань DLM (Distributed Lock Manager). Дуже важливою функцією DLM є забезпечення когерентногостану дискових кешей для операцій введення/виводу операційної системи іприкладних програм.

Наприклад, в додатках реляційних СУБД DLM несевідповідальність за підтримання узгодженого стану між буферами базиданих на різних комп'ютерах кластера. Завдання підтримки когерентності кеш-пам'яті введення/виводу між процесорамив кластері подібна завдання підтримки когерентності кеш-пам'яті в сильнопов'язаної багатопроцесорної системи,

побудованої на базі деякої шини.

23

Блоки даних можуть одночасно з'являтися в декількох кешах і якщо однапроцесор модифікує одну з цих копій, інші існуючі копії невідображають вже поточний стан блоку даних. Концепція захоплення блоку (володіння блоком) є одним із способів управління такими ситуаціями. Перед тим, як блок може бути модифікований повинно бути забезпечено володіння блоком. Робота з DLM пов'язана зі значними накладними витратами. Накладнівитрати в середовищі VAX/VMS можуть бути більшими, що вимагають передачі до шестиповідомлень по шині CI для однієї операції введення/виводу. Накладні витратиможуть досягати величини

20% для кожного процесора в кластері.

2.7Високопродуктивні кластери

2.7.1Принципи побудови

Архітектура високопродуктивних кластерів з'явилася як розвитокпринципів побудови систем MPP на менш продуктивних і масовихкомпонентах,

керованих операційної ситемою загального призначення. Кластеритакож як і

MPP системи складаються з слабосвязанних вузлів, які можуть бутияк однорідними, так і, на відміну від MPP, різними або гетерогенними.

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

Fast Ethernet на порядки нижче, ніж умеж з'єднань в сучасних

суперкомп'ютерах МРР-архітектури. Для вирішення проблем низької

продуктивності мережі застосовують кількаметодів:

- кластер поділяється на кілька сегментів, у межах яких вузли з'єднані високопродуктивної шиною типу Myrinet, а зв'язок між вузлами різних

24

сегментів здійснюється низькопродуктивний мережами типу Ethernet/Fast

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

- Застосування так званого «Транкінг», тобто об'єднання декількох каналів

Fast Ethernet в один загальний швидкісний канал, який з'єднує кілька комутаторів. Очевидним недоліком такого підходу є«втрата» частини портів,

задіяних у межз'єднань комутаторів. Для підвищення продуктивності створюються спеціальні протоколи обміну інформацією з таких мереж, які дозволяють більш ефективно використовувати пропускну здатність каналів і знімають деякі обмеження накладаються стандартними протоколами (TCP/IP, IPX). Такий метод часто використовують у ситема класу Beowulf.

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

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

25

2.8 Проект Beowulf

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

Одним із прикладів реалізації кластерної системи такої структури єкластери Beowulf. Проект Beowulf об'єднав близько півтора десяткаорганізацій (головним чином університетів) у Сполучених Штатах.

Провіднірозробники проекту - фахівці агентства NASA. У даному вигляді

кластерівможна виділити наступні основні особливості:

-кластер Beowulf складається з декількох окремих вузлів, об'єднаних в загальну мережу, загальні ресурси вузлами кластеру не використовуються;

-оптимальним вважається побудова кластерів на базі двопроцесорних SMP

систем;

- для зменшення накладних витрат на взаємодію між вузлами застосовують повнодуплексний 100 MB Fast Ethernet (рідше використовують SCI),

створюють кілька мережевих сегментів або з'єднують вузли кластера через комутатор;

- у якості програмного забезпечення застосовують ОС Linux, і безкоштовно розповсюджуються комунікаційні бібліотеки (PVM і MPI );

Також

Історія проекту Beowulf

Проект розпочався влітку 1994 року в науково-космічному центрі NASA -

Goddard

Space Flight Center (GSFC), точніше у створеному на його основі CESDIS

(Centerof Excellence in Space Data and Information Sciences). Перший-Beowulf

кластер був створений на основі комп'ютерів Intel архітектури під ОС Linux.

Це була система, що складається з 16 вузлів (на процесорах

486DX4/100MHz, 16MB пам'яті і 3 мережевих адаптера на кожному вузлі, 3 "паралельних" Ethernet-кабелю по 10Mbit). Він створювався як

26

обчислювальнийресурс проекту "Earth and Space Sciences Project" (ESS).

Далі в GSFC і інших підрозділах NASA були зібрані інші, більш потужнікластери. Наприклад, кластер theHIVE (Highly-parallel Integrated Virtual Environment) містить 64 вузла по 2 процесора Pentium Pro/200MHz і 4GBпам'яті в кожному, 5 комутаторів Fast Ethernet. Загальна вартість цьогокластеру становить приблизно $ 210 тис. У рамках проекту Beowulf був розроблено ряд високопродуктивних і спеціалізованих мережевих драйверів

(зокрема, драйвер для використання декількох Ethernet –каналів одночасно).

2.8.1 Архітектура Beowulf.

Це або однопроцесорні ПК, або SMP-сервера з невеликим числом процесорів (2-4, можливо до 6). З різних причин оптимальним вважається побудова кластерів на базі двопроцесорних систем, не дивлячись на те, що вцьому випадку налаштування кластеру буде трохи складніше (головним чиномтому, що доcтупни відносно недорогі материнські плати для

2процесорів Pentium II/III). Варто встановити на кожен вузол 64-128MB

оперативної пам'яті (для двопроцесорних систем 64-256MB).

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

При комплектації робочих вузлів цілком можливо відмовитися від жорстких дисків.

- Ці вузли будуть завантажувати ОС через мережу із центральною машини, що, крімекономії коштів, дозволяє настроїти ОС і все необхідне ПЗ тільки 1 раз (на центральній машині). Якщо ці вузли не будуть одночасновикористовуватися як для користувача робочих місць, немає необхідностівстановлювати на них відеокарти та монітори. Можливе встановлення вузлів устійки (rackmounting), що дозволить зменшити місце,

займане вузлами, алебуде коштувати трохи дорожче.

27

Можлива організація кластерів на базі вже існуючих мереж робочихстанцій, тобто робочі станції користувачів можуть використовуватися яквузлів кластеру вночі й у вихідні дні. Системи такого типу іноді називають COW (Cluster of Workstations).

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

Мережа

Основні типи локальних мереж, задіяні в рамках проекту Beowulf, --це

Gigabit Ethernet, Fast Ethernet та 100-VG AnyLAN. У простому випадкувикористовується один сегмент Ethernet (10Mbit/sec на кручений парі). Однакдешевизна такої мережі, внаслідок колізій обертається великими накладнимивитратами на міжпроцесорних обміни, а гарну продуктивність такогокластеру слід очікувати тільки на завданнях з дуже простої паралельноїструктурою і при дуже рідкісних взаємодіях між процесами

(наприклад, перебір варіантів).

Для одержання гарної продуктивності міжпроцесорних обмінів використовуютьповнодуплексний Fast Ethernet на 100Mbit/sec. При цьому для зменшення числаколізій або встановлюють декілька "паралельних"

сегментів Ethernet, абоз'єднують вузли кластера через комутатор (switch).

Більш дорогим, але також популярним варіантом є використаннякомутаторів типу Myrinet (1.28Gbit/sec, повний дуплекс).

Менш популярними, але також реально використовуються при побудові кластерівмережевими технологіями є технології сLAN, SCI і Gigabit

Ethernet. Іноді для зв'язку між вузлами кластера використовують паралельно декілька фізичних каналів зв'язку - так зване «зв'язування каналів»

(channelbonding), яка зазвичай застосовується для технології Fast Ethernet.

При цьому кожний вузол під'єднується до комутатора Fast Ethernet більш ніж одним каналом. Щоб досягти цього, вузли оснащуються або декількома

28

мережевими платами, або багатопортовий платами Fast Ethernet.

Застосування зв'язування каналів у вузлах під управлінням ОС Linux

дозволяє організувати рівномірнерозподіл навантаження прийому/передачі між відповідними каналами.

2.9 Системне ПЗ

Операційна система. Зазвичай використовується система Linux у

версіях,спеціально оптимізованих під розподілені паралельні обчислення.

Була проведена доопрацювання ядра Linux 2.0. У процесі побудови кластерівз'ясувалося, що стандартні драйвери мережних пристроїв в Linux

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

Комунікаційні бібліотеки. Найбільш поширеним інтерфейсомпаралельного програмування в моделі передачі повідомлень є

MPI. Рекомендована безкоштовна реалізація MPI - пакет MPICH,

розроблений в Аргоннської Національної Лабораторії. Для кластерів на базі комутатора Myrinet розроблена система HPVM, куди також входить реалізація MPI. Для ефективної організації паралелізму всередині однієї

SMP-cистема можливідва варіанти:

1. Для кожного процесора в SMP-машині породжується окремий MPI-процес.

MPI-процеси всередині цієї системи обмінюються повідомленнями через поділювану пам'ять (необхідно налаштувати MPICH відповідним чином).

29

2. На кожній машині запускається тільки один MPI-процес. Усередині кожного

MPI-процесу проводиться розпаралелювання в моделі "спільної пам'яті",

наприклад за допомогою директив OpenMP. Після установки реалізації MPI

має сенс протестувати реальну продуктивність мережевих пересилань. Крім

MPI, є й інші бібліотеки та системи паралельногопрограмування, які можуть бути використані на кластерах.

Приклад реалізації кластеру Beowulf - Avalon

У 1998 році в Лос-Аламоської національної лабораторії астрофізик Michael Warren та інші вчені з групи теоретичної астрофізики побудували суперкомп'ютер Avalon, який представляє з себе Beowulf-кластер набазі процесорів DEC Alpha/533MHz. Avalon спочатку складалося з 68процесорів,

потім був розширений до 140. У кожному вузлі встановлено 256MB

оперативної пам'яті, EIDE-жорсткий диск на 3.2GB, мережевий адаптер від

Kingston (загальна вартість вузла - $ 1700). Вузли з'єднані за допомогою 4-х 36-портовихкомутаторів Fast Ethernet і розташованого "у центрі" 12-

портовогокомутатора Gigabit Ethernet від 3Com. Загальна вартість Avalon - $

313 тис., а його продуктивність по LINPACK (47.7 GFLOPS) дозволила йому зайняти 114 місце в 12-й редакції списку Top500 (поруч з 152-процесорної системою IBM SP2). 70-процесорна конфігурація Avalon по багатьом тестам показала таку ж продуктивність, як 64 --процесорна система SGI Origin2000/195MHz вартість якої перевищує $ 1млн.

В даний час Avalon активно використовується в астрофізичних, молекулярних та інших наукових обчисленнях. На конференції SC'98 творці Avalon представили доповідь під заголовком

"Avalon: An Alpha/Linux Cluster Achieves 10 Gflops for $ 150k "і заслужили премію за показником ціна/продуктивність ( "1998 Gordon Bell Price/Performance Prize").

30