Магістралі для кластерів: гонки на виживання

СУПЕРКОМП'ЮТЕРИ

Епоха панування симетричних мультипроцесорних систем (Symmetric MultiProcessing) в сегменті високопродуктивних обчислювальних комплексів закінчена. Це стало ясно кілька років тому - в червневому 2002 р рейтингу п'ятисот найпотужніших суперкомп'ютерів світу, опублікованому на сайті top500.org, було представлено всього три SMP-системи. У тому ж рейтингу, якщо порівнювати його з попереднім, було відзначено майже дворазове збільшення присутності кластерних систем - їх у списку налічувалося 81, або 16,8% від загального числа. Кожен наступний рейтинг, а вони публікуються двічі на рік, лише підтверджував цю тенденцію. У листопадовому рейтингу 2005-го системи, побудовані на базі кластерної архітектури, складають вже 72,0% когорти кращих з кращих, в той час як для SMP-систем рейтинг трирічної давності став останнім, в який їм вдалося потрапити.

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

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

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

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

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

Найбільш важливими характеристиками є:

- пропускна здатність каналу (bandwidth) - кількість інформації, що передається в одиницю часу. Варіюється в залежності від розміру пакета передачі. При невеликому розмірі - в більшій мірі залежить від latency (див. Нижче);

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

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

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

12-портовий комутатор Cisco SFS 3001 Infiniband

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

надійний економкласс

Завдяки своїй низькій вартості Ethernet за популярністю є фактичним лідером серед мережевих технологій протягом багатьох років. Не дивно, що понад 49% систем з вищезгаданого рейтингу використовують в якості середовища межсоединения Gigabit Ethernet.

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

Значні затримки в передачу даних вносить виконання алгоритмів по обробці таблиць маршрутизації. А реалізація стека TCP / IP, включаючи копіювання інформації, що передається через проміжний буфер ОС, витрачає крім того ще й процесорні ресурси. При цьому інтенсивний трафік здатний значно завантажити процесор, що може уповільнити роботу основного додатка. З іншого боку, зайнятість процесорів обробкою завдань програми вносить додаткові затримки в процес прийому / передачі інформації. Затримки при використанні технології Gigabit Ethernet досить високі, залежать від апаратної реалізації мережевого інтерфейсу і варіюються від 30 до 90 мкс.

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

На крейсерських швидкостях за цінами бізнес-класу

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

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

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

У числі фірмових інтерфейсів можна згадати такі, як HyperFabric2 і ServerNet II від HP, Switch II від IBM, NUMAlink від SGI, Sun Fire Link від SUN. Незважаючи на відмінні характеристики, використання технологій межсоединения цієї категорії обмежено - часто вони можуть експлуатуватися лише на апаратних комплексах виробників інтерфейсів і з застосуванням їх же програмного стека. На даний момент намічається тенденція переходу великих виробників на широку підтримку більш дешевих відкритих стандартів.

З усіх технологій, заснованих на відкритих стандартах, найперспективнішими вважаються Myrinet, Infiniband і все той же Ethernet. Тут можна згадати ще QsNet II від Quadrics і SCI від Sun, які мають трохи кращі якісні характеристики в порівнянні з Myrinet, Infiniband і Ethernet (затримка QsNet II становить всього 1,6 мкс, і це найкращий показник серед всіх розглянутих межсоединений), але з -за проблем з масштабністю, недостатню гнучкість і високу ціну (що особливо справедливо для QsNet) вони навряд чи можуть претендувати на широке практичне застосування в майбутньому.

Myrinet - вже класика?

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

Myrinet був створений в 1994 р компанією Myricom, яка до цього дня є єдиним виробником обладнання для мереж цього типу (незважаючи на те що Myrinet c 1998 го став ANSI-стандартом). Проте, як уже було сказано вище, ця технологія дуже затребувана при побудові високопродуктивних обчислювальних комплексів і пропонується як опція багатьма великими виробниками. На фізичному рівні з'єднання Myrinet є два оптичних кабелю, що підключаються до системи за допомогою одного роз'єму.

