Налаштування обладнання та програмного забезпечення

Введення: кластерні обчислювальні системи. Кластери високої доступності

Розвиток кластерних систем(КС) у Росії

Кластер - це модульна багатопроцесорна система, створена з урахуванням стандартних обчислювальних вузлів, з'єднаних високошвидкісної комунікаційної середовищем. Зараз слова "кластер" і "суперкомп'ютер" значною мірою синоніми, але перш ніж про це стало з упевненістю говорити, апаратні засоби пройшли тривалий цикл еволюції. Протягом перших 30 років з моменту появи комп'ютерів, аж до середини 1980-х рр. під «суперкомп'ютерними» технологіями розуміли виключно виробництво спеціалізованих особливо потужних процесорів. Однак поява однокристального мікропроцесора практично стерла різницю між «масовими» та «особливо потужними» процесорами, і з цього моменту єдиним способом створення суперкомп'ютера став шлях поєднання процесорів для паралельного вирішення одного завдання. Олексій Лацис, один із творців російського суперкомп'ютера МВС-1000М, у своїй книзі «Як побудувати та використовувати суперкомп'ютер» називає це «першою суперкомп'ютерною революцією».

Приблизно до середини 1990-х. основний напрямок розвитку суперкомп'ютерних технологій було пов'язане з побудовою спеціалізованих багатопроцесорних систем із масових мікросхем. Один із сформованих підходів - SMP (Symmetric Multi Processing), мав на увазі об'єднання багатьох процесорів з використанням загальної пам'яті, що сильно полегшувало програмування, але висувало високі вимоги до самої пам'яті. Зберегти швидкодію таких систем зі збільшенням кількості вузлів до десятків було практично неможливо. Крім того, цей підхід виявився найдорожчим в апаратній реалізації. На порядок дешевшим і майже нескінченно масштабованим виявився метод МРР (Massively Parallel Processing), у якому незалежні спеціалізовані обчислювальні модулі об'єднувалися спеціалізованими каналами зв'язку, причому й ті й інші створювалися під конкретний суперкомп'ютер і жодних цілях не застосовувалися.

Ідея створення так званого кластера робочих станцій фактично стала розвитком методу МРР, адже логічно МРР-система не сильно відрізнялася від звичайної локальної мережі. Локальна мережа стандартних персональних комп'ютерів, що при відповідному ПЗ використовувалася як багатопроцесорний суперкомп'ютер, і стала прародителькою сучасного кластера. Ця ідея отримала більш досконале втілення у середині 1990-х рр., коли завдяки повсюдному оснащенню ПК високошвидкісний шиною PCIі появі дешевої, але швидкої мережі. Fast Ethernet кластери стали наздоганяти спеціалізовані МРР-системи комунікаційним можливостям. Це означало, що повноцінну МРР-систему можна було створити із стандартних серійних комп'ютерів за допомогою серійних комунікаційних технологій, причому така система обходилася дешевшою в середньому на два порядки.

Ось найзнаменитіші суперкомп'ютери з кластерною архітектурою «першого покоління»: Beowulf (1994, NASA Goddard Space Flight Center) - 16-процесорний кластер на процесорах Intel 486DX4/100 МГц; Avalon (1998, Лос-Аламоська національна лабораторія) – Linux-кластер на базі процесорів Alpha 21164А/533 МГц. Спочатку Avalon складався з 68 процесорів, потім їх кількість збільшилася до 140; його продуктивність на тесті LINPACK 48,6 GFlops* дозволила йому зайняти 113-те місце в 12-й редакції рейтингу найпотужніших комп'ютерів світу Тор500 поруч із 152-процесорною SMP-системою IBM RS/6000 SP. Першою вітчизняною системою, що увійшла до ТорбОО, став кластер МВС-1000М, виготовлений НДІ «КВАНТ» та Інститутом прикладної математики Російської академіїнаук. Він складався із 384 вузлів на базі процесорів Alpha 21164 компанії DEC-Compaq.

* Flops (floating point operations per second) - кількість операцій із плаваючою точкою в секунду, одиниця виміру продуктивності суперкомп'ютерів. GFlops (гігафлопс) - мільярд операцій із плаваючою точкою в секунду; TFlops (терафлопс) - трильйон операцій із плаваючою точкою на секунду. Реальна продуктивність найпотужнішого на сьогодні суперкомп'ютера перевищує 136 TFlops; Лише рік тому цей показник становив 35 TFlops.

Розрізняють пікову та реальну продуктивність суперкомп'ютерів. Пікова продуктивність багатопроцесорної системи (кластера, SMP-системи і т. д.) – теоретичне значення, недосяжне на практиці. Воно виходить множенням пікової продуктивності процесора число процесорів у системі. Пікова продуктивність ЦП у загальному випадку виходить шляхом множення його тактової частотина максимальну кількість операцій, які виконуються за один такт. Реальна продуктивність кластера - це продуктивність, отримана під час вирішення реального завдання (академічної чи промислової). Наприклад, системи у рейтингу Тор500 ранжуються за результатами тесту LINPACK – реального академічного завдання на вирішення системи лінійних рівнянь.

