Класифікація архітектури обчислювальних систем за Флінном

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

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

SISD = Single Instruction Single Data

MISD = Multiple Instruction Single Data

SIMD = Single Instruction Multiple Data

MIMD = Multiple Instruction Multiple Data

SISD (single instruction stream / single data stream) – одиночний потік команд і одиночний потік даних. До цього класу відносяться послідовні комп'ютерні системи, які мають один центральний процесор, здатний обробляти тільки один потік послідовно виконуваних інструкцій. В даний час практично всі високопродуктивні системи мають більш за один центральний процесор, проте кожен з них виконує незв'язані потоки інструкцій, що робить такі системи комплексами SISD-систем, що діють на різних просторах даних. Для збільшення швидкості обробки команд і швидкості виконання арифметичних операцій може застосовуватися конвеєрна обробка. У разі векторних систем векторний потік даних слід розглядати як потік з одиночних неподільних векторів. Прикладами комп'ютерів з архітектурою SISD можуть служити більшість робочих станцій Compaq, Hewlett-Packard і Sun Microsystems.

MISD (multiple instruction stream / single data stream) – множинний потік команд і одиночний потік даних. Теоретично в цьому типі машин безліч інструкцій повинна виконуватися над єдиним потоком даних. До цих пір жодної реальної машини, що потрапляє в даний клас, створено не було. Як аналог роботи такої системи, мабуть, можна розглядати роботу банку. З будь-якого терміналу можна подати команду і щось зробити з наявним банком даних. Оскільки база даних одна, а команд багато, ми маємо справу з множинним потоком команд і одиночним потоком даних.

SIMD (single instruction stream / multiple data stream) – одиночний потік команд і множинний потік даних. Ці системи зазвичай мають велику кількість процесорів, від 1024 до 16384, які можуть виконувати одну і ту ж інструкцію відносно різних даних в жорсткій конфігурації. Єдина інструкція паралельно виконується над багатьма елементами даних. Прикладами SIMD-машин є системи CPP DAP, Gamma II і Quadrics Apemille. Іншим підкласом SIMD-систем є векторні комп'ютери. Векторні комп'ютери маніпулюють масивами схожих даних подібно до того, як скалярні машини обробляють окремі елементи таких масивів. Це робиться за рахунок використання спеціально сконструйованих векторних центральних процесорів. Коли дані обробляються за допомогою векторних модулів, результати можуть бути видані на один, два або три такти частотогенератора (такт частотогенератора є основним тимчасовим параметром системи). При роботі у векторному режимі векторні процесори обробляють дані практично паралельно, що робить їх у декілька разів швидшими, ніж при роботі в скалярному режимі. Прикладами систем подібного типу є, наприклад, комп'ютери Hitachi S3600.

MIMD (multiple instruction stream / multiple data stream) – множинний потік команд і множинний потік даних. Ці машини паралельно виконують декілька потоків інструкцій над різними потоками даних. На відміну від згаданих вище багатопроцесорних SISD-машин, команди і дані зв'язані, тому що вони представляють різні частини одного і того ж завдання. Наприклад, MIMD-системы можуть паралельно виконувати безліч підзадач з метою скорочення часу виконання основного завдання. Велика різноманітність систем, що потрапляють в даний клас, робить класифікацію Флінна не повністю адекватною. Дійсно, і чотирипроцесорний SX-5 компанії NEC, і тисячипроцесорний Cray T3E потрапляють в цей клас. Це примушує використовувати інший підхід до класифікації, інакше що описує класи комп'ютерних систем. Основна ідея такого підходу може полягати, наприклад, в наступному. Вважатимемо, що множинний потік команд може бути оброблений двома способами: або одним конвеєрним пристроєм обробки, часі, що працює в режимі розділення, для окремих потоків, або кожен потік обробляється своїм власним пристроєм. Перша можливість використовується в MIMD-компьютерах, які зазвичай називають конвеєрними або векторними, друга – в паралельних комп'ютерах. У основі векторних комп'ютерів лежить концепція конвеєризації, тобто явної сегментації арифметичного пристрою на окремі частини, кожна з яких виконує свою підзадачу для пари операндів. У основі паралельного комп'ютера лежить ідея використання для вирішення одного завдання декількох процесорів, що працюють спільно, причому процесори можуть бути як скалярними, так і векторними.

Класифікація архітектури обчислювальних систем потрібна для того, щоб зрозуміти особливості роботи тієї або іншої архітектури, але вона не є достатньо детальною, щоб на неї можна було спиратися при створенні БОС, тому слід вводити детальнішу класифікацію, яка пов'язана з різною архітектурою ЕОМ і з використовуваним обладнанням.

SMP- і MPP-архітектури

SMP-архитектура|

SMP| (symmetric| multiprocessing|) – симетрична багатопроцесорна архітектура. Головною особливістю систем з|із| архітектурою SMP| є|з'являється,являється| наявність загальної|спільної| фізичної пам'яті, що розділяється всіма процесорами.

 
  Класифікація архітектури обчислювальних систем за Флінном - student2.ru


