Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект лекцій_КС_2012_10_28.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
2.73 Mб
Скачать

2.3 Характеристика типових схем комунікації в багатопроцесорних комп’ютерних системах

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

Структура ліній комутації між процесорами обчислювальної системи (топологія мережі передачі даних) визначається, як правило, з урахуванням можливостей ефективної технічної реалізації. Важливу роль при виборі структури мережі має і аналіз інтенсивності інформаційних потоків при паралельному рішенні найбільш поширених обчислювальних задач. До типових топологій зазвичай відносять наступні схеми комунікації процесорів (рис. 2.5):

  • повний граф (completely-connected graph or clique) - система, в якій між будь-якою парою процесорів існує пряма лінія зв'язку. Як результат, дана топологія забезпечує мінімальні витрати при передачі даних, проте є такою, що складно реалізовується при великій кількості процесорів;

  • лінійка (linear array or farm) - система, в якій кожен процесор має лінії зв'язку тільки з двома сусідніми (з попереднім і подальшим) процесорами. Така схема просто реалізовується, але з іншого боку, відповідає структурі передачі даних при рішенні багатьох обчислювальних задач (наприклад, при організації конвейєрних обчислень);

  • кільце (ring) - дана топологія утворюється з лінійки процесорів з'єднанням першого і останнього процесорів лінійки;

  • зірка (star) - система, в якій всі процесори мають лінії зв'язку з деяким процесором, що керує. Дана топологія є ефективною, наприклад, при організації централізованих схем паралельних обчислень;

  • грати (mesh) - система, в якій граф ліній зв'язку утворює прямокутну сітку (зазвичай дво- або три- мірну); подібна топологія може бути досить просто реалізована і, крім того, може бути ефективно використовувана при паралельному виконанні багатьох чисельних алгоритмів (наприклад, при реалізації методів аналізу математичних моделей, що описуються диференціальними рівняннями в часткових похідних);

  • гіперкуб (hypercube) - дана топологія представляє окремий випадок структури грат, коли по кожній розмірності сітки є тільки два процесори (тобто гіперкуб містить 2N процесорів при розмірності N); даний варіант організації мережі передачі даних досить широко поширений в практиці і характеризується наступним рядом ознак:

  • два процесори мають з'єднання, якщо двійкове представлення їх номерів має тільки одну позицію, що відрізняється;

  • у N-мірному гіперкубі кожен процесор пов'язаний рівно з N сусідами;

  • N-мірний гіперкуб може бути роздільний на два (N - 1)-мірних гіперкуба (всього можливо N різних таких розділень);

  • найкоротший шлях між двома будь-якими процесорами має довжину, яка співпадає з кількістю відмінних бітових значень в номерах процесорів (дана величина відома як відстань Хеммінга).

а) повний граф б) лінійка

в) кільце г) зірка

д) грати е) гіперкуб

Рисунок 2.5 – Приклади топологій багатопроцесорних компютерних систем

Схема ліній передачі даних може реалізовуватися на апаратному рівні (між процесорами), а може бути реалізована за допомогою відповідного програмного забезпечення. Введення віртуальних (що програмно-реалізовуються) топологій сприяє мобільності паралельних програм, що розробляються, і знижує витрати на програмування.