Новий потужний поштовх розвитку кластерних технологій, окрім появи більш досконалих комунікаційних мереж, дав швидке зростання продуктивності нових масових процесорів, що зробило високопродуктивні рішення доступними як ніколи. Наприклад, «СКІФ К-500», другий вітчизняний кластер, який увійшов до ТорбОО, побудований на базі 128 процесорів Intel Xeon та системної мережі SCI. Побудований восени 2003 р. для російсько-білоруської державної суперкомп'ютерної програми «СКІФ», цей кластер зайняв у рейтингу 407-е місце з реальною продуктивністю 423,6 GFlops. Другий «топовий» кластер державної програми, «СКІФ К-1000» на базі 576 процесорів AMD Opteron та системної мережі InfiniBand, з'явився у жовтні 2004 р. і увійшов до першої сотні Тор500 з реальною продуктивністю 2,032 TFlops. Обидва кластери «СКІФ», встановлені в Білорусії, побудовані компанією «Т-Платформи» за участю ІПС РАН та білоруських партнерів та використовують російські суперкомп'ютерні технології. Найпотужніший на Наразікластер на території Росії - МВС 15000БМ з реальною продуктивністю понад 5,3 Tflops, він займає 56-е місце в Тор500 і встановлений у міжвідомчому суперкомп'ютерному центрі (МСЦ РАН). Кластер побудований з обчислювальних вузлів IBM на базі процесорів PowerPC і системної мережі Myrinet.

Бурхливий розвиток кластерних технологій за останні роки добре видно з аналізу списку Тор500: з 2000 до 2004 р. частка кластерів у списку збільшилася з 2,2 до 60,8%. Якщо в 2000 р. в числі 40 найпотужніших установок було лише два кластери (найпотужніший - 31-е місце), то до 2004 р. їх число серед перших 40 машин склало 24). При цьому, за даними останньої редакції Тор500, більше 71,5% процесорів, використаних для ерздания суперкомп'ютерів, - це процесори, що масово випускаються компаніями Intel і AMD.

Кластерні технології застосовуються і в новітніх суперкомп'ютерних розробках провідних виробників: наприклад, у найпотужнішому на сьогодні суперкомп'ютері IBM BlueGene/L з продуктивністю понад 136 TFlops використано багато елементів кластерної архітектури.

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

Саме розвиток кластерних технологій зробив високопродуктивні обчислення широко доступними і дозволив різним підприємствам скористатися їх перевагами. Ось як розподіляються галузі застосування 500 найпотужніших комп'ютерів світу: 44,3% - добувна, електронна, автомобільна, авіаційна та ін. галузі важкої промисловості та машинобудування, трохи більше 20% - наука та освіта, суперкомп'ютерні центри. Понад 18% припадає на погодні та кліматичні дослідження, 7% - ядерні, космічні, енергетичні та військові. державні програми, 3,5% - фінансові компанії та банки. Крім того, у списку є компанії та організації, що займаються медициною та розробкою нових ліків, комп'ютерною графікою, перевезеннями, торгівлею, виробництвом продуктів харчування, консалтингом та державним управлінням.

Що стосується використання суперкомп'ютерів у Росії, то в поточному рейтингу суперкомп'ютерів СНД Тор50, вперше виданому в грудні 2004 р., представлені лише три класи користувачів: наукові інститути та університети, підприємства, зайняті у важкій та нафтовидобувній промисловості, а також фінансові структури.

У середньому вітчизняні суперкомп'ютери поки що сильно поступаються західним за продуктивністю: машини, що використовуються для наукових досліджень, у 15 разів, обчислювальні ресурси фінансових компаній - у 10 разів, промислові суперкомп'ютери - у 9 разів. Проте вже друга редакція списку Тор50, опублікована у квітні 2005 р., демонструє швидкий розвиток галузі. Так, кількість систем, що працюють у промисловій сфері, збільшилася з 2 до 16%, причому їхня середня продуктивність зросла відразу на 135%. Число суперкомп'ютерів фінансових компаній та банків також зросло з 2 до 18%. Частка суперкомп'ютерів, що використовуються для наукових досліджень, скоротилася з 96 до 66%, а їхня середня продуктивність зросла на 70%. Загалом друга редакція вітчизняного суперкомп'ютерного рейтингу демонструє суттєве зростання частки систем комерційного використання. Найбільше вітчизняних суперкомп'ютерів поставлено фірмою IBM (26%), але російські виробники лише трохи поступаються їй.

Кластерні обчислювальні системи стали продовженням розвитку ідей, закладених в архітектурі MPA-систем. Якщо в MPAсистемі як закінченого обчислювального вузла виступає процесорний модуль, то в кластерних системах як такі обчислювальні вузли використовують комп'ютери, що випускаються серійно. Розвиток комунікаційних технологій, а саме, поява високошвидкісного мережевого обладнаннята спеціальних програмних бібліотек, наприклад, MPI (Message Passing Interface), що реалізують механізм передачі повідомлень за стандартними мережевим протоколам, зробили кластерні технології загальнодоступними В даний час створюється безліч невеликих кластерних систем через об'єднання обчислювальних потужностей комп'ютерів лабораторії або навчального класу.

Привабливою рисою кластерних технологій і те, що з досягнення необхідної продуктивності вони дозволяють будувати гетерогенні системи, т. е. об'єднувати в єдині обчислювальні системи комп'ютери самого різного типу, починаючи від персональних комп'ютерів і закінчуючи потужними суперкомп'ютерами Широкого поширення кластерні технології отримали як засіб створення систем суперкомп'ютерного класу складових частинмасового виробництва, що значно здешевлює вартість обчислювальної системи. Зокрема, одним з перших у 1998 році був реалізований проект The COst effective COmputing Array (COCOA), в якому на базі 25 двопроцесорних персональних комп'ютерів загальною вартістю близько 100000 доларів була створена система з продуктивністю, еквівалентною 48-процесорному Cray T3D .

Лайал Лонг (Lyle Long), професор аерокосмічної інженерії в університеті штату Пенсільванія (Penn State University), вважає, що відносно дешеві кластерні обчислювальні системи можуть служити альтернативою дорогим суперкомп'ютерам у наукових організаціях. Під його керівництвом в університеті було збудовано кластер COCOA. У рамках даного проекту об'єднано 25 ра-