Мережа будується за принципом дерева з використанням нескладних 8/16-портових комутаторів, необтяжених завданням розрахунку маршрутизації. Кожен вузол мережі, побудованої на базі цієї технології, повинен "знати" всю топологію мережевого дерева, тому мережа повинна бути досить статичною. Максимальне число вузлів в мережі - 1024.

Темна конячка на ім'я Infiniband

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

Для створення нового стандарту в серпні 1999 р в результаті об'єднання двох окремих груп була створена асоціація, яка зібрала таких великих виробників, як Intel, Sun, Dell, IBM, HP, Compaq ...

Стандарт Infiniband був народжений з прицілом на безліч цілей і вніс з собою нове поняття - системна мережа (System Area Network). Воно має на увазі щодо локальну мережу, розроблену для високошвидкісного обміну даними між серверами (наприклад, між вузлами кластера або сервером бази даних і сервером додатків), між серверами і пристроями зберігання (як якась заміна мереж зберігання даних Storage Area Network).

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

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

В даний час стандарт передбачає роботу на трьох швидкостях - в залежності від кількості контактів на фізичному рівні. Базовий (1x) рівень має чотири контакти і забезпечує передачу на швидкості 2,5 Гбіт / с. З'єднання 4x і 12x мають відповідно 16 і 48 контактів і швидкості 10 і 30 Гбіт / с. Стандарт Infiniband підтримує з'єднання як за допомогою мідного кабелю (до 10 м), так і за допомогою оптики (до 10 км). Кожна підмережа, об'єднана за допомогою комутаторів Infiniband, може містити до 48 тис. Вузлів. Для об'єднання підмереж використовуються маршрутизатори.

На поточний момент IP є "королем" серед протоколів загального призначення, а тому не дивно, що підтримка IP реалізована і для Infiniband - IP over Infiniband, або IPoIB. Однак "завдяки" своїй природі IP далекий від можливості використовувати ті переваги, які надають виробники Infiniband сьогодні. Стандарт Infiniband пропонує власний протокол для роботи через сокети - Socket Direct Protocol. Перевагою SDP є те, що він використовує реалізовану на рівні апаратури надійність передачі даних, тим самим виключається необхідність здійснення цих функцій на рівні програмного стека, що, природно, економить і час, і системні ресурси. Через SDP реалізований віддалений прямий доступ до пам'яті (Remote Direct Memory Access), що дозволяє з додатком з одного комп'ютера поміщати інформацію в пам'ять іншого без додаткової обробки на вузлах, що значно скорочує затримки передачі.

Інша цікава можливість Infiniband - режим OS Bypass. В цьому режимі ресурси адаптера Infiniband асоціюються безпосередньо з призначеним для користувача процесом - за рахунок цього додаток може обмінюватися даними безпосередньо з апаратним забезпеченням, що виключає витрати, пов'язані зі зверненнями до ОС. На даний момент існують два API для роботи в цьому режимі: uDAPL і ITAPI.

Технологія Infiniband забезпечує низькі затримки при використанні "рідних" протоколів передачі - в залежності від програми від 5 до 10 мкс. У разі IPoIB цей показник гірший в два-три рази.

На швидкостях 10Gb - Ethernet назавжди?

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

Черговий виток розвитку стандарту - поява 10 Gigabit Ethernet. У спадок від попередньої версії 10-гігабітний Ethernet отримав всі достоїнства і недоліки. Головними перевагами можна назвати можливість роботи спільно з попередніми поколіннями Ethernet, високу мобільність і всюдисущий TCP / IP. Основні недоліки - відносно великі затримки і високе завантаження процесора. А оскільки для передачі даних зі швидкістю 1 Мбіт / с по Ethernet потрібно процесор з тактовою частотою не менше 1 МГц, потужності сучасного процесора явно недостатньо для обробки трафіку на максимальних швидкостях, що пропонуються даним стандартом. Це не могло додати впевненості в майбутньому технології Ethernet. До того ж особливості алгоритмів TCP / IP, що включають багаторазовий доступ і копіювання одних і тих же даних, створюють ще одне вузьке місце - доступ до пам'яті. Зусилля ентузіастів Ethernet були спрямовані на реалізацію засобів, що дозволяють скоротити ці витрати.

