Класифікація комп’ютерних систем

Підхід Фліна до класифікації архітектур комп’ютерних систем. Доповнення Ванга та Бріггса до класифікації Фліна. Класифікація MIMD-архітектур Джонсона. Особливості способів компонування комп’ютерних систем Хендлера, Фенга, Шора, Базу та Шнайдера.

Рубрика Программирование, компьютеры и кибернетика
Вид реферат
Язык украинский
Дата добавления 08.09.2011
Размер файла 233,7 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Класифікація комп'ютерних систем

Обґрунтування використання класифікації

Довільна схема класифікації повинна володіти наступними якостями: « можливістю класифікації всіх, як існуючих, так перспективних обчислювальних архітектур;

* диференціювання істотно відмінних обчислювальних архітектур;

* однозначність трактування довільних ЗОТ (засобів обчислювальної техніки) та їх архітектур.

Назви, що характеризують лише загальні принципи функціонування ЗОТ:

* векторно-конвеєрні;

* масивні-рівнобіжні (паралельні);

* комп'ютери із широким командним словом;

* систолічні масиви;

* гіперкуби;

* спецпроцесори і мультипроцесори;

* ієрархічні і кластерні комп'ютери;

* матричні ЕОМ,

Параметри ЗОТ, як, наприклад:

* організація пам'яті;

* топологія зв'язку між процесорами;

* синхронність роботи окремих процесорів чи пристроїв;

* спосіб виконання арифметичних операцій,

то число різних архітектур стане і зовсім неозорим.

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

Класифікація повинна допомогти користувачу (оператору, програмісту) розібратися

* що являє собою кожна архітектура;

* взаємозалежність її складових між собою;

* що необхідно враховувати для написання ефективних програм;

* на який клас архітектур варто орієнтуватися для рішення необхідного класу задач.

Вдала класифікація в стані підказати розробнику можливі шляхи удосконалювання комп'ютерів і в цьому змісті вона повинна бути досить змістовною. Тому слід вибрати класифікації, у яких в якості критеріїв диференційовані принципи функціонування чи параметри ЗОТ або ж введені нові істотні поняття.

Класифікація Фліна

У 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 Microsystem.

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 S2600.

MIMD(Multiple Instruction stream / Multiple Data stream) - множинний потік команд і множинний потік даних. Такі машини виконують кілька потоків інструкцій над різними потоками даних. На відміну від згаданих вище багатопроцесорних SISD-систем, команди і дані зв'язані, тому що вони представляють собою різні частини однієї і тієї ж задачі. Наприклад, MIMD-системи, можуть паралельно виконувати багато підзадач з метою скорочення часу виконання основної задачі. Велика різновидність систем, які потрапляють в даний клас, роблять класифікацію Фліна не повністю адекватною.

Так 4 процесорні SX-5 компанії NEC, і багато тисячі процесорні Cray T3E потрапляють в цей один клас. Це вимушує використовувати інший підхід до класифікації систем.

Будемо вважати, що множинний потік команд може бути утворений двома способами:

§ або одним конвеєрним пристроєм обробки, який працює в режимі розділення часу для окремих потоків,

§ або кожний потік обробляється своїм власним пристроєм.

Перший варіант використовується в MIMD- комп'ютерах, які зазвичай називаються конвеєрними або векторними. Другий - в паралельних комп'ютерах.

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

В основі паралельних комп'ютерів лежить ідея використання для розв'язання одної задачі кількох процесорів, які працюють разом, прчому процесори можуть бути як скалярними, так і векторинми.

ДОПОВНЕННЯ ВАНГА І БРІГГСА ДО КЛАСИФІКАЦІЇ ФЛІННА

комп'ютерна система класифікація

Базові класи (SISD, SIMD, MIMD) доповнюються згідно наступних ознак:

Клас SISD розбивається на два підкласи (рис.2.1):

· архітектури з єдиним функціональним пристроєм, наприклад, PDP-11;

· архітектури, що мають у своєму складі кілька функціональних пристроїв - CDC 6600, CRAY-1, FPS AP-120B, CDC Cyber 205, FACOM VP-200.

Рис. 2.1 Клас SISD

У клас SIMD уводяться два підкласи (рис.2.2):

· архітектури з послівно-послідовною обробкою інформації -ILLIAC IV, РЕРЕ, BSP;

· архітектури з розрядно-послідовною обробкою - STARAN, ICL DAP.

Рис. 2.2 Клас SIMD

У класі MIMD розрізняють (рис.2.3):

· обчислювальні системи зі слабким зв'язком між процесорами (з розподіленою пам'яттю), наприклад, Cosmic Cube,

· обчислювальні системи із сильним зв'язком (з загальною пам'яттю) C.mmp, BBN Butterfly, CRAY Y-MP, Denelcor HEP

