Читайте также:
|
|
Подальше підвищення продуктивності сучасних ОС практично неможливо за рахунок удосконалення елементної бази, оскільки вона досягла своїх фізичних меж (30см/нс). Шлях вирішення даної проблеми можливий за рахунок реалізації різних форм паралелізму в обчисленнях. Для забезпечення можливості їх реалізації в даний час використовуються багатомашинні і мультипроцесорні ОС.
Багатомашинні ОС - це комплекс, що складається із зв'язаних ЕОМ, кожна з яких працює під управлінням власною ОС.
Мультипроцесорні ОС - містять велике число процесорів, які сполучені між собою через загальне поле ОП і управляються єдиній ОС. Даний тип ОС може бути однорідним (до складу комплексу включаються однакові ЕОМ) і неоднорідні. Залежно від реалізованого принципу управління розрізняють централізовані і децентрализовані ОС. До складу централізованих ОС включається спеціальна ЕОМ, що управляє, яка забезпечує узгоджену роботу решти машин. У децентрализованих ОС функції управління розподіляються між кожним із складових компонентів.
Окрім забезпечення максимальної продуктивності у ОС вирішується і завдання забезпечення живучості, тобто забезпечення можливості продовження рішення задачі у разі відмови системи.
Всі багатомашинні і мультипроцесорні ОС відносяться до класу СуперЕОМ. СуперЕОМ - це система універсального призначення надвисокої продуктивності. У 1991 році в світі було 760 СуперЕОМ вартістю $8,6млрд. З них 2/3 машини було випущено CrayResearch. Для визначення структури мультипроцесорною ОС зручно користуватися класифікацією Фліна.
Відповідно до неї можливі 4 типи структури:
Серед всіх даних систем класифікації ОС найбільше визнання отримала класифікація, запропонована в 1966 році М. Фліном [99, 100]. У її основу покладено поняття потоку, під яким розуміється послідовність елементів, команд або даних, оброблювана процесором. Залежно від кількості потоків команд і потоків даних Флін виділяє чотири класи архітектури: SISD, MISD, SIMD, MIMD.
SISD (Single Instruction Stream/Single Data Stream) — одиночний потік команд і одиночний потік даних (рис. 6.1 ). Представниками цього класу є, перш за все, класичні фон-Нейманівскі ОМ, де є тільки один потік команд, команди обробляються послідовно і кожна команда ініціює одну операцію з одним потоком даних. Те, що для збільшення швидкості обробки команд і швидкості виконання арифметичних операцій може застосовуватися конвеєрна обробка, не має значення, тому в клас SISD одночасно потрапляють як ОМ CDC 6600 зі скалярними функціональними пристроями, так і CDC 7600 з конвеєрними. Деякі фахівці вважають, що до SISD-систем можна зарахувати і векторно-конвеєрні ОС, якщо розглядати вектор як неподільний елемент даних для відповідної команди.
Рис. 6.1. Архітектура SISD
MISD (Multiple Instruction Stream/Single Data Stream) — множинний потік команд і одиночний потік даних (рис.6.2 ). З визначення виходить, що в архітектурі ОС присутня безліч процесорів, які оброблюють один і той же потік даних. Прикладом могла б служити ОС, на процесори якої подається спотворений сигнал, а кожен з процесорів обробляє цей сигнал за допомогою свого алгоритму фільтрації. Проте ні Флін, ні інші фахівці в області архітектури комп'ютерів до цих пір не зуміли представити переконливий приклад реально існуючої обчислювальної системи, побудованої на даному принципі. Ряд дослідників [117,121, 213] відносить до даного класу конвеєрні системи, проте це не знайшло остаточного визнання. Звідси прийнято вважати, що поки даний клас порожній. Наявність порожнього класу не слід вважати недоліком класифікації Фліна. Такі класи, на думку деяких дослідників [84,192], можуть стати надзвичайно корисними для розробки принципово нових концепцій в теорії і практиці побудови обчислювальних систем.
Рис.6.2. Архітектура MISD
SIMD (Single Instruction Stream/Multiple Data Stream) — одиночний потік команд і множинний потік даних (рис.6.3). ОМ даної архітектури дозволяють виконувати одну арифметичну операцію відразу над багатьма даними — елементами вектора. Безперечними представниками класу SIMD вважаються матриці процесорів, де єдиний пристрій, що управляє, контролює безліч процесорних елементів. Всі процесорні елементи отримують від пристрою управління однакову команду і виконують її над своїми локальними даними В принципі в цей клас можна включити і векторно-конвеєрні ОС, якщо кожен елемент вектора розглядати як окремий елемент потоку даних.
Рис.6.3.Архітектура SIMD
MIMD (Multiple Instruction Stream/Multiple Data Stream) — множинний потік команд і множинний потік даних (рис.6.4 ). Клас припускає наявність в обчислювальній системі безлічі пристроїв обробки команд, що об'єднані в єдиний комплекс і працюють кожний зі своїм потоком команд і даних. Клас MIMD надзвичайно широкий, оскільки включає всілякі мультипроцесорні системи. Крім того, залучення до класу MIMD залежить від трактування. Так, раніше згадувані векторно-конвеєрні ОС можна цілком віднести і до класу MIMD, якщо конвеєрну обробку розглядати як виконання безлічі команд (операцій ступенів конвеєра) над множинним скалярним потоком.
Рис. 6.4.Архітектура MIMD
Схема класифікації Фліна аж до теперішнього часу є найбільш поширеною при первинній оцінці тієї або іншої ОС, оскільки дозволяє відразу оцінити базовий принцип роботи системи, чого часто буває достатньо. Проте у класифікації Фліна є і очевидні недоліки, наприклад нездатність однозначно віднести деяку архітектуру до того або іншого класу. Інша слабкість — це надмірна насиченість класу MIMD. Все це породило множинні спроби або модифікувати класифікацію Фліна, або запропонувати іншу систему класифікації.
Таким чином, відповідно до класифікації Фліна є наступні структури:
§ однопроцесорні системи - ОКОД (SISD) - одиничний потік команд - одиничний потік даних (Рис.6.5.)
Рис.6.5.
§ ОКМД (SIMD) - одиничний потік команд - множинний потік даних (Рис.6.6.)
Рис.6.6.
§ МКОД (MISD) - конвеєрна система (Рис.6.7.)
Рис.6.7.
§ МКМД (MIMD) - конвеєрно-векторна система
Правило Фліна: на кожен мільйон операцій в процесорі необхідний Мбайт ОП.
Доцільно також привести класифікацію ПОС залежно від принципу організації оперативної пам'яті (рис.6.8).
Рис.6.8. Клаифікація ПОС залежно від принципу організації ОП.
У обчислювальних систем, об'єднуючих безліч паралельно працюючих процесорів або машин, завдання правильної організації пам'яті є однією з найважливіших. Відмінність між швидкодією процесора і пам'яті завжди була каменем спотикання в однопроцесорних ОМ. Багатопроцесорність ОС приводить ще до однієї проблеми — проблеми одночасного доступу до пам'яті з боку декількох процесорів.
Залежно від того, яким чином організована пам'ять багатопроцесорних (багатомашинних) систем, розрізняють обчислювальні системи із загальною пам'яттю (shared memory) і ОС із розподіленою пам'яттю (distributed memory). У системах із загальною пам'яттю (її часто називають також спільно використовуваною пам'яттю, що розділяється) пам'ять ОС розглядається як загальний ресурс, і кожен із процесорів має повний доступ до всього адресного простору. Системи із загальною пам'яттю називають сильно зв'язаними ( closely coupled systems). Подібна побудова обчислювальних систем має місце як в класі SIMD, так і в класі MIMD.
У варіанті з розподіленою пам'яттю кожному з процесорів додається власна пам'ять. Процесори об'єднуються в мережу і можуть при необхідності обмінюватися даними, що зберігаються в їх пам'яті, передаючи один одному так звані повідомлення. Такий вид ОС називають слабо зв'язаними (loosely coupled systems). Слабо зв'язані системи також зустрічаються як у класі SIMD, так і у класі MIMD.
Дата добавления: 2015-10-28; просмотров: 216 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Сигнальні процесори DSP сімейства ADSP21XX | | | Системи з масовим паралелізмом |