200 likes | 412 Views
Тернопільський Національний Економічний Університет Факультет комп'ютерних інформаційних технологій Кафедра Інформаційно обчислювальних систем та управління. Тема 2. Основні класи сучасних паралельних комп'ютерів. Високопродуктивні комп’ютерні системи. Викладач: д.т.н., проф. Саченко А.О.
E N D
Тернопільський Національний Економічний Університет Факультет комп'ютерних інформаційних технологій Кафедра Інформаційно обчислювальних систем та управління Тема 2. Основні класи сучасних паралельних комп'ютерів Високопродуктивні комп’ютерні системи Викладач: д.т.н., проф. Саченко А.О. Тернопіль 2006
Зміст лекції • Симетричні мультипроцесорні системи (SMP) • Масивно-паралельні системи (МРР) • Системи з неоднорідним доступом до пам'яті (NUMA) • Паралельно-векторні системи (PVP) • Кластерні системи
1. Симетричні мультипроцесорні системи (SMP) Характеристика симетричного багатопроцесорного вузла (SMP): • вузол містить два або більше однакових рівноправно використовуваних процесорів; • всі процесори мають однаковий доступ до обчислювальних ресурсів вузла; • наявність механізму підтримки когерентності даних.
Механізм когерентності • Когерентність даних означає, що у будь-який момент часу для кожного елементу даних у всій пам'яті вузла існує тільки одне його значення. • У сучасній SMP-архітектурі когерентність реалізується апаратними засобами. • Механізм когерентності є критичним для ефективної паралельної роботи вузла SMP і повинен мати малий час затримки. • Вимога малих затримок когерентних зв'язків накладає обмеження на кількість процесорів SMP-системи і тому сьогодні часто застосовувати повільнішу програмну реалізацію механізму когерентності.
Зручність SMP-вузлів для користувачів-розробників програмного забезпечення • Операційна система майже автоматично масштабує додатки, даючи їм можливість використовувати нарощувані ресурси; • Додатки не міняються при додаванні процесорів і стежать за тим, на яких процесорах вони працюють; • Тимчасова затримка доступу від будь-якого процесора до всіх частин пам'яті і системи введення-виведення одна; • Розробник оперує з однорідним адресним простором; • Переносимість програм - одне з основних достоїнств SMP-платформ.
Апаратна реалізація механізму підтримки когерентності • Використання шини стеження (snoopy bus); • Кожен процесор має свій власний локальний кеш; • Для того, щоб всі кеші залишалися когерентними, кожен процесор "підглядає" за шиною, здійснюючи пошук тих операцій читавання і запису між іншими процесорами і основною пам'яттю, які впливають на вміст їх власних кешів; • SMP система складається з декількох однорідних процесорів і масиву загальної пам'яті; • Недоліком даної апаратної архітектури є необхідність організації каналу процесори - пам'ять з дуже високою пропускною спроможністю.
Основні переваги SMP-систем • Простота і універсальність для програмування; • Для SMP-систем існують порівняно ефективні засоби автоматичного розпаралелювання; • Легкість в експлуатації; • Відносно невисока ціна.
Недоліки SMP-систем • Системи із загальною пам'яттю, побудовані на системній шині, погано масштабуються (шина здатна обробляти тільки одну транзакцію). Виникають проблеми вирішення конфліктів при одночасному зверненні 8-24-х процесорів до одних і тих же областей загальної фізичної пам'яті. • Системна шина має обмежену (хоч і високу) пропускну спроможність (ПС) і обмежене число слотів. • У реальних системах можна використовувати не більше 32 процесорів. Для побудови систем, що масштабуються, на базі SMP використовуються кластерні або NUMA-архітектури. • При роботі з SMP системами використовують так звану парадигму програмування з пам'яттю, що розділяється (shared memory paradigm).
2. Масивно-паралельні системи (МРР) • Вузли в архітектурі MPP складаються з одного ЦПУ, невеликої пам'яті і декількох пристроїв введення-виведення; • У кожному вузлі працює своя копія OC; • Вузли об'єднуються між собою спеціалізованим швидким з'єднанням; • Взаємозв'язки між вузлами не вимагають апаратної підтримуваної когерентності; • При роботі з MPP системами використовують так звані Massive Passing Programming Paradigm - парадигму програмування з передачею даних (MPI, PVM, BSPlib); • Когерентність реалізується програмними засобами, з використанням техніки передачі повідомлень.
Схема архітектури МРР з розподіленою пам'яттю Система будується з окремих модулів, що містять процесор, локальний банк операційної пам'яті (ОП), два комунікаційні процесори (R) або мережевий адаптер, іноді - жорсткі диски і/або інші пристрої введення/виведення. Один комунікаційний процесор використовується для передачі команд, інший - для передачі даних.
Особливості масивно-паралельних систем • Затримки, властиві програмній підтримці когерентності в тисячі разів більші, однак реалізація – дешевша; • В МРР-вузлах затримкою доводиться жертвувати, щоб під'єднати більшу кількість процесорів - тисячі вузлів; • Необхідний розподіл даних для того, щоб мінімізувати трафік між вузлами; • Під'єднати велику кількість процесорів дуже просто.
Головна перевага МРР систем • Головною перевагою систем з роздільною пам'яттю є хороша масштабованість: на відміну від SMP-систем в машинах з роздільною пам'яттю кожен процесор має доступ тільки до своєї локальної пам'яті, у зв'язку з чим не виникає необхідності в потактовой синхронізації процесорів. • Практично всі рекорди по продуктивності на сьогоднішній день встановлюються на машинах саме такої архітектури, що складаються з декількох тисяч процесорів (ASCI Red, ASCI Blue Pacific).
Недоліки МРР систем • Відсутність загальної пам'яті помітно знижує швидкість міжпроцесорного обміну, оскільки немає загального середовища для зберігання даних, призначених для обміну між процесорами. • Потрібна спеціальна техніка програмування для реалізації обміну повідомленнями між процесорами. • Кожен процесор може використовувати тільки обмежений об'єм локальної пам'яті. • Ввисока ціна програмного забезпечення для масивно-паралельних систем з роздільною пам'яттю.
3. Системи з неоднорідним доступом до пам'яті (NUMA) • Система складається з однорідних базових модулів, що включають декілька процесорів і блок пам'яті. • Модулі об'єднані за допомогою високошвидкісного комутатора. • Підтримується єдиний адресний простір та апаратний доступ до віддаленої пам'яті інших модулів. • Доступ до локальної пам'яті у декілька разів швидший, ніж до віддаленої. • Існують архітектури системи з апаратною когерентністю кешів у всій системі (cc-NUMA). • Зазвичай вся система працює під управлінням єдиної ОС, як в SMP. Але можливі варіанти динамічного "підрозділу" системи, коли окремі "розділи" системи працюють під управлінням різних ОС.
Гібридна архітектура NUMA (nonuniform memory access) Структурна схема комп'ютера з гібридною мережею: чотири процесори зв'язуються між собою за допомогою перехоесного з’єднання в рамках одного SMP вузла. Вузли зв'язані мережею типу "метелик“.
4. Паралельно-векторні системи (PVP) • Основною ознакою PVP-систем є наявність спеціальних векторно-конвейєрних процесорів, в яких передбачені команди однотипної обробки векторів незалежних даних; • Векторно-конвейєрні процесори можуть об'єднуватися в системи з використанням загальної або розподіленої пам'яті; • Декілька процесорів працюють одночасно над загальною пам'яттю (аналогічно SMP) і декілька вузлів можуть бути об'єднані за допомогою комутатора (аналогічно MPP); • Ефективне програмування - векторизація циклів (для досягнення розумної продуктивності одного процесора) і їх розпаралелювання (для одночасного завантаження декількох процесорів одним додатком).
5. Кластерні системи • Кластерні системи - набір робочих станцій (або навіть ПК) загального призначення, що використовується як дешевий варіант масивно-паралельногокомп'ютера. • Для зв'язку вузлів використовується одна із стандартних мережевих технологій (Fast/Gigabit Ethernet, Myrinet) на базі шинної архітектури або комутатора. • Кластер складається з двох або більш за вузлів, що задовольняють наступним вимогам: • кожен вузол працює з своєю копією ОС; • кожен вузол працює з своєю копією додатку; • вузли ділять загальний пул інших ресурсів, таких як накопичувачі на дисках і, можливо, накопичувачі на стрічках.
Рівні кластеризації Кластеризація може бути здійснена на різних рівнях комп'ютерної системи: • апаратне забезпечення; • операційні системи; • програми-утиліти; • системи управління. Чим більше рівнів системи об'єднано кластерною технологією, тим вище надійність, масштабованість і керованість кластера.
Література • Симетричні мультипроцесорні системи (SMP) [1, 2, 3, 6, 12, 14] • Масивно-паралельні системи (МРР) [1, 2, 3, 6, 12, 14] • Системи з неоднорідним доступом до пам'яті (NUMA) [1, 15, 17, 18] • Паралельно-векторні системи (PVP) [1, 2, 3, 6, 15, 17, 18] • Кластерні системи [1, 2, 15, 17, 18]