бочих станцій від DELL, кожна з яких включає два процесори Pentium II/400 МГц, 512 МБ оперативної пам'яті, 4-гігабайтний жорсткий диск SCSIі мережевий адаптер Fast Ethernet. Для зв'язку вузлів використовується 24-портовий комутатор Baynetworks 450T із одним модулем розширення. Встановлене програмне забезпеченнявключає операційну систему RedHat Linux, компілятори Fortran 90 і HPF від Portland Group, реалізацію MPI, що вільно розповсюджується, - Message Passing Interface Chameleon (MPICH) і систему підтримки черг DQS.

У роботі, представленій на 38-й конференції Aerospace Science Meeting and Exhibit, Лонг описує паралельну версію розрахункової програми з автоматичним розподілом обчислювального навантаження, що використовується для передбачення рівня шуму від вертольотів у різних точках. Для порівняння дана розрахункова програмабула запущена на трьох різних 48-процесорних комп'ютерах для розрахунку шуму у 512 точках. На системі Cray T3E розрахунок зайняв 177 секунд, на системі SGI Origin2000 – 95 секунд, а на кластері COCOA – 127 секунд. Таким чином, кластери є дуже ефективною обчислювальною платформою завдань такого класу.

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

Звичайно, про повну еквівалентність цих систем годі й говорити. Як відомо, продуктивність систем з розподіленою пам'яттю дуже залежить від продуктивності комутаційного середовища, яке можна охарактеризувати двома параметрами: латентністю - часом затримки при посилці повідомлення, і пропускною здатністю- Швидкістю передачі інформації. Наприклад, для комп'ютера Cray T3D ці параметри становлять відповідно 1 мкс і 480 Мб/с, а для кластера, в якому як комутаційне середовище використана мережа Fast Ethernet, - 100 мкс і 10 Мб/с. Це частково пояснює дуже високу вартість суперкомп'ютерів. При таких параметрах, як у кластера, знайдеться не так багато завдань, які можуть ефективно вирішуватися на досить великій кількості процесорів.

На основі вищевикладеного дамо визначення: кластер - це пов'язаний набір повноцінних комп'ютерів, що використовується як єдиний обчислювальний ресурс. Як вузли кластерів можуть використовуватися як однакові (гомогенні кластери), так і різні (гетерогенні кластери) обчислювальні машини. За своєю архітектурою кластерна обчислювальна система є слабопов'язаною. Для створення кластерів зазвичай використовують або прості однопроцесорні персональні комп'ютери, або двоабо чотирипроцесорні SMP-сервери. При цьому не накладається жодних обмежень на склад та архітектуру вузлів. Кожен із вузлів може функціонувати під управлінням своєї власної операційної системи. Найчастіше використовуються стандартні операційні системи Linux, FreeBSD, Solaris, Tru64 Unix, Windows NT.

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

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

нарощувана масштабованість;

високий коефіцієнт готовності;

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

Пояснимо кожну з вище перерахованих особливостей кластерної обчислювальної системи.

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

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

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

І нарешті, кластерні системи забезпечують недосяжне для суперкомп'ютерів. співвідношення ціна якість. Кластери будь-якої продуктивності можна створити, використовуючи стандартні «будівельні блоки», при цьому вартість кластера буде нижчою, ніж один-

нічний обчислювальної машини з еквівалентною обчислювальною потужністю.

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

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

Класифікація архітектур кластерних систем

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

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

Відмінність між представленими кластерами у тому, що у разі локальної мережі вузли використовують локальні дискові масиви, а разі виділеної лінії вузли спільно використовують один надлишковий масив незалежних жорстких дисківабо так званий RAID (Redundant Array of Independent Disks). RAID складається з декількох дисків, керованих контролером, взаємопов'язаних швидкісними каналами та сприймаються зовнішньою системоюяк єдине ціле. Залежно від типу використовуваного масиву можуть забезпечуватися різні ступені відмовостійкості та швидкодії.

Процесор

Процесор

Високошвидкісна

Процесор

Процесор

магістраль

Пристрій

Пристрій

Пристрій

Пристрій

введення/виводу

введення/виводу

введення/виводу

введення/виводу

Дисковий

Дисковий

Рис. 5.5.1. Конфігурація кластера без спільно використовуваних дисків

Дисковий

Пристрій

Пристрій

Процесор

Процесор

введення/виводу

введення/виводу

Процесор

Процесор

Пристрій

Пристрій

Пристрій

Пристрій

введення/виводу

введення/виводу

введення/виводу

введення/виводу

Дисковий

Високошвидкісна

Дисковий

магістраль

Рис. 5.5.2. Конфігурація кластера із спільно використовуваними дисками

Розглянемо найбільш поширені типи дискових мас-

RAID0 (striping – чергування) – дисковий масив із двох або більше жорстких дисків з відсутністю резервування. Інформація розбивається на блоки даних та записується на обидва (кілька) дисків одночасно. Гідність – суттєве підвищення продуктивності. Недолік - надійність RAID0 свідомо нижче надійності будь-якого з дисків окремо і знижується зі збільшенням кількості дисків, що входять в RAID0, так як відмова будь-якого з дисків призводить до непрацездатності всього масиву.

RAID1 (mirroring - дзеркаловання) - масив, що складається як мінімум із двох дисків. Достоїнствами є прийнятна швидкість запису та виграш у швидкості читання при розпаралелювання запитів, а також висока надійність: працює доти, доки функціонує хоча б один диск у масиві. Імовірність виходу з експлуатації відразу двох дисків дорівнює добутку ймовірностей відмови кожного диска. Насправді при виході з ладу однієї з дисків слід терміново вживати заходів: знову відновлювати надмірність. Для цього із будь-яким рівнем RAID (крім нульового) рекомендують використовувати диски гарячого резерву. Гідність такого підходу – підтримка постійної доступності. Недолік полягає в тому, що доводиться оплачувати вартість двох жорстких дисків, одержуючи корисний об'єм одного жорсткого диска.