Рисунок. 3.1. Схематичний вид SMP-архитектуры|

Пам'ять служить, зокрема, для передачі повідомлень|сполучень| між процесорами, при цьому всі обчислювальні пристрої|устрої| при зверненні до неї мають рівні має рацію і одну і ту ж адресацію для всіх елементів пам'яті. Тому SMP-архитектура| називається симетричною. Остання обставина дозволяє дуже ефективно обмінюватися даними з|із| іншими обчислювальними пристроями|устроями|. SMP-система| будується на основі високошвидкісної системної шини (SGI| PowerPath|, Sun| Gigaplane|, DEC| TurboLaser|), до слотів якої підключаються функціональні блоки типів: процесори (ЦП), підсистема введення/виводу|висновку,виведення| (I/O) і тому подібне Для під'єднування до модулів I/O використовуються вже повільніші шини (PCI|, VME64|). Найбільш відомими SMP-системами| є|з'являються,являються| SMP-cерверы| і робочі станції на базі процесорів Intel| (IBM|, HP|, Compaq|, Dell|, ALR|, Unisys|, DG|, Fujitsu| і ін.) Вся система працює під управлінням єдиною ОС (зазвичай|звично| UNIX-подобной|, але|та| для Intel-платформ| підтримується Windows| NT|). ОС автоматично (в процесі роботи) розподіляє процеси по процесорах, але|та| іноді|інколи| можлива і явна прив'язка.

Основні переваги SMP-систем|:

· простота і універсальність для програмування. Архітектура SMP| не накладає обмежень на модель програмування, використовувану при створенні|створінні| додатку|застосування|: зазвичай|звично| використовується модель паралельних гілок, коли всі процесори працюють незалежно один від одного. Проте|однак| можна реалізувати і моделі, що використовують міжпроцесорний обмін. Використання загальної|спільної| пам'яті збільшує швидкість такого обміну, користувач також має доступ відразу до всього об'єму|обсягу| пам'яті. Для SMP-систем| існують досить ефективні засоби|кошти| автоматичного розпаралелювання;

· простота експлуатації. Як правило, SMP-системы| використовують систему кондиціонування, засновану на повітряному охолоджуванні, що полегшує їх технічне обслуговування;

· відносно невисока ціна.

Недоліки|нестачі|:

· системи із|із| загальною|спільною| пам'яттю погано масштабуються.

Цей істотний|суттєвий| недолік|нестача| SMP-систем| не дозволяє вважати|лічити| їх по-справжньому перспективними. Причиною поганої масштабованості є|з'являється,являється| те, що в даний момент шина здатна|здібна| обробляти тільки|лише| одну транзакцію, унаслідок|внаслідок| чого виникають проблеми вирішення конфліктів при одночасному зверненні декількох процесорів до одних і тих же областей загальної|спільної| фізичної пам'яті. Обчислювальні елементи починають|розпочинають,зачинають| один одному заважати|мішати|. Коли відбудеться такий конфлікт, залежить від швидкості зв'язку і від кількості обчислювальних елементів. В даний час|нині| конфлікти можуть відбуватися|походити| за наявності 8-24 процесорів. Крім того, системна шина має обмежену (хоч і високу) пропускну спроможність (ПС) і обмежене число слотів. Все це очевидно перешкоджає збільшенню продуктивності при збільшенні числа процесорів і числа користувачів, що підключаються. У реальних системах можна задіювати не більше 32 процесорів. Для побудови|шикування| систем, що масштабуються, на базі SMP| використовуються кластерні або NUMA-архитектуры|. При роботі з|із| SMP-системами| використовують так звану парадигму програмування з|із| пам'яттю, що розділяється (shared| memory| paradigm|).

MPP-архитектура|

MPP| (massive| parallel| processing|) – масивно-паралельна архітектура. Головна особливість такої архітектури полягає в тому, що пам'ять фізично розділена. В цьому випадку система будується з|із| окремих модулів, що містять|утримують| процесор, локальний банк операційної пам'яті (ОП), комунікаційні процесори (рутеры|) або мережеві|мережні| адаптери, іноді|інколи| – жорсткі диски і/або інші пристрої|устрої| введення/виводу|висновку,виведення|. По суті, такими модулями є повнофункціональні комп'ютери (див. Рисунок.3.2). Доступ до банку ОП з|із| даного модуля мають тільки|лише| процесори (ЦП) з|із| цього ж модуля. Модулі з'єднуються спеціальними комунікаційними каналами. Користувач може визначити логічний номер процесора, до якого він підключений, і організувати обмін повідомленнями|сполученнями| з|із| іншими процесорами. Використовуються два варіанти роботи операційної системи (ОС) на машинах MPP-архитектуры|. У одному повноцінна операційна система (ОС) працює тільки|лише| на машині (front-end|), що управляє, на кожному окремому модулі функціонує сильно урізаний|урізати| варіант ОС, що забезпечує роботу тільки|лише| розташованою|схильною| в нім гілки паралельного застосування. У другому варіанті на кожному модулі працює повноцінна UNIX-подобная| ОС, що встановлюється окремо.

 
  Класифікація архітектури обчислювальних систем за Флінном - student2.ru


