Гомогенні мультикомп'ютерні системи

Матеріал з Вікі ЦДУ
Версія від 09:49, 7 жовтня 2009; Лазаренко Дмитро (обговореннявнесок)

(різн.) ← Попередня версія • Поточна версія (різн.) • Новіша версія → (різн.)
Перейти до: навігація, пошук

Гомогенні мультикомп'ютерні системи

На відміну від мультипроцесорів побудувати мультикомпьютерную систему відносно нескладно. Кожен процесор безпосередньо пов'язаний з своєю локальною пам'яттю. Єдина проблема, що залишилася, — це спілкування процесорів між собою. Зрозуміло, що і тут необхідна якась схема з'єднання, але оскільки нас цікавить тільки зв'язок між процесорами, об'єм трафіку буде на декілька порядків нижче, ніж при використанні мережі для підтримки трафіку між процесорами і пам'яттю. Спочатку ми розглянемо гомогенні мультикомпьютерные системи. У цих системах, відомих під назвою системних мереж (System Area Networks, SAN), вузли вмонтовуються у великій стійці і з'єднуються єдиною, зазвичай високошвидкісною мережею. Як і у попередньому випадку, нам доведеться вибирати між системами на основі шинної архітектури і системами на основі комутації. У мультикомпьютерных системах з шинною архітектурою процесори з'єднуються за допомогою мережі множинного доступу, що розділяється, наприклад Fast Ethernet. Швидкість передачі даних в мережі зазвичай рівна 100 Мбіт/с. Як і у разі мультипроцесорів з шинною архітектурою, мультикомпьютерные системи з шинною архітектурою мають обмежену масштабованість. Залежно від того, скільки вузлів насправді потребують обміну даними, зазвичай не слід чекати високої продуктивності при перевищенні системою межі в 25-100 вузлів. У комутованих мультикомпьютерных системах повідомлення, що передаються від процесора до процесора, маршрутізіруются в сполучній мережі на відміну від прийнятих в шинній архітектурі широкомовних розсилок. Було запропоноване і побудоване безліч різних топологий. Дві популярні топології — квадратні грати і гіперкуби — представлені на рис.3. Грати прості для розуміння і зручні для розробки на їх основі друкарських плат. Вони чудово підходять для вирішення двомірних завдань, наприклад завдань теорії графів або комп'ютерного зору (очі робота, аналіз фотографій).

                                             Image:Al_RH.gif 
                                                       Рис.3. Решітка(а), Гперкуд(б)

Гіперкуб (hypercube) є куб розмірності п. Гіперкуб, показаний на мал. 3, би, четирехмерен. Його можна представити у вигляді двох звичайних кубів, з 8 вершинамі і 12 ребрами кожен. Кожна вершина — це процесор. Кожне ребро — це зв'язок між двома процесорами. Відповідні вершини обох кубів сполучені між собою. Для розширення гіперкуба в п'яте вимірювання ми повинні додати до цієї фігури ще один комплект з двох зв'язаних кубів, з'єднавши відповідні вершини двох половинок фігури. Таким же чином можна створити шестивимірний куб, семимірний і т.д. Комутовані мультікомпиотерниє системи можуть бути дуже різноманітні. На одному кінці спектру лежать процесори з масовим паралелізмом (Massively Parallel Processors, МРР), гігантські суперкомп'ютери вартістю в багато мільйонів доларів, що містять тисячі процесорів. Нерідко вони збираються з тих же процесорів, які використовуються в робочих станціях або персональних комп'ютерах. Від інших мультикомпьютерных систем їх відрізняє наявність патентованих високошвидкісних сполучних мереж. Ці мережі проектуються з розрахунку на малий час затримки і високу пропускну спроможність. Крім того, вживається спеціальним заходам для захисту системи від збоїв. За наявності тисяч процесорів кожного тижня як мінімум декілька виходитимуть з ладу. Не можна допустити, щоб поломка одного з них приводила до висновку з ладу всієї машини. На іншому кінці спектру ми виявляємо популярний тип комутованих мікрокомп'ютерів, відомих як кластери робочих станцій (Clusters Of Workstations, COW), основу яких складають стандартні персональні комп'ютери або робочі станції, сполучені за допомогою комерційних комунікаційних компонентів, таких як карти Myrinet. Сполучні мережі — ось те, що відрізняє COW від МРР. Крім того, зазвичай не вживається ніяким особливим заходам для підвищення швидкості введення-висновку або захисту від збоїв в системі. Подібний підхід робить COW простіше і дешевше.