ЛЕКЦІЯ №11 Паралельні комп’ютерні архітектури

План

1 Поняття архітектури комп’ютера. Класи архітектур

2 Поняття паралельних комп’ютерних систем

3 Архітектури паралельних комп’ютерів

 

1 Поняття архітектури комп’ютера. Класи архітектур

Архітектурою комп’ютера вважається його представлення на деякому загальному рівні, що включають опис користувальницьких можливостей програмування, системи команд, системи адресації, організації пам’яті і т.д. Архітектура визначає принципи дії, інформаційні зв’язки і взаємне з’єднання основних логічних вузлів комп’ютера: МП, ОЗУ, ВЗП і периферійних пристроїв.
 
Основні класичні типи архітектур можна визначити як такі: «зірка», ієрархічна, магістральна.

ЦУ — центральний пристрій включає ЦП і ОП.
ВУ — зовнішні пристрої.
 
Архітектура «зірка». Тут ЦУ пов’язано безпосередньо з ВУ і управляє їх роботою (ранні моделі машин, ЕОМ 1 і 2 покоління фон неймановской архітектури).
  
Ієрархічна архітектура — ЦУ пов’язане з периферійними Процесори (допоміжними процесорами) Управляюча в свою Очередько онтроллерамі, до яких підключені групи ВУ. (ЕОМ 3 покоління).

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


3 Поняття паралельних комп’ютерних систем

Паралельні обчислювальні системи — комп’ютерні системи, що реалізовують тим або іншим способом паралельну обробку даних на багатьох обчислювальних вузлах для підвищення загальної швидкості розрахунку. Ідея розпаралелювання обчислень базується на тому, що більшість завдань можуть бути розділені на набір менших завдань, які можуть бути вирішені одночасно. Зазвичай паралельні обчислення вимагають координації дій. Якщо при обчисленні не застосовуються циклічні (що повторюються) дії, то N обчислювальних модулів ніколи не виконають роботу в N разів швидше, ніж один єдиний обчислювальний модуль.

Наприклад, для швидкого сортування масиву на двопроцесорній машині можна розділити масив навпіл і сортувати кожну половину на окремому процесорі. Сортування кожної половини може зайняти різний час, тому необхідна синхронізація.

 

3 Архітектури паралельних комп’ютерів

Архітектури паралельних комп’ютерів можуть значно відрізнятися один від одного. Розглянемо деякі істотні поняття і компоненти паралельних комп’ютерів. Паралельні комп’ютери складаються з трьох основних компонентів:

1 процесори;

2 модулі пам’яті;

3 комутаційна мережа.

Можна розглядати і більш детальнішу розбиття паралельних комп’ютерів на компоненти, однак, дані три компоненти найкраще відрізняють один паралельний комп’ютер від іншого.

Комутаційна мережа з’єднує процесори один з одним і іноді також з модулями пам’яті. Процесори, що використовуються в паралельних комп’ютерах, звичайно такі ж, як і процесори однопроцесорних систем, хоча сучасна технологія дозволяє розмістити на мікросхемі не тільки один процесор. На мікросхемі разом із процесором можуть бути розташовані ті їх складові, які дають найбільший ефект при паралельних обчисленнях. Наприклад, мікросхема трансп’ютера поряд з 32-розрядним мікропроцесором і 64-розрядним співпроцесором арифметики з плаваючою комою, містить всередині кристальний ОЗП ємністю 4 Кбайт, 32-розрядну шину пам’яті, що дозволяє адресувати до 4 Гбайт зовнішньої, стосовно кристала пам’яті, чотири послідовних двонаправлених ліній зв’язку, що забезпечують взаємодію трансп’ютера з зовнішнім світом і працюючих паралельно з ЦПП, інтерфейс зовнішніх подій.

Однією із властивостей, що розрізняють паралельні комп’ютери, є кількість можливих потоків команд. Розрізняють наступні архітектури:

  1. SIMD (Single InstructionMultiple);
  2. MIMD (Multiple Instruction Multiple);

SIMD.

SIMD (Single Instruction Multiple). SIMD комп’ютер має N ідентичних синхронно працюючих процесорів, N потоків даних і один потік команд. Кожен процесор володіє власною локальною пам’яттю. Мережа, що з’єднує процесори, звичайно має регулярну топологію.

