Системи із спільною пам’яттю
Паралельні ПК із спільною пам’яттю
Комп’ютери даного класу відповідно мають переваги та недоліки.
Переваги:
простота програмування;
спільний адресний простір;
простота роботи;
Недоліки:
невелика кількість процесорів;
дуже велика вартість;
Щоб збільшити кількість процесорів, але при цьому залишити єдиний адресний простір, пропонується декілька архітектур. Найпопулярніша з них - СС VNUMA.
В даній архітектурі фізична пам’ять є фізично розподіленою, але на логічному рівні - це її єдиний адресний простір. Також дана архітектура вирішує проблему когерентності кешів і забезпечує повну сумісність з комп’ютерами SMP.
Приклад архітектури СС VNUMA будемо розглядати на комп’ютері ИP Saperdome. Він випущений в 2000 році. Максимальна конфігурація може включати до 64 процесорів, максимальна кількість оперативної пам’яті - 256Гб, розширення - до 1Тб.
Основу архітектури складають обчислювальні коди, зв’язані між собою ієрархічною системою перемикачів. Кожна комірка - це мультипроцесор, на якому розміщені всі необхідні компоненти. Кожна комірка може містити до 4 процесорів, оперативна пам’ять - до 16Мб.
При повній конфігурації ПК HP Superdome складається з двох стійок:
Самі комутатори зв’язані між собою, а також мають по одному порту для розширення системи. Швидкість обміну даними - 8Гб/с.
Одним з центральних питань використання архітектури СС VNUMA є різниця в часі звернення. В комп’ютерах HP Superdome є 3 види затримки:
процесор і пам’ять знаходяться в одній комірці - затримка мінімальна;
процесор і пам’ять знаходяться в різних комірках, під’єднані до одного комутатора - затримка середня;
процесор і пам’ять розміщені в різних комірках, комірки під’єднані до різних комутаторів - затримка максимальна.
Тому при написанні програми для даного комп’ютера потрібно уникати можливості розпорідного звернення до пам’яті. Також даний комп’ютер має ряд особливостей:
він може працювати як єдиний класичний ПК, а можна його скорегувати так, щоб розбити на декілька частин, кожна з яких називається n Portition, вона може працювати під окремою операційною системою;
"гаряча" заміна усіх компонентів системи;
ефективна робота з великою кількістю периферійних пристроїв;
резервування;
моніторинг всіх параметрів системи.
Розглянемо процесор РА-8700. його тактова частота - 750МГц., володіє суперскалярною архітектурою і витрачає 4 такти на виконання однієї операції. Іншими словами, пікова продуктивність даного процесора - 3 ГФлопс, а всієї 64-процесорної системи - 192 ГФл. Процесор РІ 8700 на кожному такті виконує стільки операцій, скільки йому дозволяє інформаційна структура коду, а також кількість вільних функціональних пристроїв. Всього пристроїв в процесорі є 10.4 з них - для виконання арифметичних операцій над цілими числами; 4 - над дробовими і 2 функціональні пристрої - для проведення запису/читання. Починаючи з процесорів РІ 8500, кеш І рівня розміщується на кристалі процесора і досягає об’єму 2,25 Мб. При складанні програм для комп’ютерів даного класу можуть виникнути проблеми, що характерні для усіх типів паралельних комп’ютерів. А саме, неможливість розпаралелення фрагментів коду, тобто, якщо 25% коду - це послідовні операції, то збільшення швидкодії більш ніж у 5 разів досягнути нереально. Також потрібно звертати увагу на неоднорідність звернень до пам’яті.
Дані системи ще називають SMP - системами. Даний тип систем не має таких недоліків, як у випадку систем з розділеною пам’яттю. Проте основна проблема при розробці таких систем - це складність комутації процесорів з пам’яттю та організація одночасного доступу процесорів до спільних пристроїв. Є декілька архітектурних методів для вирішення даної проблеми:
1. Використання загальної шини.
Всі процесори та ОП під’єднуються до однієї шини, що являє собою набір провідників. Коли процесор "хоче" працювати з пам’яттю, він монополізує доступ до шини. Інші пристрої в даний час не можуть працювати з ОЗП, їм доводиться "чекати" коли відкриється доступ до шини. В таких системах можна максимум об’єднати 4-5 процесорів.
2. Іншим методом використання єдиної пам’яті є створення декількох окремих блоків, кожен з яких може працювати з одним процесором. Одною з таких реалізацій є система матричних комутаторів.
На вузлах сітки провідників ставиться комутатор, який відкриває або забороняє процесору доступ до даного блоку пам’яті. В системі, в якій є n процесорів та n блоків пам’яті потрібно
комутаторів, що при значних n є дуже великим числом.3. Ще одним способом організації спільного доступу до пам’яті є використання омега мережі.
В даній системі кожен з процесорів зв’язаний з комутатором, кожен комутатор може з’єднати будь який свій вхід з будь яким виходом. Зв'язок процесорів з пам’яттю відбувається через комутатори. Перевага даного методу - значно менша кількість комутаторів. Недолік - досить великий час затримки через досить великий час перемикання комутаторів.
Обчислювальні системи з розподіленою пам’яттю.
Ідея побудови таких обчислювальних систем є дуже простою. Береться деяка кількість обчислювальних вузлів, кожен з яких складається з процесорного елемента та оперативної пам’яті, доступ до якої має тільки цей процесорний елемент. Доступ до віддаленої пам’яті відбувається іншим, більш складнішим шляхом. В наш час в ролі обчислювальних вузлів все частіше використовуються повноцінні комп’ютери. Комунікаційне середовище може спеціально розроблятися для певної системи, або бути стандартною мережевою технологією, вільно доступною на ринку. Переваги в таких системах наступні:
Користувач може довільно конфігурувати систему, в залежності від своїх бажань та можливостей.
Дана система може практично необмежено розростатись і вартість такої системи значно менша ніж інші паралельні системи.
Дані системи отримали назву - комп’ютери з масовим розпаралелюванням або масово паралельні комп’ютери. Найбільшого розповсюдження дані системи набули з 90-х років. Серед найпопулярніших систем можна виявити Intel Paragon IBM SP1 SP2. Всі вони різняться тільки процесорами, що входять до їхнього складу та комунікаційним середовищем.
Перевагами цих систем є можливість розв’язку декількох паралельних незалежних або слабозв’язаних задач. Також перевагою можна вказати відносну простоту та дешевизну створення. Недоліками є складна організація роботи такої системи (синхронізація даних, реалізація механізму повідомлень між комп’ютерами) та великі накладні витрати при передачі даних по мережі. По характеру зв’язків між ЕОМ даної системи можна виділити наступні типи:
1. Непрямі або слабозв’язані. В слабозв’язаних системах комп’ютери обмінюються даними через спільний зовнішній запам’ятовуючий пристрій. Цей пристрій працює по принципу "поштової скриньки", тобто один комп’ютер записує дані в спільну пам'ять, а інший звідти її зчитує.
Такий підхід використовується, коли треба підвищити надійність системи. Тобто одна ЕОМ є основною, вона проводить всі операції контролю обрахунків, введення / виведення інформації, і з певною періодичністю передає їх на резервну ЕОМ. У випадку відмови основної ЕОМ резервна її заміняє.
2. Прямозв’язані. В прямозв’язаних системах є три види зв’язків:
зв'язок через загальний оперативний пристрій;
пряме управління або зв'язок "процесор-процесор";
зв'язок через адаптери.
Зв'язок через загальний оперативний пристрій значно сильніший ніж зв'язок через зовнішній запам’ятовуючий пристрій. Обмін інформацією відбувається також за принципом "поштової скриньки".
Прямий зв'язок може бути не тільки інформаційним, але і командним, тобто один процесор може управляти іншим.
Зв'язок через адаптери - це зв'язок через комп’ютерну мережу.
3. Сателітний зв'язок. Сателітний зв'язок використовується для зменшення навантаження на певну ЕОМ. До комп’ютера підключається інший комп’ютер значно меншої потужності. Цей комп’ютер називається сателітом. Комп’ютер - сателіт виконує наступні операції:
організацію роботи основної ЕОМ з периферійними пристроями, зовнішньою пам’яттю, віддаленими абонентами;
попереднє сортування даних, перетворення їх у форму, зручну для основної ЕОМ;