RAID10 - дзеркальний масив, дані у якому записуються послідовно кілька дисків, як у RAID0. Ця архітектура є масивом типу RAID0, сегментами якого замість окремих дисків є масиви RAID1. Відповідно, масив цього рівня повинен містити щонайменше чотири диски. RAID10 поєднує високу відмовостійкість та продуктивність.

Більш повне уявлення про кластерні обчислювальні системи дає класифікація кластерів за методами кластеризації, що використовуються, які визначають основні функціональні особливості системи:

кластеризація з пасивним резервуванням;

кластеризація з активним резервуванням;

самостійні сервери;

сервери з підключенням до всіх дисків;

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

Кластеризація з резервуванням - найбільш старий та універсальний метод. Один із серверів бере на себе все обчислювальне навантаження, тоді як інший залишається неактивним, але готовим прийняти обчислення при відмові основного сервера. Активний (або первинний) сервер періодично надсилає резервному (вторинному) серверу тактичне повідомлення. За відсутності тактуючих повідомлень, що сприймається як відмова первинного сервера, вторинний сервер бере управління він. Такий підхід підвищує коефіцієнт готовності, але не покращує продуктивність. Більше того, якщо єдиний вид спілкування між вузлами - обмін повідомленнями, і якщо обидва сервери кластера не використовують диски спільно, то резервний сервер не має доступу до баз даних, керованих первинним сервером.

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

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

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

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

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

Кластери забезпечують високий рівень доступності - у них відсутні єдина операційна система і пам'ять, що спільно використовується, тобто немає проблеми когерентності кеш-пам'яті. З іншого боку, спеціальне ПЗ у кожному вузлі постійно контролює працездатність решти вузлів. Цей контроль заснований на періодичному розсиланні кожним вузлом сигналу «Я ще не спаю». Якщо сигнал від деякого вузла не надходить, то такий вузол вважається таким, що вийшов з ладу; йому не надається можливість виконувати введення/виведення, його диски та інші ресурси (включаючи мережеві адреси) перепризначаються іншим вузлам, а програми, що в ньому виконуються, перезапускаються в інших вузлах.

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

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

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

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

Розробники пакету підпрограм ScaLAPACK, призначеного для вирішення задач лінійної алгебри на багатопроцесорних системах, в яких велика частка комунікаційних операцій, формулюють вимогу до багатопроцесорної системи таким чином: «Швидкість міжпроцесорних обмінів між двома вузлами, виміряна в МБ/с, повинна бути не менше ніж 1/ 10 пікової продуктивності обчислювального вузла, виміряної MFLOPS».

Топології кластерів

Розглянемо топології, характерні для про «малих» кластерів, які з двох - чотирьох вузлів.

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

Чотирьохвузлова кластерна пара являє собою просте розширення двовузлової топології. Обидві кластерні пари з погляду адміністрування та налаштування розглядаються як єдине ціле.

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

Комутатор

кластера

кластера

кластера

кластера

Дисковий

Дисковий

Дисковий

Дисковий

Рис. 5.5.3. Топологія кластерних пар

Топологія + 1 дозволяє створювати кластери з двох, трьох та чотирьох вузлів (рис.5.5.4). Кожен дисковий масив підключається лише до двох вузлів кластера. Дискові масиви організовані за схемою RAID1 (mirroring). Один сервер має з'єднання з усіма дисковими масивами і служить резервним для всіх інших (основних або активних) вузлів. Резервний сервер може використовуватися для забезпечення високого рівня готовності в парі з будь-яким активним вузлом.

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

Топологія × аналогічно топології + 1 дозволяє створювати кластери з двох, трьох і чотирьох вузлів, але на відміну від неї має більшу гнучкість і масштабованість (рис.5.5.5).

Комутатор

кластера

кластера

кластера

кластера

Комутатор

кластера

кластера

кластера

кластера

Комутатор

Дисковий

Дисковий

Дисковий

Рис. 5.5.5. Топологія ×

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

кластера

кластера

кластера

кластера

Дисковий

Дисковий

Дисковий

Дисковий

Рис. 5.5.6. Топологія з повністю роздільним доступом

Топологія з повністю роздільним доступом допускає з'єднання кожного дискового масиву лише з одним вузлом кластера (мал. 5.5.6 ). Рекомендується лише додатків, котрим характерна архітектура повністю роздільного доступу.

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

1. Дайте визначення кластерної обчислювальної системи.

2. Назвіть основні переваги та недоліки кластерних обчислювальних систем.

3. Які класифікації кластерних обчислювальних систем ви

4. Які топології кластерних систем вам відомі? Назвіть їх переваги та недоліки.

Література

1. Архітектури та топології багатопроцесорних обчислювальних систем / А.В. Богданов, В.В. Корхів, В.В. Марєєв, Є.М. Станкова. – М.: ІНТУІТ.РУ, 2004. – 176 с.

2. Мікропроцесорні системи: навч. посібник для вузів /

Є.К. Александров, Р.І. Грушвицький, М.С. Купріянов та ін; за ред. Д.В. Пузанкова . – СПб.: Політехніка, 2002. – 935 с.

(До речі, при цьому є можливість зібрати недорогий і ефективний кластер з xbox 360 або PS3, процесори там приблизно як Power, і на мільйон можна купити не одну приставку.)

Тому відзначимо цікаві за ціною варіанти побудови високопродуктивної системи. Зрозуміло, вона має бути багатопроцесорною. Intel для таких завдань використовуються процесори Xeon, у AMD - Opteron.