Рисунок. 3.2. Схематичний вид архітектури з|із| роздільною пам'яттю

Головною перевагою систем з|із| роздільною пам'яттю є|з'являється,являється| хороша|добра| масштабованість: на відміну від SMP-систем|, в машинах з|із| роздільною пам'яттю кожен процесор має доступ тільки|лише| до своєї локальної пам'яті, у зв'язку з чим не виникає необхідності в потактовой| синхронізації процесорів. Практично всі рекорди по продуктивності на сьогодні встановлюються на машинах саме такої архітектури, процесорів, що складаються з декількох тисяч (ASCI| Red|, ASCI| Blue| Pacific|).

Недоліки|нестачі|:

· відсутність загальної|спільної| пам'яті помітно знижує швидкість міжпроцесорного обміну, оскільки немає загального|спільного| середовища|середи| для зберігання даних, призначених для обміну між процесорами. Потрібна спеціальна техніка програмування для реалізації обміну повідомленнями|сполученнями| між процесорами;

· кожен процесор може використовувати тільки|лише| обмежений об'єм|обсяг| локального банку пам'яті;

· унаслідок|внаслідок| вказаних архітектурних недоліків|нестач| потрібні значні зусилля для того, щоб максимально використовувати системні ресурси. Саме цим визначається висока ціна програмного забезпечення для масивно-паралельних систем з|із| роздільною пам'яттю.

Системами з|із| роздільною пам'яттю є|з'являються,являються| суперкомп'ютери БОС-1000, IBM| RS/6000 SP|, SGI/CRAY T3E|, системи ASCI|, Hitachi| SR8000|, системи Parsytec|.

Машини останньої серії CRAY| T3E| від SGI|, засновані на базі процесорів Dec| Alpha| 21164 з|із| піковою продуктивністю 1200 Мфлопс/с (CRAY| T3E-1200|), здатні|здібні| масштабуватися до 2048 процесорів.

При роботі з|із| MPP-системами| використовують так звані Massive| Passing| Programming| Paradigm| – парадигму програмування з|із| передачею даних (MPI|, PVM|, BSPlib|).

3. Гібридна архітектура NUMA|

Головна особливість гібридної архітектури NUMA| (nonuniform| memory| access|) – неоднорідний доступ до пам'яті.

Гібридна архітектура суміщає|поєднує| достоїнства систем із|із| загальною|спільною| пам'яттю і відносну дешевизну|дешевину| систем з|із| роздільною пам'яттю. Суть цієї архітектури – в особливій організації пам'яті, а саме: пам'ять фізично розподілена по різних частинах|частках| системи, але|та| логічно вона є|з'являється,являється| загальною|спільною|, так що користувач бачить єдиний адресний простір. Система побудована|спорудити| з|із| однорідних базових модулів (плат), що складаються з невеликого числа процесорів і блоку пам'яті. Модулі об'єднані|з'єднані| за допомогою високошвидкісного комутатора. Підтримується єдиний адресний простір, апаратний підтримується доступ до видаленої|віддаленої| пам'яті, тобто до пам'яті інших модулів. При цьому доступ до локальної пам'яті здійснюється у декілька разів швидше, ніж до видаленої|віддаленої|. По суті, архітектура NUMA| є|з'являється,являється| MPP| (масивно-паралельною) архітектурою, де як окремі обчислювальні елементи беруться SMP| (симетрична багатопроцесорна архітектура) вузли. Доступ до пам'яті і обмін даними усередині|всередині| одного SMP-узла| здійснюється через локальну пам'ять вузла і відбувається|походить| дуже швидко, а до процесорів іншого SMP-узла| теж|також| є доступ, але|та| повільніший і через складнішу систему адресації.

Структурна схема комп'ютера з|із| гібридною мережею|сіттю|: чотири процесори зв'язуються між собою за допомогою кроссбара| в рамках|у рамках| одного SMP-узла|. Вузли зв'язані мережею|сіттю| типу|типа| «метелик» (Butterfly|):

Класифікація архітектури обчислювальних систем за Флінном - student2.ru

Мал. 3.3. Структурна схема комп'ютера з|із| гібридною мережею|сіттю|

Вперше|уперше| ідею гібридної архітектури запропонував Стів Волох, він утілив|втілював| її в системах серії Exemplar|. Варіант Воллоха – система, що складається з восьми SMP-узлов|. Фірма|фірма-виготовлювач| HP| купила ідею і реалізувала на суперкомп'ютерах серії SPP|. Ідею підхопив Сеймур Крей (Seymour| R.Cray) і додав|добавляв| новий елемент – когерентний кеш, створивши так звану архітектуру cc-NUMA| (Cache| Coherent| Non-Uniform| Memory| Access|), яка розшифровується як «неоднорідний доступ до пам'яті із|із| забезпеченням когерентності кешів». Він її реалізував на системах типу|типа| Origin|.

Наши рекомендации