ПЕРЕЛІК ДИСЦИПЛІН:
  • Адміністративне право
  • Арбітражний процес
  • Архітектура
  • Астрологія
  • Астрономія
  • Банківська справа
  • Безпека життєдіяльності
  • Біографії
  • Біологія
  • Біологія і хімія
  • Ботаніка та сільське гос-во
  • Бухгалтерський облік і аудит
  • Валютні відносини
  • Ветеринарія
  • Військова кафедра
  • Географія
  • Геодезія
  • Геологія
  • Етика
  • Держава і право
  • Цивільне право і процес
  • Діловодство
  • Гроші та кредит
  • Природничі науки
  • Журналістика
  • Екологія
  • Видавнича справа та поліграфія
  • Інвестиції
  • Іноземна мова
  • Інформатика
  • Інформатика, програмування
  • Юрист по наследству
  • Історичні особистості
  • Історія
  • Історія техніки
  • Кибернетика
  • Комунікації і зв'язок
  • Комп'ютерні науки
  • Косметологія
  • Короткий зміст творів
  • Криміналістика
  • Кримінологія
  • Криптология
  • Кулінарія
  • Культура і мистецтво
  • Культурологія
  • Російська література
  • Література і російська мова
  • Логіка
  • Логістика
  • Маркетинг
  • Математика
  • Медицина, здоров'я
  • Медичні науки
  • Міжнародне публічне право
  • Міжнародне приватне право
  • Міжнародні відносини
  • Менеджмент
  • Металургія
  • Москвоведение
  • Мовознавство
  • Музика
  • Муніципальне право
  • Податки, оподаткування
  •  
    Бесплатные рефераты
     

     

     

     

     

     

         
     
    Кластерні системи
         

     

    Інформатика, програмування

    Московський Державний Інженерно-Фізичний Інститут

    (Технічний Університет)

    кафедра 29 "Керуючі Інтелектуальні Системи"

    Реферат на тему: < p> Кластерні системи

    Виконав: студент групи К9-292

    Попов И.А

    МОСКВА 2001

    Зміст:

    1. Введення

    2. Основні класи сучасних паралельних комп'ютерів

    3. Кластерна архітектура паралельних комп'ютерів

    4. Цілі створення кластерних систем

    5. Відмовостійкі кластери

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

    7. Проект Beowulf

    8. Висновок

    9. Література

    Введення


    Розвиток багатопроцесорних обчислювальних систем

    Розвиток традиційних архітектур побудови обчислювальних систем, такихяк SMP, MPP, векторних паралельних систем йде досить швидкимитемпами. Підвищується продуктивність, зростає надійність івідмовостійкість. Однак у цих архітектур є один недолік --вартість систем, що створюються, часом недоступна для багатьох користувачівтаких систем - освітніх та науково-дослідних організацій. Вонанадає дуже високою через ускладнення апаратних і програмнихскладових системи, які потрібні для забезпечення таких темпів зростанняпроізводіельності. Однак потреба в обчислювальних ресурсах уданий час дуже висока в багатьох сферах наукової та практичноїдіяльності і для її забезпечення не вистачає ресурсів традиційнихсуперкомп'ютерних систем.
    Кластерні системи виникли як більш дешеве рішення проблеми нестачіобчислювальних ресурсів, і грунтуються на використанні у своїйархітектурі широко поширених і відносно дешевих технологій,апаратних і програмних засобів, таких як PC, Ethernet, Linux і т.д.
    Використання масових технології в кластерних системах стало можливимзавдяки значного прогресу у розвитку компонентів звичайнихобчислювальних систем, таких як центральні процесори, операційнісистеми, комунікаційні середовища.
    Так як кластерні системи архітектурно є розвитком систем змасовим паралелізмом MPP, то головну роль у їх розвитку є прогресв галузі мережевих технологій. До теперішнього часу з'явилися недорогі, алеефективні комунікаційні рішення. Це і визначило швидкепоява і розвиток кластерних обчислювальних систем. Також прогресурозвитку кластерних систем сприяли й інші чинники.
    Продуктивність персональних комп'ютерів на базі процесорів Intel востанні роки також значно зросла. Такі комп'ютери стали створюватисерйозну конкуренцію робочих станцій на базі більш дорогих і потужних RISCпроцесорів. Одночасно стала набувати все більшої популярності ОС
    Linux - безкоштовно поширювана версія UNIX. При цьому в науковихорганізаціях і університетах, де і розробляється більшість кластернихсистем, як правило, є фахівці з ОС Linux.
    Високий ступінь розвитку кластерних систем на сьогоднішний день показуєтой факт, що в списку найпотужніших суперкомп'ютерів світу Top500 - значиться
    11 кластерних установок.

    Основні класи сучасних паралельних комп'ютерів


    Кластерні системи є розвитком паралельних систем. Щоб проказавмісце кластерних систем серед інших типів паралельних архітектуробчислювальних систем потрібно привести їх класифікацію. Паралельнісистеми можуть бути класіфіціровани за різними критеріями.
    З апаратної точки зору, основним параметром класифікації паралельнокомп'ютерів є наявність загальної (SMP) або розподіленої пам'яті (MPP).
    Щось середнє між SMP і MPP представляють собою NUMA-архітектури, депам'ять фізично розподілений, але логічно загальнодоступна.

    Симетричні мультипроцесорні системи

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

    рис.1

    Кожна операція доступу до пам'яті інтерпретується як транзакція по шиніпроцесори-пам'ять. Когерентність кешей підтримується апаратнимизасобами.
    У SMP кожен процесор має принаймні одну власну кеш-пам'ять (аможливо, і декілька).
    Можна сказати, що SMP система - це один комп'ютер з декількомарівноправними процесорами. Все інше - в одному екземплярі: одинпам'ять, одна підсистема введення/виводу, одна операційна система. Слово
    "рівноправний" означає, що кожен процесор може робити все, що будь-якийінший. Кожен процесор має доступ до всієї пам'яті, може виконувати будь-якуоперацію введення/виводу, переривати інші процесори і т.д.
    Недоліком даної архітектури є необхідність організації каналупроцесори-пам'ять з дуже високою пропускною здатністю.

    масивно-паралельні системи

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

    До системи можуть бути додані спеціальні вузли введення-виведення та керуючівузли. Вузли зв'язані через деяку комунікаційне середовище (високошвидкіснамережа, комутатор і т.п.)

    Системи з неоднорідним доступом до пам'яті NUMA

    NUMA (nonuniform memory access) на відміну від звичної SMP архітектури зпам'яттю, що розділяється представляє собою декілька окремих процесорів,кожен з яких, окрім власного кешу, має також локальноїпам'яттю:

    рис.2
    У подібній архітектурі процесор і модулі пам'яті тісно інтегровані,отже, швидкість доступу до локальної пам'яті набагато вище, ніж допам'яті "сусіднього" процесора. Підсистеми вводу-виводу можуть бути частиноюкожного вузла або консолідовані на виділених вузлах вводу-виводу. Якщо підвсій системі підтримується когерентність кешей, то таку архітектуруназивають cc-NUMA.
    Найпростіше охарактеризувати NUMA-систему, уявивши собі велику систему
    SMP, розділену на декілька частин, ці частини пов'язані комунікаційноїмагістраллю, підключеного до системних шин, і кожна частина включаєвласну основну пам'ять і підсистему введення/виводу. Це і є NUMA:велика SMP, розбита на набір більш дрібних і простих SMP. ОсновнийNUMA проблемою є забезпечення когерентності кешей. Апаратурадозволяє працювати з усіма окремими пристроями основної пам'ятіскладових частин системи (званих звичайно вузлами) як з єдиної гігантськоїпам'яттю.

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

    Розглянемо місце кластерної архітектури обчислювальних систем в цiйкласифікації.
    Кластер - це пов'язаний набір повноцінних комп'ютерів, який використовується вяк єдиного ресурсу. Під поняттям "повноцінний комп'ютер" розумієтьсязавершена комп'ютерна система, що володіє всім, що потрібно для їїфункціонування, включаючи процесори, пам'ять, підсистему введення/виводу, атакож операційну систему, підсистеми, додатки і т.д. Зазвичай для цьогогодяться персональні комп'ютери чи паралельні системи, які можутьволодіти архітектурою SMP і навіть NUMA. Кластери є слабосвязаннимісистемами, зв'язку вузлів використовується одна із стандартних мережевих технологій
    (Fast/Gigabit Ethernet, Myrinet) на базі шинної архітектури чикомутатора. Тому вони є більш дешевою в побудові модифікацією
    MPP архітектури.

    Кластерна архітектура паралельних комп'ютерів

    Загальні принципи

    Як вже було сказано раніше обчислювальний кластер - це сукупністькомп'ютерів, об'єднаних у рамках деякої мережі для вирішення однієї задачі
    (рис.3), яка для користувача представляється як єдиногоресурсу. Таку концепцію кластеру вперше запропонувала і реалізувала на початку
    80-х корпорація Digital Equipment, яка і донині розвиває цютехнологію
    Поняття "єдиний ресурс" означає наявність програмного забезпечення, що даєможливість користувачам, адміністраторам і прикладним програмам вважати,що є тільки одна сутність, з якою вони працюють - кластер.
    Наприклад, система пакетної обробки кластеру дозволяє послати завдання наобробку кластеру, а не якомусь окремому комп'ютеру. Більш складнимприкладом є системи баз даних. Практично у всіх виробниківсистем баз даних є версії, що працюють в паралельному режимі надекількох машинах кластеру. В результаті програми, що використовують базуданих, не повинні дбати про те, де виконується їх робота. СУБДвідповідає за синхронізацію паралельно виконуваних дій і підтримкацілісності бази даних.
    Комп'ютери, що утворюють кластер, - так звані вузли кластеру - завждивідносно незалежні, що допускає зупинку, вимикання будь-якого зних для проведення профілактичних робіт або встановлення додатковогообладнання без порушення працездатності всього кластеру.

    рис.3
    Як обчислювальних вузлів в кластері зазвичай використовуютьсяоднопроцесорні персональні комп'ютери, дво-або чотирипроцесорні SMP -сервери. Кожен вузол працює під управлінням своєї копії операційноїсистеми, у якості якої найчастіше використовуються стандартніопераційні системи: Linux, NT, Solaris і т.п. Склад і потужність вузлівможе змінюватися навіть в рамках одного кластера, даючи можливість створюватинеоднорідні системи. Вибір конкретної комунікаційного середовища визначаєтьсябагатьма чинниками: особливостями класу вирішуваних завдань, необхідністюподальшого розширення кластеру і т.п. Можливе включення в конфігураціюспеціалізованих комп'ютерів, наприклад, файл-сервера, і, як правило,надана можливість віддаленого доступу на кластер через Internet.
    З визначення архітектури кластерних систем випливає, що вона включає всебе дуже широкий спектр систем. Розглядаючи крайні точки, кластеромможна вважати як пару ПК, пов'язаних локальної 10-мегабітної мережею
    Ethernet, так і обчислювальну систему, яка створюється в рамках проекту Cplantв Національній лабораторії Sandia: 1400 робочих станцій на базі процесорів
    Alpha, пов'язаних високошвидкісний мережею Myrinet.
    Таким чином видно, що різних варіантів побудови кластерів дужебагато. При цьому в архітектурі кластеру велике значення мають використовуванікомунікаційні технології і стандарти. Вони багато в чому визначають колозадач, для рішення яких можна використовувати кластери, побудовані наоснові цих технологій.

    Комунікаційні технології побудови кластерів

    Кластери можуть стоїться як на основі спеціалізованих високошвидкіснихшин передачі даних, так і на основі масових мережевих технологій. Середмасових комунікаційних стандартів зараз найчастіше використовується мережа
    Ethernet або більше її продуктивний варіант - Fast Ethernet, якправило, на базі комутаторів. Однак великі накладні витрати на передачуповідомлень в рамках Fast Ethernet призводять до серйозних обмежень наспектр задач, які можна ефективно вирішувати на такому кластері. Якщо відкластеру потрібна велика продуктивність і універсальність, тонеобхідно застосовувати більш швидкісні і спеціалізовані технології. Доних відносяться SCI, Myrinet, cLAN, ServerNet та ін Порівняльнахарактеристика параметрів цих технологій наведена в

    таблиці 1.

    | | SCI | Myrinet | CLAN | ServerNe | Fast |
    | | | | | T | Ethernet |
    | Латентність (MPI) | 5,6 мкс | 17 мкс | 30 мкс | 13 мкс | 170 мкс |
    | Пропускна | 80 | 40 | 100Мбайт | 180 | 10 Мбайт/c |
    | здатність (MPI) | Мбайт/c | Мбайт/c |/c | Мбайт/c | |
    | Пропускна | 400 | 160 | 150 | н/д | 12,5 |
    | здатність | Мбайт/c | Мбайт/c | Мбайт/c | | Мбайт/c |
    | (апаратна) | | | | | |
    | Реалізація MPI | ScaMPI | HPVM, | MPI/Pro | MVICH | MPICH |
    | | | MPICH-GM | | | |
    | | | Та ін | | | |

    Таблиця 1.

    Продуктивність комунікаційних мереж в кластерних системахвизначається декількома числовими характеристиками. Основних характеристикдві: латентність - час початкової затримки при отриманих повідомлень іпропускна здатність мережі, що визначає швидкість передачі інформації поканалах зв'язку. При цьому важливі не стільки пікові характеристики, заявленів стандарті, скільки реальні, що досягаються на рівні користувачадодатків, наприклад, на рівні MPI-додатків. Зокрема, після викликукористувачем функції посилки повідомлення Send () повідомлення послідовнопройде через цілий набір шарів, що визначаються особливостями організаціїпрограмного забезпечення та апаратури, перш, ніж залишити процесор --тому існує істотний разбром за стандартами значень латентності.
    Наявність латентності призводить до того, що максимальна швидкість передачі помережі не може бути досягнута на повідомленнях з невеликою довжиною.
    Швидкість передачі даних по мережі в рамках технологій Fast Ethernet і
    Scalable Coherent Interface (SCI) залежить від довжини повідомлення. Для Fast
    Ethernet характерна велика величина латентності - 160-180 мкс, у той часяк латентність для SCI це величина близько 5,6 мкс. Максимальна швидкістьпередачі для цих же технологій 10 Мбайт/c і 80 Мбайт/с відповідно.


    Цілі створення кластерних систем

    Розробники архітектур кластерних систем пріследовалі різні цілі приїх створення. Першою була фірма Digital Equipment з кластерами VAX/VMS.
    Метою створення цієї машини було підвищення надійності роботи системи,забезпечення високої готовності і відмовостійкості системи. В данийчас існує безліч аналогічних з архітектури систем від іншихвиробників.
    Іншою метою створення кластерних систем є створення дешевихвисокопродуктивних паралельних обчислювальних систем. Один з першихпроектів, що дав ім'я цілого класу паралельних систем - кластер Beowulf
    [2] - виник у центрі NASA Goddard Space Flight Center для підтримкинеобхідними обчислювальними ресурсами проекту Earth and Space Sciences.
    Проект Beowulf почався влітку 1994 року, і незабаром був зібраний 16-процесорнийкластер на процесорах Intel 486DX4/100 МГц. На кожному вузлі буловстановлено по 16 Мбайт оперативної пам'яті і по 3 мережних Ethernet -адаптера. Ця система виявилася дуже вдалою по відношеннюціна/продуктивність, тому таку архітектуру почали розвивати ішироко використовувати в інших наукових організаціях та інститутах.
    Для кожного класу кластерів характерні свої особливості архітекури ізастосовуються апаратні засоби. Розглянемо їх більш докладно.

    Відмовостійкі кластери


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

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

    | Рівень готовності, | Мaкс. час | Тип системи |
    |% | Простою | |
    | 99,0 | 3,5 дні на рік | Звичайна (Conventional) |
    | 99,9 | 8,5 годин на | Висока надійність (High |
    | | Рік | Availability) |
    | 99,99 | 1 годину в рік | ВІДМОВОСТІЙКО (Fault |
    | | | Resilient) |
    | 99,999 | 5 хвилин на рік | Безвідмовна (Fault Tolerant) |

    Таблиця 2.

    На відміну від стійких до відмов систем з надлишковими компонентами, а такожрізних варіантів багатопроцесорності, кластери об'єднують щодонезалежні одна від одної машини, кожну з яких можна зупинити дляпрофілактики або реконфігурірованія, не порушуючи при цьому працездатностікластеру в цілому. Висока продуктивність кластера і зведення до мінімумучасу простоїв програм досягається завдяки тому, що:у разі збою ПЗ на одному з вузлів додаток продовжує функціонуватиабо автоматично перезапускається на інших вузлах кластеру;вихід з ладу одного з вузлів (або декількох) не призведе до краху всієїкластерної системи;профілактичні та ремонтні роботи, реконфігурацію або зміну версійпрограмного забезпечення, як правило, можна здійснювати у вузлах кластерупо черзі, не припиняючи роботи інших вузлів.
    Невід'ємною частиною кластеру є спеціальне програмне забезпечення,яке, власне, і вирішує проблему відновлення вузла в разі збою, атакож вирішує інші завдання. Кластерний ПО звичайно має кілька заздалегідьзаданних сценаріїв відновлення працездатності системи, а також моженадавати адміністратору можливості настроювання таких сценаріїв.
    Відновлення після збоїв може підтримуватися як для вузла в цілому, так ідля окремих його компонентів - додатків, дискових томів і т.д. Цяфункція автоматично ініціюється в разі системного збою, а також можебути запущена адміністратором, якщо йому, наприклад, необхідно відключитиодин з вузлів для реконфігурації.
    Кластери можуть мати поділювану пам'ять на зовнішніх дисках, як правило, надисковому масиві RAID. Дисковий масив RAID - це серверна підсистемавводу-виводу для зберігання даних великого обсягу. У масивах RAIDзначне число дисків щодо малої ємності використовується длязберігання великих обсягів даних, а також для забезпечення більш високоїнадійності і надмірності. Подібний масив сприймається комп'ютером якєдиний логічний пристрій.
    Відновлення після збоїв може підтримуватися як для вузла в цілому, так ідля окремих його компонентів - додатків, дискових томів і т.д. Цяфункція автоматично ініціюється в разі системного збою, а також можебути запущена адміністратором, якщо йому, наприклад, необхідно відключитиодин з вузлів для реконфігурації.
    Вузли кластера контролюють працездатність один одного і обмінюютьсяспецифічної «кластерної» інформацією, наприклад, про конфігурацію кластеру,а також передавати дані між розділяються накопичувачами і координуватиїх використання. Контроль працездатності здійснюється за допомогоюспеціального сигналу, який вузли кластеру передають один одному, для тогощоб підтвердити своє нормальне функціонування. Припинення подачісигналів з одного з вузлів сигналізує кластерного програмногозабезпечення про події збої і необхідності перерозподілити навантаженняна решту вузли. В якості прикладу розглянемо відмовостійкий кластер
    VAX/VMS.


    Кластера VAX/VMS

    Компанія DEC перших анонсувала концепцію кластерної системи у 1983 році,визначивши її як групу об'єднаних між собою обчислювальних машин,що представляють собою єдиний вузол обробки інформації. По суті VAX -кластер являє собою слабосвязанную багатомашинних систему із загальноюзовнішньою пам'яттю, що забезпечує єдиний механізм управління таадміністрування.
    VAX-кластер володіє наступними властивостями:
    Поділ ресурсів. Комп'ютери VAX в кластері можуть розділяти доступ дозагальним стрічковим і дисковим накопичувачам. Всі комп'ютери VAX в кластері можутьзвертатися до окремих файлів даних як до локальних.
    Висока готовність. Якщо відбувається відмова одного з VAX-комп'ютерів,завдання його користувачів автоматично можуть бути перенесені на іншийкомп'ютер кластеру. Якщо в системі є декілька контролерів HSC іодин з них відмовляє, інші контролери HSC автоматично підхоплюютьйого роботу.
    Висока пропускна здатність. Ряд прикладних систем можуть користуватисяможливістю паралельного виконання завдань на декількох комп'ютерахкластеру.
    Зручність обслуговування системи. Загальні бази даних можуть обслуговуватися зєдиного місця. Прикладні програми можуть інсталюватися тількиодного разу на загальних дисках кластеру і поділені між усіма комп'ютерамикластеру.
    Розширюваність. Збільшення обчислювальної потужності кластера досягаєтьсяпідключенням до нього додаткових VAX-комп'ютерів. Додатковінакопичувачі на магнітних дисках та магнітних стрічках стають доступними длявсіх комп'ютерів, що входять у кластер.
    Робота VAX-кластеру визначається двома головними компонентами. Першимкомпонентом є високошвидкісний механізм зв'язку, а другий - системнепрограмне забезпечення, яке забезпечує клієнтам прозорий доступ досистемного сервісу. Фізично зв'язку усередині кластера реалізуються за допомогоютрьох різних шинних технологій з різними характеристикамипродуктивності.
    Основні методи зв'язку в VAX-кластері представлені на рис. 4.

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

    Шина зв'язку комп'ютерів CI (Computer Interconnect) працює зі швидкістю 70
    Мбіт/с і використовується для з'єднання комп'ютерів VAX і контролерів HSC здопомогою комутатора Star Coupler. Кожна зв'язок CI має подвійні надлишковілінії, дві для передачі і два для прийому, використовуючи базову технологію
    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 несевідповідальність за підтримання узгодженого стану між буферами базиданих на різних комп'ютерах кластера.
    Завдання підтримки когерентності кеш-пам'яті введення/виводу між процесорамив кластері подібна завдання підтримки когерентності кеш-пам'яті в сильнопов'язаної багатопроцесорної системи, побудованої на базі деякої шини.
    Блоки даних можуть одночасно з'являтися в декількох кешах і якщо однапроцесор модифікує одну з цих копій, інші існуючі копії невідображають вже поточний стан блоку даних. Концепція захоплення блоку
    (володіння блоком) є одним із способів управління такими ситуаціями.
    Перед тим, як блок може бути модифікований повинно бути забезпечено володінняблоком.
    Робота з DLM пов'язана зі значними накладними витратами. Накладнівитрати в середовищі VAX/VMS можуть бути більшими, що вимагають передачі до шестиповідомлень по шині CI для однієї операції введення/виводу. Накладні витратиможуть досягати величини 20% для кожного процесора в кластері.


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


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

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

    Ethernet/Fast Ethernet. Це дозволяє разом зі скороченням витрат на комунікаційне середовище істотно підвищити продуктивність таких кластерів при вирішенні завдань з інтенсивним обміном даними між процесами.
    - Застосування так званого «Транкінг», тобто об'єднання декількох каналів Fast Ethernet в один загальний швидкісний канал, який з'єднує кілька комутаторів. Очевидним недоліком такого підходу є

    «втрата» частини портів, задіяних у межз'єднань комутаторів.
    - Для підвищення продуктивності створюються спеціальні протоколи обміну інформацією з таких мереж, які дозволяють більш ефективно використовувати пропускну здатність каналів і знімають деякі обмеження накладаються стандартними протоколами (TCP/IP, IPX). Такий метод часто використовують у ситема класу Beowulf.
    Основним якістю, яким повинен мати високопродуктивний кластерявлятся горизонтальна масштабованість, оскільки одним з головнихпереваг, які надає кластерна архітектура єможливість нарощувати потужність існуючої системи за рахунок простогододавання нових вузлів у систему. Причому збільшення потужності відбуваєтьсяпрактично пропорційно потужності доданих ресурсів і можездійснюватись без зупинки системи під час її функціонування. Усистемах з іншого архітектурою (зокрема MPP) зазвичай можлива тількивертикальна масштабованість: додавання пам'яті, збільшення числапроцесорів в багатопроцесорних системах або додавання нових адаптерів абодисків. Воно дозволяє тимчасово поліпшити продуктивність системи. Однакв системі буде встановлено максимальне підтримуване кількість пам'яті,процесорів або дисків, системні ресурси буде вичерпано, і для увелічеіяпродуктивності доведеться створювати нову систему або істотнопереробляти стару. Кластерна система також допускає вертикальнумасштабованість. Таким чином, за рахунок вертикального і горизонтальногомасштабування кластерна модель забезпечує велику гнучкість і простотузбільшення продуктивності систем.

    Проект 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). Він створювався як обчислювальнийресурс проекту "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 -каналів одночасно).


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

    Вузли кластера.
    Це або однопроцесорні ПК, або SMP-сервера з невеликим числом процесорів
    (2-4, можливо до 6). З різних причин оптимальним вважаєтьсяпобудова кластерів на базі двопроцесорних систем, не дивлячись на те, що вцьому випадку налаштування кластеру буде трохи складніше (головним чиномтому, що доcтупни відносно недорогі материнські плати для 2процесорів Pentium II/III). Варто встановити на кожен вузол 64-128MBоперативної пам'яті (для двопроцесорних систем 64-256MB).
    Одну з машин слід виділити як центральної (головний) кудаслід встановити досить великий жорсткий диск, можливо, більш потужнийпроцесор і більше пам'яті, ніж на інші (робочі) вузли. Має сенсзабезпечити (захищену) зв'язок цієї машини із зовнішнім світом.
    При комплектації робочих вузлів цілком можливо відмовитися від жорстких дисків
    - Ці вузли будуть завантажувати ОС через мережу із центральною машини, що, крімекономії коштів, дозволяє настроїти ОС і все необхідне ПЗ тільки
    1 раз (на центральній машині). Якщо ці вузли не будуть одночасновикористовуватися як для користувача робочих місць, немає необхідностівстановлювати на них відеокарти та монітори. Можливе встановлення вузлів устійки (rackmounting), що дозволить зменшити місце, займане вузлами, алебуде коштувати трохи дорожче.
    Можлива організація кластерів на базі вже існуючих мереж робочихстанцій, тобто робочі станції користувачів можуть використовуватися яквузлів кластеру вночі й у вихідні дні. Системи такого типу іноді називають
    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 більш ніж однимканалом. Щоб досягти цього, вузли оснащуються або декількома мережевимиплатами, або багатопортовий платами Fast Ethernet. Застосування зв'язуванняканалів у вузлах під управлінням ОС Linux дозволяє організувати рівномірнерозподіл навантаження прийому/передачі між відповідними каналами.

    Системне ПЗ

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


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

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

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

    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 ").

    Висновок

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

         
     
         
    Реферат Банк
     
    Рефераты
     
    Бесплатные рефераты
     

     

     

     

     

     

     

     
     
     
      Все права защищены. Reff.net.ua - українські реферати ! DMCA.com Protection Status