У класі MIMD розрізняють

· обчислювальні системи зі слабким зв'язком між процесорами (з розподіленою пам'яттю), наприклад, Cosmic Cube,

· обчислювальні системи із сильним зв'язком (з загальною пам'яттю) C.mmp, BBN Butterfly, CRAY Y-MP, Denelcor HEP

Рис. 2.3 Клас MIMD

КЛАСИФІКАЦІЯ ХОКНИ (доповнення МКМД Флінна)

Множинний потік команд може бути оброблений двома способами(рис.1.4):

· одним конвеєрним пристроєм обробки, що працює в режимі поділу часу для окремих потоків;

· кожен потік обробляється окремо виділеним пристроєм.

Перша можливість використовується в MIMD комп'ютерах, визначених конвеєрними (наприклад, процесорні модулі в Denelcor HEP). Архітектури, що використовують другу можливість, поділяються на два класи:

· MIMD комп'ютери, у яких; можливі прямі зв'язки кожного процесора з кожним, що реалізовані за допомогою комутатора;

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

·

Рис. 2.4 Клас MIMD

Серед MIMD-систем з комутатором виділяються ті, у яких уся пам'ять розподілена поміж процесорами як локальне (наприклад, PASM, PRINGLE). У цьому випадку взаємодія самих процесорів здійснюється за допомогою дуже складної системи комутування, що складає значну частину комп'ютера. Такі машини визначаються як MIMD-системи з розподіленою пам'яттю.

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

При аналізі MIMD-систем з мережною структурою вважається, що усі вони мають розподілену пам'ять, а подальша класифікація здійснюється відповідно до топології мережі:

· зіркоподібна мережа (ІСАР);

· регулярні ґратки різної розмірності (Intel Paragon, CRAY T3D);

· гіперкуби (NCube, Intel iPCS);

· ієрархічні мережі типу дерева, піраміди, кластера (Cm*, CEDAR); » мережі, зі змінною конфігурацією.

Якщо архітектура комп'ютера спроектована з використанням декількох мереж з різною топологією, то їх називають гібридними мережними MIMD, а при використанні різних методів в системі - просто гібридними MIMD. Наприклад, комп'ютер Connection Machine 2 має на зовнішньому рівні топологію гіперкуба, кожен вузол якого є кластером процесорів з повним зв'язком.

КЛАСИФІКАЦІЯ ДЖОНСОНА

Класифікація MIMD-архітектур на основі аналізу структури пам'яті та реалізації механізму взаємодії і синхронізації між процесорами.

За структурою оперативної пам'яті ОС поділяються на дві групи:

· системи з загальною пам'яттю, яка прямо адресується усіма процесорами;

· системи з розподіленою пам'яттю, визначена частина якої доступна тільки одному процесору.

Одночасно для міжпроцесорної взаємодії існують два методи:

· через поділювані змінні;

· за допомогою механізму передачі повідомлень.

Виходячи з вказаних припущень, одержуються чотири класи MIMD-архіектур, що уточнюють систематику Флінна:

· загальна пам'ять - поділювані змінні (GMSV);

· розподілена пам'ять - поділювані змінні ( SMSV);

· розподілена пам'ять - передача повідомлень ( SMМР);

· загальна пам'ять - передача повідомлень (GMMP).

Згідно наведеного розподілу, вводяться наступні визначення класів ОС.

· клас 1 - ОС, що використовують загальну поділювану пам'ять для міжпроцесорної взаємодії і синхронізації, визначаються системами з поділюваною пам'яттю, наприклад, CRAY Y-MP.

· клас 2 - системи, у яких пам'ять розподілена по процесорах, а для взаємодії і синхронізації використовується механізм передачі повідомлень, визначаються архітектурами з передачею повідомлень, наприклад NCube.

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

У класифікації визначена можливість врахування виду зв'язку між процесорами:

· загальна шина,

· системи комутування,

· різного роду мережі.

КЛАСИФІКАЦІЯ ФЕНГА

Класифікація Т. Фенга (1972 р.) здійснюється на основі двох характеристик (рис.2.5):

