Архітектура NUMA-Q

Вже на початку цього століття NUMA стане визначальною технологією для Unix- та NT-серверів

Конкуренція над ринком високопродуктивних комп'ютерних систем не слабшає. Серед найбільших подій, що відбулися за останні роки минулого століття на ринку, слід зазначити, наприклад, придбання у 1996 р. корпорацією Silicon Graphics (www.sgi.com) компанії Cray Research, виробника знаменитих векторно-конвеєрних суперкомп'ютерів Cray 1/2/X- MP, а також серій C90 та T3D, попередників нинішніх Cray T90/J90 та T3E. (Щоправда, торік SGI продала торгову марку Cray та частину пов'язаного з нею бізнесу.) Іншим прикладом може бути злиття у 1997 р. корпорації Hewlett-Packard (www.hp.com) та компанії Convex Computer, в результаті якого до сімейства серверів HP 9000 були включені SMP- та NUMA-системи Convex SPP на базі процесорів PA-RISC, попередники сучасних машин V-класу. Не менш значущою була угода, вчинена в 1998 р. Compaq Computer (www.compaq.com) з придбання корпорації Digital Equipment Corporation (DEC) разом із відомою лінією серверів AlphaServer.

процесорів

Сервер IBM NUMA-Q 2000

Спочатку аналітики критикували IBM за те, що вона додає ще одну версію Unix до своїх продуктів, серед яких вже є ОС AIX. У момент покупки корпорація особливо не поширювалася про свої плани щодо NUMA-Q, повідомивши лише про намір інтегрувати архітектуру, створену в Sequent, до інших своїх серверів. Як заявив Роберт Стефенсон (Robert Stephenson), віце-президент IBM та керівник підрозділу IBM Server Group: “NUMA стане визначальною технологією для Unix- та NT-серверів вже на початку XXI століття. Це елегантне рішення поєднує у собі високу масштабованість та легкість управління”. Справді, сервери Sequent дозволяютьNT і Unix працювати однією системі: частина процесорів може бути виділено під завдання Windows NT, частина - під процеси Unix, у своїй можливе поділ даних між завданнями різних ОС. Вважається, що з компанією Sequent пов'язаний один із проривів у комп'ютерних технологіях.

У 1983 р. у Портленді (шт. Орегон) вісімнадцятьма колишніми співробітниками компанії Intel під керівництвом Кейсі Пауелла була організована компанія Sequel. Вона орієнтувалася створення обчислювальних архітектур обслуговування інформаційних технологій у найбільш трудомістких сферах роботи з ділової інформацією - оперативної обробці транзакцій, системах підтримки прийняття рішень та ділових комунікаціях. На початку 80-х найбільш важкі завдання вирішувалися на мейнфреймах, а ця компанія поставила собі за мету побудову такої обчислювальної платформи, яка істотно перевершить можливості однопроцесорних систем, але при цьому базуватиметься на найпоширеніших і недорогих процесорах від Intel.

Sequel, перейменована в 1987 р. в Sequent Computer Systems, реалізувала першу SMP-версію ОС Unix, що має незалежну від процесора архітектуру, а в травні того ж року анонсувала першу комп'ютерну систему Symmetry (Unix SMP), масштабовану до 30 процесорів Intel. Перша ОС SMP Unix компанії Sequent називалася DYNIX і була випущена у розвиток BSD 4.2. У 1990 р. Sequent випустила для своїх машин на основі Unix System V нову версію ОС – DYNIX/ptx. На вимогу підвищити надійність систем компанія Sequent відповіла створенням 1992 р. кластерів для Unix. Крім того, вона небезуспішно вирішувала одну з головних проблем архітектури SMP – подолання бар'єру масштабованості у 30 процесорів, піднявши за допомогою архітектури NUMA планку майже на порядок.

Як відомо, NUMA (Non-UniformMemory Access) - це архітектура, що використовується в багатопроцесорних системах, де час доступу залежить від географічного розташування пам'яті. Процесор може працювати з власною локальною пам'яттю набагато швидше, ніж з нелокальною, яка своєю чергою є локальною для іншого процесора або розділяється між декількома пристроями. Багатопроцесорна архітектура SMP (Symmetric Multi Processing) дозволяє кілька кристалів зв'язати в одну систему, об'єднавши їхню обчислювальну потужність. Ключовим поняттям багатопроцесорних архітектур є вузол - обчислювальна система, що складається з одного або кількох процесорів, що має оперативну пам'ять та систему введення-виведення. Вузол характеризується тим, що у ньому працює єдина копія ОС. Зазвичай SMP-вузол містить щонайменше двох однакових процесорів, використовуваних рівноправно. Процесори SMP взаємодіють один з одним за допомогою так званої міжшинної шини і використовують загальний пул пам'яті. У разі збільшення в сервері числа процесорів зростає і трафік на цій шині. При значному зростанні цього числа пропускна спроможність системи суттєво знижується.

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

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

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

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

- на основі довідника (directory based). Інформація про стан блоку фізичної пам'яті міститься тільки в одному місці, яке називається довідником (фізично довідник може бути розподілений по вузлах системи);

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

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

Концепція NUMA-Q включає системну архітектуру, що еволюціонувала з традиційної SMP, апаратне забезпечення високої доступності, програмні засоби і спеціалізовані рішення для різних областей діяльності. Роки успішної роботи систем NUMA-Q на найбільших підприємствах світу довели, що ця архітектура є однією з найкращих платформ для створення центрів обробки даних. Серед користувачів систем NUMA-Q такі компанії як Boeing Company, Burlington Coat Factory, eToys, Hollywood Entertainment, Carlson Hospitality та ін.

З погляду апаратного забезпечення концепція NUMA-Q сьогодні представлена ​​системами NUMA-Q 2000 та NUMACenter. Нагадаємо, що відповідно до програми "ребрендингу", яку корпорація IBM оголосила минулого року, сервери NUMA-Q тепер відносяться до лінійки eServer xSeries. Так, IBM NUMA-Q 2000 Model E410 – це вже третє покоління

NUMA-Q, вперше представленої в 1996 р. Система включає до 16 кводів, або 64 процесори Pentium III Xeon 700 МГц з розміром кеш-пам'яті 1 або 2 Мб (попередня модель E330 працювала з процесорами 550 МГц). За даними IBM, модель E410 приблизно на 50% дешевша, ніж порівняні за потужністю системи Sun Microsystems і Hewlett-Packard, а загальна вартість користування (TCO) протягом трьох років у неї менша майже на 40%. ІнновацієюIBM є реалізація IQ-Link з урахуванням стандартного інтерфейсу IEEE SCI (Scalable Coherent Interface). Взагалі кажучи, моделі E410 можна використовувати як IQ-Link, так і недороге рішення DL2, що забезпечує зв'язок тільки двох кводів (8 процесорів). В обох випадках підтримується до 8 Гб пам'яті на квод.

За допомогою програмного забезпечення кластеризації IBM можна зв'язати один з одним до чотирьох 64-процесорних серверів. Максимальна загальна пам'ять при цьому становитиме 256 Гб, і, як стверджують представники корпорації, продуктивність такої системи зі збільшенням числа вузлів зростатиме практично лінійно. Подібного рівня масштабованості та готовності вдалося досягти за рахунок застосування багатоканальної схеми вводу-виводу та мережі зберігання на основі міжз'єднань Fibre Channel, побудованої за принципом матриці, що комутує. Разом ці технології утворюють платформу, де відсутня єдина точка збою. Продуктивність додатково підвищується за рахунок можливості прямого багатопортового підключення до IBM Enterprise Storage Server (Shark), що гарантує рівномірний розподіл операцій вводу-виводу по всіх портах.

IBM NUMACenter - це рішення для роботи з комерційними програмами в інформаційному середовищі підприємства. NUMACenter, що інтегрує в собі сучасні технологічні промислові стандарти, може стати базою для електронного бізнесу. Ця потужна система легко адаптується до зміни ОС, комп'ютерних вузлів, різноманітних вимог клієнтів, підтримує розподіл ресурсів та технології Web. Вона працює під керуванням ОС DYNIX/ptx та Microsoft Windows NT (або Windows 2000). Зазначимо, що ОС DYNIX/ptx є частиною проекту Monterey та підтримує всі технології, в ньому реалізовані, такі, наприклад, як 64-розрядніобчислення на платформі процесорів Intel із архітектурою IA-64.

Подальший розвиток архітектури NUMA пов'язаний з роботами зі створення свого роду обчислювальних суперфабрик, які практично не мають обмежень щодо масштабування. Зокрема, розробка сервера під кодовою назвою Regata дозволить об'єднати до 256 процесорів на базі архітектур IA-32, IA-64 та Power4.