Якщо багато грошей


Окремо відзначимо дуже дорогу, але продуктивну лінійку процесорів на сокеті Intel Xeon LGA1567.
Топовий процесор цієї серії – E7-8870 із десятьма ядрами 2,4 ГГц. Його ціна $4616. Для таких CPU фірми HP та Supermicro випускають! восьмипроцесорні! серверні шасі. Вісім 10-ядерних процесорів Xeon E7-8870 2.4 ГГц із підтримкою HyperThreading підтримують 8*10*2=160 потоків, що у диспетчері завдань Windows відображається як сто шістдесят графіків завантаження процесорів, матрицею 10x16.

Для того, щоб вісім процесорів вмістилися в корпусі, їх розміщують не відразу материнської плати, але в окремих платах, які втикаються в материнську плату. На фотографії показані встановлені в материнську плату чотири плати із процесорами (по дві на кожній). Це рішення Supermicro. У рішенні HP кожен процесор доводиться своя плата. Вартість рішення HP складає два-три мільйони, залежно від наповнення процесорами, пам'яттю та іншим. Шасі від Supermicro коштує $10 000, що привабливіше. Крім того в Supermicro можна поставити чотири співпроцесорні плати розширення в порти PCI-Express x16 (до речі, ще залишиться місце для Infiniband-адаптера щоб збирати кластер з таких), а в HP лише дві. Таким чином, для створення суперкомп'ютера восьмипроцесорна платформа від Supermicro привабливіша. На наступному фото з виставки представлений суперкомп'ютер у зборі із чотирма GPU платами.


Однак це дуже дорого.
Що подешевше
Зате є перспектива складання суперкомп'ютера на більш доступних процесорах AMD Opteron G34, Intel Xeon LGA2011 та LGA 1366.

Щоб обрати конкретну моделья склав таблицю, в якій порахував для кожного процесора показник ціна/(число ядер*частота). Я відкинув з розрахунку процесори частотою нижче 2 ГГц, і для Intel – з шиною нижче 6,4 GT/s.

Модель
Кількість ядер
Частота
Ціна, $
Ціна/ядро, $
Ціна/Ядро/ГГц
AMD





6386 SE
16
2,8
1392
87
31
6380
16
2,5
1088
68
27
6378
16
2,4
867
54
23
6376
16
2,3
703
44
19
6348
12
2,8
575
48
17
6344
12
2,6
415
35
13
6328
8
3,2
575
72
22
6320
8
2,8
293
37
13
INTEL





E5-2690
8
2,9
2057
257
89
E5-2680
8
2,7
1723
215
80
E5-2670
8
2,6
1552
194
75
E5-2665
8
2,4
1440
180
75
E5-2660
8
2,2
1329
166
76
E5-2650
8
2
1107
138
69
E5-2687W
8
3,1
1885
236
76
E5-4650L
8
2,6
3616
452
174
E5-4650
8
2,7
3616
452
167
E5-4640
8
2,4
2725
341
142
E5-4617
6
2,9
1611
269
93
E5-4610
6
2,4
1219
203
85
E5-2640
6
2,5
885
148
59
E5-2630
6
2,3
612
102
44
E5-2667
6
2,9
1552
259
89
X5690
6
3,46
1663
277
80
X5680
6
3,33
1663
277
83
X5675
6
3,06
1440
240
78
X5670
6
2,93
1440
240
82
X5660
6
2,8
1219
203
73
X5650
6
2,66
996
166
62
E5-4607
6
2,2
885
148
67
X5687
4
3,6
1663
416
115
X5677
4
3,46
1663
416
120
X5672
4
3,2
1440
360
113
X5667
4
3,06
1440
360
118
E5-2643
4
3,3
885
221
67

Жирним курсивом виділена модель з мінімальним показником співвідношення, підкресленим - найпотужніший AMD і, на мій погляд, найбільш близький за продуктивністю Xeon.

Таким чином, мій вибір процесорів для суперкомп'ютера – Opteron 6386 SE, Opteron 6344, Xeon E5-2687W та Xeon E5-2630.

Материнські плати

PICMG
На звичайні материнські плати неможливо поставити понад чотири двослотові плати розширення. Є й інша архітектура – ​​використання крос-плат, таких як BPG8032 PCI Express Backplane.


У таку плату ставляться плати розширення PCI Express і одна процесорна плата, чимось схожа на ті, що встановлені у восьмипроцесорних серверах на базі Supermicro, про які йшлося вище. Але ці процесорні плати підпорядковуються галузевим стандартам PICMG. Стандарти розвиваються повільно і такі плати часто не підтримують найсучасніші процесори. Максимум такі процесорні плати зараз випускають на два Xeon E5-2448L – Trenton BXT7059 SBC.

Коштуватиме така система без GPU не менше $5000.

Готові платформи TYAN
За ту ж суму можна придбати готову платформу для складання суперкомп'ютерів TYAN FT72B7015 . У такій можна встановити до восьми GPU та два Xeon LGA1366.
«Звичайні» серверні материнські плати
Для LGA2011
Supermicro X9QR7-TF - на цю материнську плату можна встановити 4 Плати розширення та 4 процесори.

Supermicro X9DRG-QF - ця плата спеціально розроблена для збирання високопродуктивних систем.

Для Opteron
Supermicro H8QGL-6F - ця плата дозволяє встановити чотири процесори та три плати розширення

Посилення платформи платами розширення

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

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

FP32, Tflops FP64, Tflops Ціна Пам'ять, Гб
Nvidia Tesla K20X 3.95 1.31 5.5 6
AMD FirePro S10000 5.91 1.48 3.6 6
Intel Xeon Phi 5110P 1 2.7 8
Nvidia GTX Titan 4.5 1.3 1.1 6
Nvidia GTX 680 3 0.13 0.5 2
AMD HD 7970 GHz Edition 4 1 0.5 3
AMD HD 7990 Devil 13 2x3,7 2х0.92 1.6 2x3

