Комп’ютерні системи класу miмd: мультипроцесорні, мультикомп’ютерні, системи з неоднорідним доступом до оперативної пам’яті ( NUMA системи), кластерні системи, GRID системи 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Комп’ютерні системи класу miмd: мультипроцесорні, мультикомп’ютерні, системи з неоднорідним доступом до оперативної пам’яті ( NUMA системи), кластерні системи, GRID системи



Мультипроцесорні комп’ютерні системи

Загальна характеристика мультипроцесорних комп’ютерних систем

В мультипроцесорних КС спільним ресурсом є оперативна пам’ять. Паралельна робота процесорів і використання загальної оперативної пам’яті забезпечується управлінням єдиної операційної системи.

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

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

Якщо всі процесори мають рівний доступ до всіх модулів пам’яті і до всіх пристроїв введення/виведення і кожен процесор взаємозамінний з іншими процесорами, то така система називається симетричним мультипроцесором (SMP - Symmetric Multiprocessor), якщо ні, то така система називається асиметричним мультипроцесором ( АSMP ).

Симетричні мультипроцесорні КС (SMP) бувають з архітектурою UMA, COMA, NUMA.

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

Обчислювальні системи із загальною пам’яттю, де доступ будь-якого процесора до пам’яті проводиться одноково і займає однаковий час, називають системами з однорідним доступом до пам’яті і позначають абревіатурою UMA (Uniform Memory Access). Це найбільш поширена архітектура пам’яті паралельних КС із загальною пам’яттю.

Технічно UMA-системи припускають наявність вузла, що сполучає кожний з процесорів з кожним з модулів пам’яті. Найпростіший шлях побудови таких КС - об’єднання декількох процесорів з єдиною пам’яттю за допомогою загальної шини (рис.15.1). Проте, в цьому випадку в кожен момент часу обмін по шині може вести тільки один з процесорів, тобто процесори повинні змагатися за доступ до шини. Коли процесор Рi, вибирає з пам’яті команду, решта процесорів повинна чекати, поки шина звільниться. Якщо в систему входять тільки два процесори, вони в змозі працювати з продуктивністю, близькою до максимальної, оскільки їх доступ до шини можна чергувати (поки один процесор декодує і виконує команду, інший має право використовувати шину для вибору з пам’яті наступної команди). Проте коли додається третій процесор, продуктивність починає падати (рис.15.2). За наявності на шині десяти процесорів, крива швидкодії шини стає горизонтальною, так що додавання 11-го процесора вже не дає підвищення продуктивності (рис.15.2). Тому дана схема широкого застосування не знайшла.

Можна оптимізувати архітектуру UMA, додаючи локальний кеш і локальну пам’ять до кожного з процесорів (рис.15.3).

Рисунок 15.1 – Багатопроцесорна архітектура UMA

 

Рисунок 15.2 – Продуктивність багатопроцесорних КС з архітектурою UMA

 

 

 

Рисунок 15.3 – Оптимізована багатопроцесорна архітектура UMA

 

Щоб оптимально використовувати конфігурацію вказану на рис.15.3, компілятор повинен помістити в локальні модулі пам’яті весь текст програми, ланцюжки, константи, інші дані, призначені тільки для читання, стечи і локальні змінні. Загальна розділена пам’ять використовується тільки для загальних змінних. В більшості випадків таке розумне розміщення сильно скорочує кількість даних, що передаються по шині, і не вимагає активного втручання з боку компілятора.

Навіть при всіх можливих оптимізаціях використання тільки однієї шини обмежує розмір мультипроцесора UMA до 16 або 32 процесорів. Щоб отримати більший розмір, потрібний інший тип комунікаційної мережі. Найпростіша схема з’єднання n процесорів з k блоками пам’яті через координатний комутатор (рис.15.4). Координатні комутатори використовуються впродовж багатьох десятиліть для з’єднання групи вхідних ліній з рядом вихідних ліній довільним чином.

Координатний комутатор є мережею, що не блокується. Це означає, що процесор завжди буде зв’язаний з потрібним блоком пам’яті, навіть якщо якась лінія або вузол вже зайняті. Більш того, ніякого попереднього планування не потрібно.

Недолік системи: зростання вузлів як n2. За наявності 1000 процесорів і 1000 модулів пам’яті отримуємо число вузлів - 1 млн. Це неприйнятно. Проте координатні комутатори можна застосовувати для систем середніх розмірів.

Рисунок 15.4 – Координатний комутатор

 

Мультипроцесорна комп’ютерна система Sun Enterprise 10000:

Характеристики мультипроцесорної КС Sun Enterprise 10000(рис.15.5):

- архітектура UMA з одного корпусу з 64 процесорами;

- координатний комутатор GIGAPLAHE-XB 16х16 запакований в плату, що містить 8 гнізд з двох боків;

- кожне гніздо вміщує велику плату процесора (40x50 см), що містить 4 процесори ULTRASPARC на 333 Мгц і ОЗУ на 4 Гбайт;

- жорсткі вимоги до синхронізації і малий час очікування;

- доступ до пам’яті поза платою займає стільки ж часу, що і доступ до пам’яті на платі;

- довжина рядка кеш-пам’яті складає 64 байти, а ширина каналу зв’язку складає 16 байтів, тому для переміщення рядка кеш-пам’яті потрібно 4 цикли;

- крім координатного комутатора є 4 адресних шини, які використовуються для відстежування рядків в кеш-пам’яті. Кожна шина використовується для 1/4 фізичного адресного простору.

 

Рисунок 15.5 – Мультипроцесор Sun Enterprice 10000

 

Мультипроцесори типу COMA

Особливості к омп’ютерної системи типу COMA:

- локальна пам’ять кожного процесора розглядається як кеш для доступу «свого» процесора;

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

- дані не прив’язані до конкретного модуля пам’яті і не мають унікальної адреси, що залишається незмінним протягом всього часу існування змінної;

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

Переваги: завжди єдина копія даних в швидкому локальному кеші.

Недолік: якщо дані потрібні декільком процесорам, то рядок кеша з даними повинен переміщатися туди і назад при кожному доступі до даних.

 



Поделиться:


Последнее изменение этой страницы: 2021-12-15; просмотров: 157; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.189.180.76 (0.01 с.)