Є різні системи класифікації паралельних систем, які базуються на різнотипних головних ознаках до класифікації. Багато з них базується на класифікації М. Флінна (1966 р.), де паралельна обробка виконується на SIMD і MIMD архітектурах.
В сучасних класифікаційних системах архітектури, які попадають в один клас, відрізняються за кількістю процесорів, природі і топології зв'язку між ними, за способом організації пам'яті, за технологією програмування та іншими ознаками.
|
Рис.1.6. Класифікація за Базу
Р.Дункан визначає такий набір вимог на який може спиратися класифікація (див.рис.1.7):
З класу паралельних машин повинні бути виключені ті, у яких паралелізм закладений лише на найнижчому рівні, включаючи:
|
|
- конвеєризацію на етапі підготовки і виконання команди (instruction pipelining), тобто часткове перекриття таких етапів, як дешифрація команди, обчислення адрес операндів, вибірка операндів, виконання команди і збереження результату;
- наявність в архітектурі декількох функціональних пристроїв, що працюють незалежно, зокрема, можливість паралельного виконання логічних і арифметичних операцій;
- наявність окремих процесорів вводу/виводу, що працюють незалежно і паралельно з основними процесорами.
Дункан дає неформальне визначення паралельної архітектури, а саме: паралельна архітектура - це такий спосіб організації обчислювальної системи, при якому допускається, щоб безліч процесорів (простих або складних) може працювати одночасно, взаємодіючи в міру потреби один з одним.
Розглянемо три види архітектур, в яких використовують нетрадиційні моделі обчислень.
Dataflow - використовують модель, у якій команда може виконаються відразу ж, як тільки обчислені необхідні операнди. Таким чином, послідовність виконання команд визначається залежністю за даними, що може бути виражена, наприклад, у формі графа.
Модель обчислень, застосовувана в reduction машинах полягає в наступному: команда стає доступною для виконання тоді і тільки тоді, коли результат її роботи потрібно іншій, доступній для виконання, команді як операнд.
Wavefront array архітектура поєднує в собі ідею систолічної обробки даних і модель обчислень, що використовується в dataflow. У даній архітектурі процесори об’єднуються в модулі і фіксуються зв'язки, по яких процесори можуть взаємодіяти один з одним. Однак, на противагу ритмічній роботі систоличних масивів, дана архітектура використовує асинхронний механізм зв'язку з підтвердженням (handshaking), через що "фронт хвилі" обчислень може змінювати свою форму в міру проходження по всіх процесорах.
|
|
Е.Кришнамарфі для класифікації паралельних обчислювальних систем пропонує використовувати чотири характеристики, які подібні до характеристик класифікації А.Базу: ступінь гранулярності, спосіб реалізації паралелізму, топологія і природа зв'язку, спосіб керування процесорами.
На основі виділених чотирьох характеристик можна визначити місце найбільш відомих класів архітектур у даній класифікації (див. табл.1.2).
Таблиця 1.2
Тип архітектури | Гранулярність | Реалізація паралелізму | Зв'язок процесорів | Спосіб керування |
Векторно-конвеєрні комп'ютери | На рівні даних | Апаратна | Проста топологія із середньою зв’язністю | Синхронний |
Класичні мультипроцесори | На рівні задач | Комбінована | Проста топологія зі слабкою зв’язністю | Асинхронний |
Матриці процесорів | На рівні даних | Апаратна | Двовимірні масиви із сильною зв’язністю | Синхронний |
Систолічні масиви | На рівні даних | Апаратна | Складна топологія із сильною зв’язністю |
Незважаючи на те, що класифікація Е. Кришнамарфі побудована лише на чотирьох ознаках, вона дозволяє виділити і описати такі "нетрадиційні" паралельні системи, як систоличні масиви, машини типу dataflow і wavefront.
Заслуговують на увагу класифікації Хандлера (ерлангерська схема) [8], Р. Хокні [1].