Топове рішення від Nvidia називається Tesla K20X на архітектурі Kepler. Саме такі карти стоять у найпотужнішому у світі суперкомп'ютері Titan. Проте недавно Nvidia випустила відеокарту Geforce Titan. Старі моделі були з урізаною продуктивністю FP64 до 1/24 від FP32 (GTX680). Але у Титані виробник обіцяє досить високу продуктивність у розрахунках із подвійною точністю. Рішення від AMD теж хороші, але вони побудовані на іншій архітектурі і це може зробити проблеми для запуску обчислень, оптимізованих під CUDA (технологія Nvidia).

Рішення від Intel - Xeon Phi 5110P цікаво тим, що всі ядра в співпроцесорі виконані на архітектурі x86 і не потрібна особлива оптимізація коду для запуску розрахунків. Але мій лідер серед співпроцесорів – відносно дешева AMD HD 7970 GHz Edition. Теоретично ця відеокарта покаже максимальну продуктивність для вартості.

Можна з'єднати у кластер

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

Використовувати як мережний інтерфейс для зв'язку комп'ютерів звичайний гігабітний Ethernet дуже повільно. Для цих цілей найчастіше використовують Infiniband. Хост адаптер Infiniband щодо сервера коштує недорого. Наприклад, на міжнародному аукціоні Ebay такі адаптери продають за ціною від $40. Наприклад, адаптер X4 DDR (20Gb/s) обійдеться з доставкою до Росії приблизно $100.

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

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

Скільки потрібно відеокарт

У найпотужнішому суперкомп'ютері сучасності Cray Titan ставлення процесорів до «відеокартів» 1:1, тобто у ньому 18688 16-ядерних процесорів та 18688 Tesla K20X.

У Тяньхе-1А – китайському суперкомп'ютері на ксеонах ставлення таке. Два шестиядерного процесорадо однієї «видюшке» Nvidia M2050 (слабше, ніж K20X).

Таке ставлення ми й приймемо для наших збірок за оптимальне (бо дешевше). Тобто 12-16 ядер процесорів на один GPU. На таблиці нижче жирним позначені практично можливі варіанти, підкресленням – найбільш вдалі на мою думку.

GPU Cores 6-core CPU 8-core CPU 12-core CPU 16-core CPU
2 24 32 4
5
3
4
2
3
2
2
3 36 48 6
8
5
6
3
4
2
3
4 48 64 8
11
6
8
4
5
3
4

Якщо система з встановленим ставленням процесорів/відеокарт зможе прийняти «на борт» ще додатково обчислювальних пристроїв, то ми їх додамо, щоб збільшити потужність збирання.

Отже, скільки коштує

Нижче наведені варіанти - шасі суперкомп'ютера без оперативної пам'яті, жорстких дисків і ПЗ. У всіх моделях використається відеоадаптер AMD HD 7970 GHz Edition. Його можна замінити іншою, на вимогу завдання (наприклад, xeon phi). Там, де система дозволяє, одна з AMD HD 7970 GHz Edition замінена на трислотову AMD HD 7990 Devil 13.
Варіант 1 на материнській платі Supermicro H8QGL-6F


Материнська плата Supermicro H8QGL-6F 1 1200 1200
Процесор AMD Opteron 6344 4 500 2000
Кулер Процесора Thermaltake CLS0017 4 40 160
Корпус 1400Вт SC748TQ-R1400B 1 1000 1000
Графічний прискорювач AMD HD 7970 GHz Edition 3 500 1500
5860

Теоретично, продуктивність становитиме близько 12 Tflops.
Варіант 2 на материнській платі TYAN S8232, кластерний


Ця плата не підтримує Opteron 63xx, тому використовується 62xx. У цьому варіанті два комп'ютери об'єднані в кластер Infiniband x4 DDR двома кабелями. Теоретично швидкість з'єднання в цьому випадку впорається в швидкість PCIe x8 тобто 32Гб/с. Блоків живлення використовують два. Як їх узгодити між собою можна знайти в інтернеті.
Кількість Ціна Сума
Материнська плата TYAN S8232 1 790 790
Процесор AMD Opteron 6282SE 2 1000 2000
Кулер Процесора Noctua NH-U12DO A3 2 60 120
Корпус Antec Twelve Hundred Black 1 200 200
Блок живлення FSP AURUM PRO 1200W 2 200 400
Графічний прискорювач AMD HD 7970 GHz Edition 2 500 1000
Графічний прискорювач AX7990 6GBD5-A2DHJ 1 1000 1000
Infiniband адаптер X4 DDR Infiniband 1 140 140
Infiniband кабель X4 DDR Infiniband 1 30 30
5680 (за один блок)

Для кластера таких конфігурацій потрібно дві і вартість їх становитиме $11360 . Його енергоспоживання за повного навантаження буде близько 3000Вт. Теоретично, продуктивність становитиме до 31Tflops.