· число біт n у машинному слові, що обробляються паралельно при виконанні машинних інструкцій (у сучасних комп'ютерах це число збігається з довжиною машинного слова);числу слів m, що обробляються одночасно ОС.

Рис. 2.5 Класифікація Т.Фенга

Функціонування ЗОТ можна подати як рівнобіжну (паралельну) обробку з бітових шарів, на кожному з який незалежно обробляються m біт. Друга характеристика визначає ширину бітового шару.

У координатній прив'язці до граничних верхніх значень даних характеристик кожну обчислювальну систему С можна подати парою чисел (n, m) і представити крапкою на площині в системі координат "довжина слова - ширина бітового шару".

Площа прямокутника зі сторонами n і m визначає інтегральну характеристику потенціалу паралельності С архітектури і зветься максимальним ступенем паралелізму ОС: Р(С)= nm, яка є піковою продуктивністю, вираженою в інших одиницях.

Наприклад, комп'ютер Advanced Scientific Computer фірми Texas Instruments (ТІ ASC) в основному режимі працює паралельно з 64-х розрядними словами. АЛП має чотири одночасно працюючі конвеєри, що містять по вісім ступіней, що дає 4x8=32 біти в кожнім бітовому шарі. Тому комп'ютер ТІ ASC може бути представлений у виді (64,32).

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

· Розрядно-послідовні послівно-послідовні (n - m =1). У кожен момент часу обробляється тільки один двійковий розряд. Система MINIMA описується як (1,1).

· Розрядно-паралельні послівно-послідовні (n > 1, т = 1). Більшість класичних послідовних комп'ютерів: IBM 701 = (36,1); PDP-11 = (16,1); IBM 360/50 і VAX 11/7SG - обидві = (32,1).

· Множина однорозрядних процесорних елементів, кожний з який незалежно від інших обробляє свій потік даних. Типові ОС: STARAN = (1, 256) і МРР = (1,16384) фірми Goodyear Aerospace; прототип ОС ILLIAC IV -SOLOMON = (1, 1024) і ICL DAP = (1, 4096).

· Значна частина існуючих рівнобіжних ОС, що обробляють одночасно nт двійкових розрядів. ILLIAC IV = (64, 64); ТІ ASC = (64, 32); C.mmp = (16, 16); CDC 6600 = (60, 10); BBN Butterfly GP1000 = (32, 256).

Недоліки класифікації зв'язані зі способом обчислення ширини бітового шару т. Не відображено ніякого розходження між процесорними матрицями, векторно-конвесрними і багатопроцесорними системами, а також за рахунок чого може одночасно обробляти більше одного слова: множинності функціональних пристроїв, їх конвеєрності чи ж якогось числа незалежних процесорів. Якщо в системі N незалежних процесорів мають кожний по F конвеєрних функціональних пристроїв з довжиною конвеєра L, то для обчислення ширини бітового шару треба просто знайти добуток даних характеристик.

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

КЛАСИФІКАЦІЯ ШОРА (розширення Фенга)

Класифікація Дж. Шора (початок 70-х р.) виділяє типові способи компонування ОС на основі фіксованого числа базисних блоків:

· пристрою керування КП;

· процесора ПО;

· пам'яті команд ПК;

· пам'яті даних ПД.

Також передбачається, що вибірка з пам'яті даних може здійснюватися словами, (вибираються всі розряди одного слова), і/чи бітовим шаром (по одному розряду з однієї і тієї ж позиції кожного слова). Іноді ці два способи називають горизонтальною і вертикальною вибірками відповідно. Відповідно до критеріїв розрізняють шість класів ЗОТ:

Машина І (Рис.2.6), (послівно-послідовна, розрядно-паралельна) - це ОС з послідовною вибіркою всіх розрядів слів із єдиної ПД і паралельною обробкою їх розрядів в процесорі ПО Склад ПО не обумовлюється, що допускає наявність кількох функціональних пристроїв (наприклад, конвеєрного типу). У даний клас попадають як класичні послідовні машини (IBM 701, PDP-11, VAX 11/780), так і конвеєрні скалярні (CDC 7600) і векторно-конвеєрні (CRAY-1).

Рис. 2.6 Машина І

Машина II (Рис.2.7), (послівно-паралельна, розрядно-послідовна)-ОС із вибіркою не за словами, а послідовно за вмістом одиничних розрядів та їх паралельною обробкою для усіх слів. Слова в ПД розташовані горизонтально, але реалізована послідовна обробка бітових шарів при паралельній рівнобіжній обробці безлічі слів. Зчитування даних із ПД здійснюється із розрядної секції всіх слів пам'яті, а не всіх розрядів одного слова. Процесор організований для виконання операцій розрядно-послідовним методом. Прикладом є асоціативні комп'ютери (центральний процесор ОС STARAN). Такі комп'ютери мають не один ПО, а безліч порівняно простих пристроїв порозрядної обробки. Матрична ОС ICL DAP потенційно здійснює порозрядну обробку до 4096 слів.

Рис. 2.7 Машина II

Машина III (Рис.2.8), (ортогональний комп'ютер Шумана 1960 р.) - ОС з узагальненими принципами побудови машин І і II. Модифікована двовимірна ПД забезпечує доступ як до слів, так і до бітових шарів (розрядними секціями). Якщо пам'ять подати як матрицю слів, то доступ до даних здійснюється в напрямку, "ортогональному традиційному - не тільки словами (рядкам), а бітовими шарами (стовпцями). Із двох наявних ПО із горизонтальною організацією обробляє слова, а ПО із вертикальною - розрядні секції. Прикладом є ОС сімейства OMEN-60 фірми Sanders Associates.

Рис. 2.8 Машина IIІ Рис. 2.9 Машина IV

Машина IV (Рис.2.9), (ОС на основі незв'язаної матриці НзМ) е системою процесорних елементів ПЕ, які складаються власне з процесора ПО та пам'яті даних ПД, що функціонують під керуванням єдиного пристрою керування КП згідно потоку інструкцій ПК, зчитаних з пам'яті програм ПП. ПЕ в ОС відносно просто нарощуються до необхідної розмірності внаслідок відсутності з'єднань між ПЕ. Прикладом є ОС РЕРЕ (288 ПЕ).

Машина V (Рис.2.10), (ОС на основі зв'язаної матриці ЗвМ) -є сукупністю взаємозв'язаних ПЕ, довільний із яких може звертатись до вмісту як своєї пам'яті, так і пам'яті сусідніх ПЕ, всі із них знаходяться під керуванням єдиного пристрою керування із пам'яті програм. Прикладом є матричний комп'ютер ILLIAC IV.

Машина VI (Рис.2.11), (матрична ОС із функціональною пам'яттю - вбудованою логікою) Використано метод розподілу функціональної логіки процесора по всьому запам'ятовуючому пристрою. Прикладами є як прості асоціативні запам'ятовуючі пристрої, так і складні асоціативні процесори.

Рис. 2.10 Машина V Рис. 2.11 Машина VI

КЛАСИФІКАЦІЯ ХЕНДЛЕРА (розширення Ерланген)

В основу закладено критерії рівнобіжної і конвеєрної обробки інформації. Упереджено не розглядаються можливі методи зв'язку між процесорами і блоками пам'яті. Вважається, що комунікаційна мережа може бути сконфігурована потрібним чином і в стані витримати передбачуване навантаження.

Класифікація базується на специфіці трьох рівнів обробки даних у процесі виконання програм:

· рівень виконання програми - контролюючи лічильник команд і деякі інші регістри, пристрій керування КП здійснює вибірку і дешифрування команд програми;

· рівень АЛП- арифметико-логічний пристрій АЛП комп'ютера виконує команду, задану йому пристроєм керування КП;

· рівень бітової обробки - всі елементарні логічні схеми ЕЛС процесора розбиваються на групи, необхідні для виконання операцій над одиничними двійковими розрядами.

Допускається, що ОС включає в конвеєрі певне число процесорів Пpk, кожний з автономним КП, які зв'язані з кількома АЛПd, що виконують ту саму операцію в кожен поточний момент часу. Кожен з АЛП поєднує кілька ЕЛС, асоційованих з обробкою одиничного двійкового розряду (число ЕЛС = довжині машинного слова).

Не аналізуючи типу конвеєризації, кожну ОС можна подати трійкою характеристичних параметрів (Ерлангерський триплет):

· k - число процесорів (із пристроями керування КП) в конвеєрі, що одночасно інтерпретують програму;

· d - число АЛП, керованих одним із k пристроїв керування КП;

· w - розрядність слова, або число ЕЛС у кожному з d AЛР:

t(C) = (k, d, w)

Таким чином, деякі відомі ОС будуть подані як:

t(MINIMA) = (1, 1, 1);

.t(IBM701) = (1, 1, 36);

t(SOLOMON) = (1, 1024, 1),

t(lLLIAC IV) = (1, 64, 64);

t(STARAN) = (1, 8192, 1) - у повній конфігурації;

t(C.mmp) = (16, 1, 16) - основний режим роботи;

t(PRIME) = (5, 1, 16):

t(BBN Butterfly GP1000) = (256, 1, 32).

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

Наведена Ерланген-характеристика дозволяє трактувати параметри довільної ОС у тривимірному просторі координат як прямокутну фігуру із розмірами сторін, пропорційними значенням параметрів, об'єм якої визначає потенційний ступінь паралелізму в термінах Фенга, або відносну пікову продуктивність (рис.2.12).

Рис. 2.12 Трактування Ерлангерського триплету у тривимірному просторі координат

Розширимо можливості опису, передбачивши можливість конвеєрної обробки на кожному з рівнів.

Конвеєризація на самому нижньому рівні (тобто на рівні ЕЛС) це конвеєризація функціональних пристроїв. Якщо w' функціональних пристроїв ФП обробляють w-розрядні слова на кожному з w' ступіней конвеєра, то для характеристики паралелізму даного рівня природно розглянути добуток wxw'. Знак множення ч використовується на кожному рівні з метою відокремлення числа, що визначає склад обчислювального ресурсу від числа ступіней у конвеєрі.

Комп'ютер ТІ ASC має чотири конвеєрних пристрої по вісім ступіней у кожному для обробки 64-х розрядних слів, тому він описується як:

t(TIASC) = (1,4, 64x8)

Наступний рівень конвеєрної обробки - це конвеєризація .Передбачається, що в ОС є кілька ФП, які можуть працювати одночасно в рамках одного потоку команд (зачеплення ФП). Історично першою була система CDC 6600, що містить 10 незалежних послідовних ФП, утворивши в конвеєрі єдиний потік команд:

t(CDC 6600) = (1, 1x10, 64)

(центральний процесор без керуючих і периферійних підсистем).

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

t(PEPE) = (1x3, 288, 32)

Після розширення трирівневої моделі паралелізму (рис.2.13) засобами опису потенційних можливостей конвеєризації кожна трійка

t(OC) = (kxk', dxd', wxw')

інтерпретується так:

k - число процесорів, що працюють в системі конвеєра;

k' -- число конвеєрних систем в макроконвеєрі (довжина макроконвеєра);

d- число АЛП під керуванням одного із КП в кожному процесорі;

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

w- чисіпо' розрядів у слові, що обробляються в АЛП паралельно;

w'-число ступіней арифметичного конвеєра виконання однієї команди (довжина конвеєра мікрокоманд).

Зв'язок між класифікацією Фенга і класифікацією Хендлера: Максимального ступінь паралелізму в термінах Фенга визначається добутком шести величин в описі Хендлера. Явна вказівка на присутній паралелізм і можливу конвеєризацію знімає питання, характерні для схем Флінна, Шора і Фенга, у плані опису векторно-конвеєрних машин.

Рис. 2.13 Розширення трирівневої моделі паралелізму

Запропоновані три формальні операції, дозволяють також описати:

· складні структури з процесорними підсистемами вводу-виведення, хост-компьютером чи іншими особливостями;

· можливі режими функціонування ОС, що підтримуються для оптимальної відповідності щодо структури виконуваних програм.

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

Згаданий комп'ютер CDC 6600 можна уточнити як:

t(CDC 6600) = (10, 1, 12) x(1, 1x10, 64),

де перший аргумент трактує десять 12-ти розрядних периферійних процесорів і, що кожна програма повинна спочатку бути оброблена одним з них і лише після цього передана ЦП для виконання. Аналогічно для машини РЕРЕ, в комплексі хост-компьютера CDC 7600:

t(PEPE)=t(CDC 7600X7x3, 288, 32)=(15, 1, 12)x(1, 1x9, 60)x(1x3, 288, 32)

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

t(n,d,w) = [{(1,d,w) +... + (1,d,w)}] {n раз}.

У випадку CDC 7600 уточнений запис набуває виду:

(15, 1, 12)x(1, 1x9, 60)=[(1, 1, 12)+... +(1, 1, 12)]} {15 разів} х(1, 1x9, 60)

говорить про те, що кожна задача може захопити свій периферійний процесор, а потім вони одна за однією вони будуть надходити в ЦП.

Третя операція - операція альтернативи (V), показує можливі альтернативні режими функціонування обчислювальної системи. Чим більше для системи властиво таких режимів, тим більше гнучкою архітектурою вона володіє. Наприклад, комп'ютер C.mmp може бути запрограмований для використання в трьох принципово різних режимах:

t(C.mmp) = (16, 1, 16) V(1*16, 1, 16) V(1, 16, 16).

Класифікація Базу

А.Базу (A.Basu). Будь-яку рівнобіжну ОС можна однозначно описати послідовністю рішень, прийнятих на етапі її проектування, а сам процес проектування представити у виді дерева, в якому корінь - це ОС, а наступні яруси дерева, фіксуючи рівень паралелізму, метод реалізації алгоритму, паралелізм інструкцій і спосіб керування, послідовно доповнюють один одного, формуючи специфікацію системи (рис.2.14).

На першому етапі визначається, який рівень паралелізму використовуватиметься в ОС. Та сама операція може одночасно виконуватися над цілим набором даних, визначаючи паралелізм на рівні даних (позначається буквою D на малюнку). Здатність виконувати більше однієї операції одночасно говорить про паралелізм на рівні команд (буква О на малюнку). Якщо ж комп'ютер спроектований так, що цілі послідовності команд можуть бути виконані одночасно, то будемо говорити про паралелізм на рівні задач (буква Т ).

Рис. 2.14 Класифікація Базу

Другий рівень у класифікаційному дереві визначає метод реалізації алгоритму. З появою надвеликих інтегральних схем (НВІС) стало можливим реалізовувати апаратно не тільки прості арифметичні операції, але й цілком алгоритми. Наприклад, швидке перетворення Фур'є, добуток матриць і LU-розкладання відносяться до класу тих алгоритмів, що можуть бути ефективно реалізовані на НВІС'ах. Даний рівень класифікації розділяє системи з апаратною реалізацією алгоритмів (буква С на схемі) і системи, що використовують традиційний спосіб програмної реалізації (буква Р).

Третій рівень конкретизує тип паралелізму, використаного для обробки команд машини: конвеєризація команд (Рi) чи їх незалежне (рівнобіжне) виконання (РЙ), У більшій мірі цей вибір відноситься до комп'ютерів із програмною реалізацією алгоритмів, тому що апаратна реалізація завжди припускає рівнобіжне виконання команд. Відзначимо, що у випадку конвеєрного виконання мається на увазі лише конвеєризація самих команд, що розбиває весь цикл обробки на вибірку команди, дешифрування, обчислення адрес і т.д., - можлива конвеєризація обчислень на даному рівні не приймається до уваги. Четвертий рівень визначає спосіб керування, прийнятий в ОС: синхронний (S) чи асинхронний (А). Якщо виконання команд відбувається в строгому порядку, обумовленому тільки сигналами таймера і лічильником команд, то будемо говорити про синхронний спосіб керування. Якщо ж для ініціації команди визначальними є такі фактори, як, наприклад, готовність даних, то попадаємо в клас машин з асинхронним керуванням. Найбільш характерними представниками систем з асинхронним керуванням є data-driven і demand-driven комп'ютери

Проаналізувавши основні принципи класифікації, визначимо, куди попадають різні типи рівнобіжних ОС.

Вивчення систолічних масивів, що мають, як правило, одномірну чи двовимірну структуру, показує, що позначення DCPaS і DCPaA можуть бути використані для їхнього опису в залежності від того, як відбувається обмін даними: синхронно чи асинхронне. Систолічні дерева, введені Кунгом для обчислення арифметичних виразів, можуть бути описані як OCPaS або ОСРаA згідно аналогічних міркувань. Конвеєрні комп'ютери, такі, як IBM 360/91, Amdahl 470/6 і багато сучасних RISC-процесорів, що розбивають виконання всіх інструкцій на кілька етапів, у даній класифікації мають позначення OPP/S. Більш природне застосування конвеєризації відбувається у векторних машинах, у яких одна команда застосовується до вектора незалежних даних, і за рахунок безупинного використання арифметичного конвеєра досягається значне прискорення.

До таких комп'ютерів підходить позначення DPPiS. Матричні процесори, у яких множина арифметичних пристроїв працює одночасно в строго синхронному режимі, належать до групи DPPaS. Якщо ОС типу CDC 6600 має процесор з окремими функціональними пристроями, що керуються централізовано, то її опис виглядає так: OPPaS. Data-flow комп'ютери, у залежності від особливостей реалізації, можуть бути описані як ОРРiAi або ОРРaA·

Системи з декількома процесорами, що використовують паралелізм на рівні задач, не завжди можна коректно описати в рамках запропонованого формалізму. Якщо процесори додатково не використовують паралелізм на рівні операцій чи даних, то для опису можна використовувати лише букву Т, В іншому випадку Базу пропонує використовувати знак '*' між символами, що позначають рівні паралелізму, що одночасно використовуються системою. Наприклад, комбінація T*D означає, що деяка система може одночасно виконувати кілька задач, причому кожна з них може використовувати векторні команди.

Дуже часто в реальних системах присутні особливості, характерні для комп'ютерів з різних груп даної класифікації. У цьому випадку для коректного опису автор використовує знак '+'. Наприклад, практично усі векторні комп'ютери мають скалярну і векторну частини, що можна описати як OPPiS+DPPiS (приклад - це ТІ ASC і CDC STAR-100). Якщо в системі є можливість одночасного виконання більш однієї векторної команди (як у CRAY-1) то для опису векторної частини можна використовувати запис O*DPPiS, а повний опис даного комп'ютера виглядає так: O*DPPiS+OPPiS. Діючи за таким принципом, можна визначити і системи CRAY X-MP і CRAY Y-MP, які поєднують кілька процесорів, що мають схожу з CRAY-1 структуру, тому їхній опис має вид: T*(О*DРРіS + ОРРіS).

КЛАСИФІКАЦІЯ ШНАЙДЕРА

Класифікація Л.Шнайдера (L. Snyder) (1988 p.) опису архітектур рівнобіжних обчислювальних систем, що попадають у клас SIMD систематики Флинна, полягає у виділенні етапів вибірки і безпосередньо виконання в потоках команд і даних. Поділ потоків на адреси і їхній вміст дозволяє описати такі раніше "незручні" для класифікації архітектури, як комп'ютери з довгим командним словом, систолічні масиви і ряд інших.

Визначимо потоком посилань (reference stream) S деякої ОС кінцеву множину нескінченних послідовностей пар:

S = {(a1 <t1>)(а2<t2>)..., (b1 <и1>)(b2<и2 >)...,

(c1<v1>)(c2<v2 >)...},

де перший компонент кожної пари - ціле число, назване адресою, другий компонент - це набір з n додатних цілих чисел, названих значеннями, причому n однакове для всіх наборів усіх послідовностей. Наприклад, пара (b2<и2>) визначає адресу b2 і значення <и2>. Якщо значення розглядати як команди, то з потоку посилань одержимо потік команд i; якщо ж значення інтерпретувати як дані, то відповідний потік - це потік даних D.

Інтерпретація введених понять полягає у наступному. Елементи кожної послідовності - адреса і її вміст, зчитані з (чи записувані в) пам'ять. Послідовність пар адреса-значення можна розглядати як історію виконання команд або переміщення даних між процесором і пам'яттю комп'ютера під час виконання програми. Число інструкцій, що даний комп'ютер може виконувати одночасно, визначає число послідовностей у потоці команд. Аналогічно, число різних даних, що комп'ютер може обробити одночасно, визначає число послідовностей у потоці даних. Нехай S - довільний потік посилань. Послідовність адрес потоку S що позначається Sa, - це послідовність, чий i-й елемент - набір, сформований з адрес i-х елементів кожної послідовності з S:

Sa = <а1 b1 ...с1 >, <а2 b2 ...с2 > ,...

потоку S, означена Sv - послідовність, чий i-й елемент - набір, утворений злиттям наборів значень i-х елементів кожної послідовності з S:

Sv= <t1 u1 ...v1 >, <t2 u2 ...v2 > ,...

Якщо Sx - послідовність, елементів, де кожен елемент - набір з з чисел, "ширини" послідовності позначається як: w(Sx) = n.

З визначень Sa, Sv і w випливає твердження:

якщо S - це потік посилань зі значеннями з з чисел, то (1)

w(Sa) = |S|

w(Sv) = n|S|,

де |S| позначає потужність множини S.

Кожну пару (I, D) з потоком команд I потоком даних D будемо називати обчислювальним шаблоном, а всі комп'ютери будемо розбивати на класи в Залежності від того, який шаблон вони можуть виконати. Справді, комп'ютер може виконати шаблон (І, D), якщо він у стані:

· видати w(Ia) адрес команд для одночасної вибірки з пам'яті;

· декодувати і проінтерпретувати одночасно w(lv) команд;

· видати одночасно w(Da) адрес операндів;

· виконати одночасно w(Dv) операцій над різними даними.

Якщо всі умови виконані, то комп'ютер описується у такий спосіб:

Iw(ta)w(lv)Dw(Da)w(Dv)

Розглянемо класичну послідовну машину. Відповідно до класифікації Флінна, вона попадає в клас SISD, отже |I| = |D| = 1. Використовуючи твердження 1, одержуємо, що w(Ia) = w(Da) = 1. Через те, що в подібного роду комп'ютерах команди декодуются послідовно, випливає рівність w(Iv) = 1, а послідовне виконання команд дає w(Dv) = 1. Тому опис однолроцесорної машини з фон-неймановською архітектурою буде виглядати так:

I1,1D1,1

При аналізі ОС із класу SIMD: Goodyear Aerospace MPP і ILLIAC IV не береться до уваги різниця в способах обробки даних окремими процесорними елементами. Єдиний потік команд означає |I| = 1 для обох ОС. Для потоку команд одержуємо рівність w(Ia) = w(Iv) = 1. Далі, для доступу до операндів пристрій керування МРР розсилає ту саму адресу всім процесорним елементам, тому в цій термінології МРР має єдину послідовність у потоці даних, тобто |D| = 1. Однак потім вибірка даних з пам'яті і наступна обробка здійснюється в кожному процесорному елементі, тому w(Dv)=16384, а вся система МРР описується як:

I1,1D1,16384

В ILL1AC IV пристрій керування, так само, як і в МРР, розсилає ту саму адресу всім процесорним елементам, однак кожний з них може одержати свою унікальну адресу, додаючи вміст локального індексного регістра. Це означає, що |D| = 64 і в системі присутні 64 потоки адрес даних, що визначають одиночні потоки операндів, тобто w(Da) = w(Dv) = 64. Підсумовуючи сказане, приходимо до опису ILLIAC IV:

I1,1D64,64

Для більш чіткої класифікації уводиться три предикати для позначення значень, що можуть приймати величини w(Ia), w(Iv), w(Da) і w(Dv):

· s - предикат "дорівнює 1";

· c - предикат "від 1 до якоїсь (невеликої) константи";

· m - поедикат "від 1 до довільно великого кінцевого числа".

У цих позначеннях, наприклад, фон-неймановська машина належить до класу IssDss. Незважаючи на те, що і 'с' і 'т' у принципі не мають визначеної верхньої границі, вони відбивають різні властивості архітектури комп'ютера. Визначник 'с' припускає тверді обмеження зверху з боку апаратури, і відповідний параметр не може бути значно збільшений відносно простими засобами. Прикладом може служити число інструкцій, упакованих у командному слові VLI комп'ютера. З іншого боку, визначник 'т' використовується тоді, коли величина, що позначається, може бути легко змінена, тобто, комп'ютер за даним параметром масштабується. Наприклад, відносна простота в збільшенні числа процесорних елементів у системі МРР є підставою для того, щоб віднести її до" класу lssDsm. Звичайно ж, розходження між 'с' і 'т' у достатній мірі умовне і; як правило, породжує масу питань. Зокрема, як описати машину, у якій процесори зв'язані через загальну шину? З одного боку; немає ніяких принципових обмежень на число процесорів, що підключаються. Однак кожен додатковий процесор збільшує завантаженість шини, і при досягненні деякого порога, підключення нових процесорів немає сенсу. Як описати таку систему, 'с', чи 'm' - дане питання залишається відкритим.

На основі зазначених предикатів можна виділити наступні класи комп'ютерів:

IssDss - фон-неймановські машини;

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

IssDsm - SIMD-комп'ютери без можливості одержання унікальної адреси для даних у кожному процесорному елементі, що включають МРР, Connection Machine 1 так само, як і систолічні масиви.

IssDсс - багатовимірні SIMD-машини - фон-неймановські машини, здатні розщеплювати потік даних на незалежні потоки операндів;

IssDmm - це SIMD-комп'ютери, що мають можливість незалежної модифікації адрес операндів у кожному процесорному елементі, наприклад, ILLIAC IV і Connection Machine 2.

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

IccDcc - багатовимірні MIMD-машини. Фон-неймановські машини, що можуть розщеплювати свій цикл вибірки/виконання з метою обробки паралельно декількох незалежних команд.

ImmDmm - до цього клзсу відносяться всі комп'ютери типу MIMD.

Досить ясно, що не потрібно розглядати всі можливі комбінації визначників 's', 'c' і 'т', тому що архітектура реальних комп'ютерів накладає ряд цілком розумних обмежень. Очевидно, що число адрес w(Sa) не повинне перевищувати числа повернутих значень w(Sv), що комп'ютер може обробити. Звідси випливають нерівності: w(Ia) < w(Iv) і w(Da) < w(Dv). Іншим природним припущенням є той факт, що число виконуваних команд не повинне перевищувати числа оброблюваних даних: w(Iv) <w(Dv).

Підводячи підсумок, можна відзначити два позитивних моменти в класифікації Шнайдера: більш вибіркова систематизація SIMD комп'ютерів і можливість опису нетрадиційних архітектур типу систолічних чи масивів комп'ютерів з довгим командним словом. Однак майже всі ОС типу MIMD знову потрапили в той самий клас /mmDmm , тому що критерій класифікації, який грунтується лише на потоках команд і даних без врахування розподілу пам'яті і топології міжпроцесорних зв'язків, виявляється недосконалий для подібних систем.

Размещено на Allbest.ru


Подобные документы

  • Особливості архітектури комп'ютерних мереж. Апаратні та програмні засоби комп'ютерних мереж, їх класифікація та характеристика. Структура та основні складові комунікаційних технологій мереж. Концепції побудови та типи функціонування комп'ютерних мереж.

    отчет по практике [1,2 M], добавлен 12.06.2015

  • Вивчення історії кафедри "Комп’ютерної інженерії". Дослідження процесу складання, монтажу, налагодження, тестування апаратного забезпечення комп’ютерних систем і мереж. Науково-дослідні роботи у лабораторії "Програмного забезпечення комп’ютерних систем".

    отчет по практике [23,9 K], добавлен 01.03.2013

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

    отчет по практике [72,0 K], добавлен 07.07.2010

  • Поняття пам’яті в комп’ютері. Класифікація сучасних персональних комп’ютерів за їх ознаками. Основні принципи будови та функціонування комп'ютерних систем. Функціональність смартфонів і комунікаторів в порівнянні із звичайними мобільними телефонами.

    курсовая работа [70,3 K], добавлен 31.01.2014

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

    курсовая работа [318,4 K], добавлен 01.03.2013

  • Таксономія як наука про систематизації та класифікації складноорганізованих об'єктів і явищ, що мають ієрархічну будову, її принципи та значення. Загрози безпеці комп'ютерних систем, прийоми та методи її забезпечення. Механізми шифрування інформації.

    контрольная работа [13,2 K], добавлен 26.01.2011

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

    реферат [158,1 K], добавлен 27.09.2012

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.