Перш за все це спроба часткового або навіть повного перенесення обробки стека TCP / IP на хост-адаптер. І якщо перенесення частини процесингу (зокрема, розрахунку контрольних сум IP-пакетів) вдалося вирішити досить легко, то завдання-максимум довгий час була недосяжна для розробників хост-адаптерів. За оцінками експертів, подібний перенесення на увазі істотне "обваження" адаптерів, в тому числі і за рахунок дорогої "швидкої" пам'яті. Слід ще сказати, що пересування IP-стека під контроль хост-адаптера вимагає зміни коду системного ПО і підтримки з боку ОС. Однак останні розробки деяких компаній, що пропонують оригінальні рішення даної проблеми, вселяють певний оптимізм, а самі компанії поспішають рапортувати про фантастичні результати.

Цікаво, що розробники Ethernet, підстібаються агресивним наступом Infiniband, без сорому запозичили у конкурентів деякі ключові ідеї. Одна з них - реалізація фізичного рівня передачі на "міді". Стандарт C4X, раніше використовувався тільки в Infiniband, істотно здешевив обладнання Ethernet 10 Gbps, вироблене до цього тільки для передачі в середовищі волоконно-оптичних каналів. Інша - розробка стандарту RDMA для Ethernet.

Адаптер 10 Gigabit Ethernet виробництва Chelsio Communications

Поки перераховані інновації не знайшли відображення в масовому виробництві, хост-адаптери Ethernet 10 Gbps мають досить високу ціну, яка коливається біля кордону в 1000 дол.

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

Як щодо універсалу?

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

Набір таких адаптерів - це не тільки цілий "зоопарк" всередині комп'ютера, але і складна мережева інфраструктура.

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

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

Не поступається, а в чомусь навіть і перевершує конкурента Infiniband. По-перше, завдяки підтримці стека TCP / IP робота з протоколом iSCSI мається на увазі як би сама собою. По-друге, деякі виробники дискових масивів (зокрема, Engenio Information Technologies і Verari Systems) почали випуск пристроїв зберігання з можливістю підключення до мережі Infiniband. І по-третє, на ринку з'явилися універсальні мости-комутатори, які мають в своєму складі як порти Infiniband, так і порти для підключення пристроїв Ethernet і / або Fiber Channel, а також оснащені програмним забезпеченням для взаємного конвертування протоколів різних середовищ - зараз, наприклад, такі пристрої на ринку пропонують Cisco і SilverStorm.

Висновок

Ця гонка без фінішної межі. Одні гравці зійдуть з дистанції, інші залишаться на ній, з'являться нові. А поки противники "б'ють" один одного все новими і новими аргументами. Не так давно компанія Myrinet оголосила про створення стандарту, що дозволяє працювати на швидкості 10 Гбіт / с з використанням середовища передачі Ethernet 10Gb, що дає можливість створювати мережеві адаптери з підтримкою обох стандартів. У свою чергу, розробники Infiniband в самому найближчому майбутньому обіцяють збільшити швидкість до 120 Гбіт / с, а затримки "загнати" в межі 1 мкс.

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

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

З автором статті, старшим консультантом Oracle СНД по кластерним технологіям і системам високої доступності, можна зв'язатися по електронній пошті: vladimir.demkin @ oracle.com.

Версія для друку

Тільки зареєстровані Користувачі могут залішаті Коментарі.

Myrinet - вже класика?
На швидкостях 10Gb - Ethernet назавжди?
Як щодо універсалу?