Високопродуктивний кластер (група комп'ютерів)

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

Основні характеристики кластерів

Кластери складаються з кількох комп'ютерних систем;

Вони працюють як одна обчислювальна система (не всі);

Кластер управляється і представляється користувачеві як одна обчислювальна система;

Навіщо потрібні кластери

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

Які бувають кластери

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

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

Дані кластера можуть бути побудовані за трьома основними принципами

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

Кластер розподілу навантаження

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

Обчислювальні кластери

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

Не забуваємо залишати

(До речі, при цьому є можливість зібрати недорогий і ефективний кластер з xbox 360 або PS3, процесори там приблизно як Power, і на мільйон можна купити не одну приставку.)

Тому відзначимо цікаві за ціною варіанти побудови високопродуктивної системи. Зрозуміло, вона має бути багатопроцесорною. Intel для таких завдань використовуються процесори Xeon, у AMD - Opteron.

Якщо багато грошей


Окремо відзначимо дуже дорогу, але продуктивну лінійку процесорів на сокеті Intel Xeon LGA1567.
Топовий процесор цієї серії – E7-8870 із десятьма ядрами 2,4 ГГц. Його ціна $4616. Для таких CPU фірми HP та Supermicro випускають! восьмипроцесорні! серверні шасі. Вісім 10-ядерних процесорів Xeon E7-8870 2.4 ГГц з підтримкою HyperThreading підтримують 8*10*2=160 потоків, що у диспетчері завдань Windows відображається як сто шістдесят графіків завантаження процесорів, матрицею 10x16.

Щоб вісім процесорів вмістилися в корпусі, їх розміщують не відразу на материнській платі, а на окремих платах, які встромляються в материнську плату. На фотографії показані встановлені в материнську плату чотири плати із процесорами (по дві на кожній). Це рішення Supermicro. У рішенні HP кожен процесор доводиться своя плата. Вартість рішення HP складає два-три мільйони, залежно від наповнення процесорами, пам'яттю та іншим. Шасі від Supermicro коштує $10 000, що привабливіше. Крім того в Supermicro можна поставити чотири співпроцесорні плати розширення в порти PCI-Express x16 (до речі, ще залишиться місце для Infiniband-адаптера щоб збирати кластер з таких), а в HP лише дві. Таким чином, для створення суперкомп'ютера восьмипроцесорна платформа від Supermicro привабливіша. На наступному фото з виставки представлений суперкомп'ютер у зборі із чотирма GPU платами.


Однак це дуже дорого.
Що подешевше
Зате є перспектива складання суперкомп'ютера на доступніших процесорах AMD Opteron G34, Intel Xeon LGA2011 і LGA 1366.

Щоб вибрати конкретну модель, я склав таблицю, де порахував для кожного процесора показник ціна/(число ядер*частота). Я відкинув з розрахунку процесори частотою нижче 2 ГГц, і для Intel – з шиною нижче 6,4 GT/s.

Модель
Кількість ядер
Частота
Ціна, $
Ціна/ядро, $
Ціна/Ядро/ГГц
AMD





6386 SE
16
2,8
1392
87
31
6380
16
2,5
1088
68
27
6378
16
2,4
867
54
23
6376
16
2,3
703
44
19
6348
12
2,8
575
48
17
6344
12
2,6
415
35
13
6328
8
3,2
575
72
22
6320
8
2,8
293
37
13
INTEL





E5-2690
8
2,9
2057
257
89
E5-2680
8
2,7
1723
215
80
E5-2670
8
2,6
1552
194
75
E5-2665
8
2,4
1440
180
75
E5-2660
8
2,2
1329
166
76
E5-2650
8
2
1107
138
69
E5-2687W
8
3,1
1885
236
76
E5-4650L
8
2,6
3616
452
174
E5-4650
8
2,7
3616
452
167
E5-4640
8
2,4
2725
341
142
E5-4617
6
2,9
1611
269
93
E5-4610
6
2,4
1219
203
85
E5-2640
6
2,5
885
148
59
E5-2630
6
2,3
612
102
44
E5-2667
6
2,9
1552
259
89
X5690
6
3,46
1663
277
80
X5680
6
3,33
1663
277
83
X5675
6
3,06
1440
240
78
X5670
6
2,93
1440
240
82
X5660
6
2,8
1219
203
73
X5650
6
2,66
996
166
62
E5-4607
6
2,2
885
148
67
X5687
4
3,6
1663
416
115
X5677
4
3,46
1663
416
120
X5672
4
3,2
1440
360
113
X5667
4
3,06
1440
360
118
E5-2643
4
3,3
885
221
67

Жирним курсивом виділена модель з мінімальним показником співвідношення, підкресленим - найпотужніший AMD і, на мій погляд, найбільш близький за продуктивністю Xeon.

Таким чином, мій вибір процесорів для суперкомп'ютера – Opteron 6386 SE, Opteron 6344, Xeon E5-2687W та Xeon E5-2630.

Материнські плати

PICMG
На звичайні материнські плати неможливо поставити понад чотири двослотові плати розширення. Є й інша архітектура – ​​використання крос-плат, таких як BPG8032 PCI Express Backplane.


У таку плату ставляться плати розширення PCI Express і одна процесорна плата, чимось схожа на ті, що встановлені у восьмипроцесорних серверах на базі Supermicro, про які йшлося вище. Але ці процесорні плати підпорядковуються галузевим стандартам PICMG. Стандарти розвиваються повільно і такі плати часто не підтримують найсучасніші процесори. Максимум такі процесорні плати зараз випускають на два Xeon E5-2448L – Trenton BXT7059 SBC.

Коштуватиме така система без GPU не менше $5000.

Готові платформи TYAN
За ту ж суму можна придбати готову платформу для складання суперкомп'ютерів TYAN FT72B7015 . У такій можна встановити до восьми GPU та два Xeon LGA1366.
«Звичайні» серверні материнські плати
Для LGA2011
Supermicro X9QR7-TF - на цю материнську плату можна встановити 4 Плати розширення та 4 процесори.

Supermicro X9DRG-QF - ця плата спеціально розроблена для збирання високопродуктивних систем.

Для Opteron
Supermicro H8QGL-6F - ця плата дозволяє встановити чотири процесори та три плати розширення

Посилення платформи платами розширення

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

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

FP32, Tflops FP64, Tflops Ціна Пам'ять, Гб
Nvidia Tesla K20X 3.95 1.31 5.5 6
AMD FirePro S10000 5.91 1.48 3.6 6
Intel Xeon Phi 5110P 1 2.7 8
Nvidia GTX Titan 4.5 1.3 1.1 6
Nvidia GTX 680 3 0.13 0.5 2
AMD HD 7970 GHz Edition 4 1 0.5 3
AMD HD 7990 Devil 13 2x3,7 2х0.92 1.6 2x3

Топове рішення від Nvidia називається Tesla K20X на архітектурі Kepler. Саме такі карти стоять у найпотужнішому у світі суперкомп'ютері Titan. Проте недавно Nvidia випустила відеокарту Geforce Titan. Старі моделі були з урізаною продуктивністю FP64 до 1/24 від FP32 (GTX680). Але у Титані виробник обіцяє досить високу продуктивність у розрахунках із подвійною точністю. Рішення від AMD теж хороші, але вони побудовані на іншій архітектурі і це може зробити проблеми для запуску обчислень, оптимізованих під CUDA (технологія Nvidia).

Рішення від Intel - Xeon Phi 5110P цікаво тим, що всі ядра в співпроцесорі виконані на архітектурі x86 і не потрібна особлива оптимізація коду для запуску розрахунків. Але мій лідер серед співпроцесорів – відносно дешева AMD HD 7970 GHz Edition. Теоретично ця відеокарта покаже максимальну продуктивність для вартості.

Можна з'єднати у кластер

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

Використовувати як мережний інтерфейс для зв'язку комп'ютерів звичайний гігабітний Ethernet дуже повільно. Для цих цілей найчастіше використовують Infiniband. Хост адаптер Infiniband щодо сервера коштує недорого. Наприклад, на міжнародному аукціоні Ebay такі адаптери продають за ціною від $40. Наприклад, адаптер X4 DDR (20Gb/s) обійдеться з доставкою до Росії приблизно $100.

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

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

Скільки потрібно відеокарт

У найпотужнішому суперкомп'ютері сучасності Cray Titan ставлення процесорів до «відеокартів» 1:1, тобто у ньому 18688 16-ядерних процесорів та 18688 Tesla K20X.

У Тяньхе-1А – китайському суперкомп'ютері на ксеонах ставлення таке. Два шестиядерні процесори до однієї «видюшки» Nvidia M2050 (слабше, ніж K20X).

Таке ставлення ми й приймемо для наших збірок за оптимальне (бо дешевше). Тобто 12-16 ядер процесорів на один GPU. На таблиці нижче жирним позначені практично можливі варіанти, підкресленням – найбільш вдалі на мою думку.

GPU Cores 6-core CPU 8-core CPU 12-core CPU 16-core CPU
2 24 32 4
5
3
4
2
3
2
2
3 36 48 6
8
5
6
3
4
2
3
4 48 64 8
11
6
8
4
5
3
4

Якщо система з встановленим ставленням процесорів/відеокарт зможе прийняти «на борт» ще додатково обчислювальних пристроїв, то ми їх додамо, щоб збільшити потужність складання.

Отже, скільки коштує

Нижче наведені варіанти - шасі суперкомп'ютера без оперативної пам'яті, жорстких дисків і ПЗ. У всіх моделях використається відеоадаптер AMD HD 7970 GHz Edition. Його можна замінити іншою, на вимогу завдання (наприклад, xeon phi). Там, де система дозволяє, одна з AMD HD 7970 GHz Edition замінена на трислотову AMD HD 7990 Devil 13.
Варіант 1 на материнській платі Supermicro H8QGL-6F


Материнська плата Supermicro H8QGL-6F 1 1200 1200
Процесор AMD Opteron 6344 4 500 2000
Кулер Процесора Thermaltake CLS0017 4 40 160
Корпус 1400Вт SC748TQ-R1400B 1 1000 1000
Графічний прискорювач AMD HD 7970 GHz Edition 3 500 1500
5860

Теоретично, продуктивність становитиме близько 12 Tflops.
Варіант 2 на материнській платі TYAN S8232, кластерний


Ця плата не підтримує Opteron 63xx, тому використовується 62xx. У цьому варіанті два комп'ютери об'єднані в кластер Infiniband x4 DDR двома кабелями. Теоретично швидкість з'єднання в цьому випадку впорається в швидкість PCIe x8 тобто 32Гб/с. Блоків живлення використовують два. Як їх узгодити між собою можна знайти в інтернеті.
Кількість Ціна Сума
Материнська плата TYAN S8232 1 790 790
Процесор AMD Opteron 6282SE 2 1000 2000
Кулер Процесора Noctua NH-U12DO A3 2 60 120
Корпус Antec Twelve Hundred Black 1 200 200
Блок живлення FSP AURUM PRO 1200W 2 200 400
Графічний прискорювач AMD HD 7970 GHz Edition 2 500 1000
Графічний прискорювач AX7990 6GBD5-A2DHJ 1 1000 1000
Infiniband адаптер X4 DDR Infiniband 1 140 140
Infiniband кабель X4 DDR Infiniband 1 30 30
5680 (за один блок)

Для кластера таких конфігурацій потрібно дві і вартість їх становитиме $11360 . Його енергоспоживання за повного навантаження буде близько 3000Вт. Теоретично, продуктивність становитиме до 31Tflops.
Сподобалась стаття? Поділіться з друзями!
Чи була ця стаття корисною?
Так
Ні
Дякую за ваш відгук!
Щось пішло не так і Ваш голос не було враховано.
Спасибі. Ваше повідомлення надіслано
Знайшли у тексті помилку?
Виділіть її, натисніть Ctrl+Enterі ми все виправимо!