Мультипроцесори типу NUMA

Для більшої масштабованості мультипроцесорів пристосована архітектура NUMA (NonUniform Memory Access - з неоднорідним доступом до пам'яті).Як і мультипроцесори UMA, вони забезпечують єдиний адресний простір для всіх процесорів, але, на відміну від машин UMA, доступ до локальних модулів пам'яті відбувається швидше, ніж до віддалених.

Машини NUMA (рис.6.5) мають три ключові характеристики, якими всі вони володіють і які в сукупності відрізняють їх від інших мультипроцесорів:

- існує один адресний простір, видимий для всіх процесорів;

- доступ до віддаленої пам'яті проводиться з використанням команд LOAD і STORE;

- доступ до віддаленої пам'яті відбувається повільніше, ніж доступ до локальної пам'яті.

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

 

Рисунок 6.3 – Комп’ютерна система NUMA з двома рівнями шин

 

В рамках концепції NUMA реалізуються два різні підходи, що позначаються абревіатурами CC-NUMAі NC-NUMA.

Особливості NC-NUMA (No Caching NUMA - NUMA без кешування):

- відсутня кеш-пам'ять. Це означає, що пам'ять гарантовано узгоджена;

- кожне слово пам'яті знаходиться тільки в одному місці (немає копій);

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

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

Недолік:низька розширюваність

Особливості CC-NUMA (Cache Coherent Non-Uniform Memory Architecture):

- наявність кеша у процесорів;

- сумісність кешів на програмному або апаратному рівні.

Способи забезпечення сумісності кешей:

- відстежування системної шини (низька масштабованість, простота технічної реалізації);

- використання каталога (зберігання у БД кеш-рядків у високошвидкісному спеціалізованому апаратному забезпеченні).

На сьогодні максимальне число процесорів в СС-NUMA-системах може перевищувати 1000 (серія OrigIN3000). Один з найбільш продуктивних суперкомп'ютерів - Tera 10 - має продуктивністю 60 Тфлопс і складається з 544 SMP-вузлів, в кожному з яких знаходиться від 8 до 16 процесорів Itanium 2.

6.3 Мультипроцесори типу COMA

Особливості комп’ютерної системи типу COMA:

- локальна пам'ять кожного процесора розглядається як кеш для доступу «свого» процесора;

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

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

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

Переваги: завжди єдина копія даних в швидкому локальному кеші.

Недолік: якщо дані потрібні декільком процесорам, то рядок кеша з даними повинен переміщатися туди і назад при кожному доступі до даних.

 

6.4 Мультипроцесорна комп’ютерна система Sun Enterprise 10000:

Характеристики мультипроцесорної КС Sun Enterprise 10000(рис.6.6):

- архітектура UMA з одного корпусу з 64 процесорами;

- координатний комутатор GIGAPLAHE-XB 16х16 запакований в плату, що містить 8 гнізд з двох боків;

- кожне гніздо вміщує велику плату процесора (40x50 см), що містить 4 процесори ULTRASPARC на 333 Мгц і ОЗУ на 4 Гбайт;

- жорсткі вимоги до синхронізації і малий час очікування;

- доступ до пам'яті поза платою займає стільки ж часу, що і доступ до пам'яті на платі;

- довжина рядка кеш-пам'яті складає 64 байти, а ширина каналу зв'язку складає 16 байтів, тому для переміщення рядка кеш-пам'яті потрібно 4 цикли;

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

Рисунок 6.6 – Мультипроцесор Sun Enterprice 10000

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

 

1 Який ресурс є спільним у процесорів в мультипроцесорних комп’ютерних системах?

2 Чим відрізняється симетричний мультипроцесор від асиметричного?

3 Які види архітектури симетричних мультипроцесорних комп’ютерних систем Вам відомі?

4 Які особливості комп’ютерної системи типу COMA?

5 Які особливості комп’ютерної системи типу NC-NUMA?

6 Які особливості комп’ютерної системи типу CC-NUMA?

 

 

Лекція №7

 

Мультикомп’ютерні комп’ютерні системи

 

7.1 Загальна характеристика мультикомп’ютерних комп’ютерних систем

Мультикомп’ютерна КС містить декілька ЕОМ, кожна з яких має свою оперативну пам’ять (ОП) і працює під управлінням своєї операційної системи, а також засобу обміну інформацією між машинами. Комп'ютери можуть знаходитися поряд один з одним або бути віддаленими, іноді навіть на значну відстань (наприклад, обчислювальні мережі). Реалізація обміну інформацією відбувається шляхом взаємодії операційних систем машин між собою. Це погіршує динамічні характеристики процесів міжмашинного обміну даними.

Мультикомп’ютерні КС використовуються для підвищення продуктивності, надійності і достовірності обчислень (рис.7.1). Історично вони з'явилися перед мультипроцесорними КС.

 

Рисунок 7.1 – Використання мультикомп’ютерних КС

 

Положення 1 і 3 електронних ключів (рис.7.1) забезпечують режим підвищеної надійності. При цьому одна з машин виконує обчислення, а інша знаходилася в “гарячому” або “холодному” резерві, тобто в готовності замінити основну ЕОМ. Положення 2 електронних ключів відповідає випадку, коли обидві машини забезпечують паралельний режим обчислень. Тут можливі дві ситуації:

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

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

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

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

Інформаційна взаємодія комп'ютерів в мультикомп’ютерній КС організовується на наступних рівнях (рис.7.2):

- процессорів;

- оперативної пам'яті;

- каналів зв'язку.

 

Рисунок 7.2 – Мультикомп’ютерна КС

 

На структурному рівні комунікаційне середовище мережі складається з трьох компонентів (рис.7.3):

- адаптерів, що здійснюють інтерфейс між обчислювальною машиною і мережею передачі пакетів;

- комутаторів мережі передачі пакетів;

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

 

Рисунок 7.3 – Комунікаційне середовище мережі в якій працює

мультикомп’ютерна КС

 

7.2 Рівні комплексування у КС

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

Поняття сумісності має три аспекти: апаратний або технічний, програмний і інформаційний.

Технічна (Hardware) сумісність припускає, що ще в процесі розробки апаратури забезпечуються наступні умови:

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

- параметри електричних сигналів, якими обмінюються технічні пристрої, теж повинні відповідати один одному: амплітуди імпульсів, полярність, тривалість і т.д.;

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

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

Якщо пристрої, що обмінюються, ідентичні друг, другу, то проблем зазвичай не виникає. Якщо взаємодіючі пристрої відносяться до одного і того ж сімейства ЕОМ, але з’єднуються різні моделі (наприклад, ПК на базі i286 і Pentium), то в таких моделях сумісність забезпечується “від низу до верху”, тобто раніше створені програми можуть виконуватися на пізніших моделях, але не навпаки. Якщо з’єднувана апаратура має абсолютно різну систему команд, то слід обмінюватися початковими модулями програм з подальшою їх трансляцією.

Інформаційна сумісність комплексуємих засобів припускає, що передані інформаційні масиви однаково інтерпретуватимуться з’єднуваними модулями КС. Повинні бути стандартизовані алфавіти, розрядність, формати, структура і розмітка файлів, томів і т.д.

На рис.7.4 передбачені наступні рівні мультиплексування:

- прямого управління (процесор - процесор);

- загальної оперативнї пам'яті;

- комплексуємі канали введення/виведення;

- пристроїв управління зовнішніми пристроями (УВУ);

- загальних зовнішніх пристроїв.

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

Рисунок 7.4 – Рівні і засоби комплексування