Процесори інтерпретують адреси даних або як локальні адреси власної пам’яті, або як глобальні адреси, можливо, модифіковані додаванням локальної базової адреси. Процесори одержують команди від одного центрального контролера команд і працюють синхронно, тобто на кожному кроці всі процесори виконують ту саму команду над даними з власної локальної пам’яті.

Така архітектура з розподіленою пам’яттю часто згадується як архітектура з паралелізмом даних (data-parallel), тому що паралельність досягається при наявності одиночного потоку команд, що діє одночасно на декілька частин даних.

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

MIMD.

MIMD (Multiple Instruction Multiple). MIMD комп’ютер має N процесорів, N потоків команд і N потоків даних. Кожен процесор функціонує під управлінням власного потоку команд, тобто MIMD комп’ютер може паралельно виконувати зовсім різні програми.

 

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

Виходячи з доступу до пам’яті, її організації, розрізняють наступні типи паралельних (MIMD) архітектур:

  1. Комп’ютери з розподіленою пам’яттю (distributed memory) – кожен процесор має доступ лише до локальної, власної пам’яті. Процесори об’єднані в мережу. Доступ до віддаленої пам’яті можливий тільки за допомогою системи обміну повідомленнями. Процесор може звертатися до локальної пам’яті, може посилати й одержувати повідомлення, передані через мережу, що з’єднує процесори. Повідомлення використовуються для здійснення зв’язку між процесорами або, що є еквівалентним, для читання і запису віддалених блоків пам’яті. В ідеалізованій мережі вартість посилки повідомлення між двома вузлами мережі не залежить як від розташування обох вузлів, так і від трафіку мережі, але залежить від довжини повідомлення.

Сюди належать так звані масово-паралельні обчислювальні (massively parallel processing – MPP) системи.

  1. Комп’ютери з загальною пам’яттю (True shared memory). Всі процесори спільно звертаються до загальної пам’яті, як правило, через шину чи ієрархію шин. В ідеалізованої PRAM (Parallel Random Access Machine — паралельна машина з довільним доступом) моделі, яка часто використовується в теоретичних дослідженнях паралельних алгоритмів, будь-який процесор може звертатися до будь-якої комірки пам’яті за той самий час. У таких комп’ютерах не можна істотно збільшити число процесорів, оскільки при цьому відбувається різке збільшення числа конфліктів доступу до шини. На практиці маштабованість цієї архітектури звичайно приводить до деякої форми ієрархії пам’яті. Частота звертань до загальної пам’яті може бути зменшена за рахунок збереження копій часто використовуваних даних у кеш-пам’яті, зв’язаній з кожним процесором. Доступ до цієї кеш-пам’яті набагато швидший, ніж безпосередній доступ до загальної пам’яті.

До цього класу відносяться так звані симетричні мультипроцесорні (symmetric multiprocessor SMP) системи.

  1. Комп’ютери з віртуально спільною пам’яттю (Virtual shared memory). У таких системах загальна пам’ять, як така, відсутня. Кожен процесор має власну локальну пам’ять. Він може звертатися до локальної пам’яті інших процесорів, використовуючи “глобальну адресу”. Якщо “глобальна адреса” вказує не на локальну пам’ять, то доступ до пам’яті реалізується за допомогою повідомлень з малою затримкою, що пересилаються по мережі, яка з’єднує процесори.

До цього класу належать так звані кластерні (claster) системи.


Запитання для самоперевірки:

  1. Які є класичні типи архітектур. Їх схеми.
  2. Що таке паралельні обчислювальні системи ?
  3. З яких компонентів складаються паралельні компютери?
  4. Які є види архітектур паралельних компютерів ?
  5. Які є типи паралельних (MIMD) архітектур ?

 


Додаткові матеріали:

  1. СРС 17. АРХІТЕКТУРА ПОТОКОВИХ ОБЧИСЛЮВАЛЬНИХ СИСТЕМ

ПЕРЕЙТИ  ДО  ТЕСТУВАННЯ  ЗА  МОДУЛЕМ