Симетричні мультипроцесорні системи

 
  • Версія друку Весь реферат без реклами та завантаження шаблону:)
  •  
    З предмету: «Методи паралельних обчислень».
    Тема: «Симетричні мультипроцесорні системи».
     


    Зміст.
    Вступ.
    1. Структурна організація SMP-систем
    2. Системи з багатопортовою пам'яттю
    3. Системи з центральним пристроєм керування.
    4. Особливості операційних систем мультипроцесорних комплексів.
    5. SMP-системи на базі великих обчислювальних машин.
    6.Висновок.
    Список використаної літератури.
    Вступ.
    До останнього часу практично всі персональні комп'ютери і робочі станції мали в своєму складі єдиний процесор загального призначення. Прагнення до зниження вартості мікропроцесорів і підвищення їхньої продуктивності спонукало виготовлювачів комп'ютерів усе ширше впроваджувати в практику системи, що ми віднесли до класу симетричних мультипроцесорних. Для цього класу характерні наступні відмітні ознаки.
    Наявність двох або більше однакових або близьких за характеристиками процессорів.
    Процесори мають доступ до загальної пам'яті, з якою вони з’єднані або через загальну системну магістраль, або через інший механізм забезпечення взаємодії, але в будь-якому випадку час доступу до ресурсів пам'яті з боку будь-якого процесора приблизно однаковий.
    Процесори мають доступ до загальних засобів вводу-виводу або через один канал, або через роздільні канали.
    Усі процесори здатні виконувати однаковий набір функцій (звідси і визначення симетрична система).
    Весь комплекс керується загальною операційною системою, що забезпечує взаємодію між процесорами і програмами на рівні задач, файлів і елементів даних.
    Перші чотири ознаки в цьому списку коментувати не потрібно. Що стосується п'ятої ознаки, то в ній виявляється найбільш важлива відмінність SMP-систем від кластерних систем, у яких взаємодія між компонентами здійснюється, як правило, на рівні окремих повідомлень або повних файлів. У SMP-системі можливий обмін інформацією між компонентами і на рівні окремих елементів даних і, таким чином, можна організувати більш тісну взаємодію між процесами. У SMP-системі розподіл процесів або потоків задач між окремими процесорами покладається на операційну систему.
    Найбільш істотні переваги SMP-систем перед однопроцесорними полягають у наступному.
    Підвищення продуктивності. Якщо-окремі задачі програми можуть виконуватися паралельно, система, що вміщує безліч процесорів, буде працювати швидше, ніж система з одним процесором того ж типу (рис. 2.1).
    Надійність. Оскільки всі процесори в SMP-системі однотипні і можуть виконувати ті самі задачі, у випадку відмовлення одного з них заплановану для нього задачу можна передати іншому процесорові. Відповідно, вихід з ладу одного з процесорів не приведе до втрати працездатності всієї системи.
    Можливість функціонального нарощування. Користувач може підвищити продуктивність системи, включивши до її складу додаткові процесори.
    Виробництво однотипних систем різної продуктивності. Виробник комп'ютерів може запропонувати клієнтам гаму систем з однаковою архітектурою, але різною вартістю і продуктивністю, що будуть відрізнятись кількістю процесорів.
    Потрібно відзначити, що всі ці переваги найчастіше є потенційними і далеко не завжди на практиці їхній вдається реалізувати.
    Дуже привабливою для користувачів особливістю SMP-систем є її прозорість. Операційна система бере на себе всі турботи по розподілу задач між окремими процесорами і синхронізації їхньої роботи.
    1 Структурна організація SMP-систем
    На рис. 2.2 показана узагальнена блок-схема мультипроцесорної системи. У складі системи є два або більше процесори, кожний з яких має у своєму розпорядженні весь комплект необхідних вузлів – пристрій керування, АЛП, регістри і блок кешу. Кожен процесор має доступ до головної пам'яті системи і пристроїв вводу-виводу через певну підсистему взаємодії. Процесори можуть обмінюватися даними і повідомленнями через головну пам'ять (для цього в ній виділяється окрема область зв'язку). Крім того, у системі може підтримуватися і можливість безпосереднього обміну сигналами між окремими процесорами. Часто загальна пам'ять організована таким чином, що процесори можуть одночасно звертатися до її різних блоків. У деяких варіантах систем процесори мають у своєму розпорядженні блоки локальної пам'яті і власних каналів вводу-виводу крім ресурсів загального користування.
    Варіанти структурної організації мультипроцесорних систем можна класифікувати в такий спосіб:
    системи з загальною або розподіленою в часі магістраллю;
    системи з багатопортовою пам'яттю;
    системи з центральним пристроєм керування.
    Системи з загальною магістраллю
    Використання загальної магістралі в режимі поділу часу – це найпростіший спосіб організації спільної роботи процесорів у SMP-системі (рис. 2.3). Структура магістралі й інтерфейс практично ті ж, що й в однопроцесорній системі. У складі магістралі передбачаються лінії даних, адреси і керуючих сигналів. Для спрощення роботи механізму прямого доступу до пам'яті з боку модулів вводу-виводу приймаються наступні заходи:
    Адресація організовується таким чином, що по коду адреси можна розрізняти модулі при визначенні джерел і приймачів даних.
    Арбітраж. Будь-який модуль вводу-виводу може тимчасово стати керівником магістралі. Арбітр за допомогою деякого механізму пріоритетів забезпечує вирішення конфліктів з появою конкуруючих запитів на керування магістраллю.
    Поділ часу. Коли один з модулів одержує право керування магістраллю, інші модулі блокуються і повинні, якщо в цьому є необхідність, призупинити виконання операцій і очікувати, поки їм буде наданий доступ до магістралі.
    Ці функції, звичайні для однопроцесорних систем, можна без особливих змін використовувати й у мультипроцесорній системі. Основна відмінність полягає в тому, що в боротьбі за право доступу до блоку пам'яті беруть участь не тільки модулі вводу-виводу, але і процесори.
    Магістральна структура зв'язків має кілька переваг у порівнянні з іншими підходами до реалізації підсистеми взаємодії.
    Простота. Цей варіант – найпростіший, оскільки фізичний інтерфейс, схема адресації, механізм арбітражу і логіка поділу ресурсів чи магістру залишаються, власне кажучи, такими ж, як і в однопроцесорній системі.
    Гнучкість. Систему з магістральною організацією зв'язків досить просто переконфігурувати, додавши до неї нові процесори.
    Надійність. Магістраль є пасивним середовищем, і вихід з ладу будь-якого підключеного до неї пристрою не приводить до втрати працездатності системи в цілому.
    Основний недолік системи з загальною магістраллю – обмежена продуктивність. Всі операції доступу до головної пам'яті повинні проходити по єдиному шляху – через загальну магістраль і, отже, швидкодія системи обмежена тривалістю циклу магістралі. Частково з цією проблемою дозволяє справитися оснащення кожного процесора власним блоком кеш-пам'яті, що знижує кількість звертань до головної пам'яті. Як правило, застосовується дворівнева організація кешу – кеш рівня L1 розміщається в ВІС процесора (внутрішній кеш), а кеш рівня L2 – зовнішній.
    Як ми вже не раз підкреслювали вище, застосування кеш-пам'яті в мультипроцесорній системі породжує проблему погодженості або інформаційної цілісності кешів окремих процесорів. Ми розглянемо методи її вирішення в розділі 3.
    2 Системи з багатопортовою пам'яттю
    Використання в SMP-системах багатопортової пам'яті дозволяє організувати пряме звертання кожного процесора і модуля вводу-виводу до загального масиву інформації, незалежно від всіх інших (рис. 2.4). При цьому кожен модуль пам'яті повинен бути оснащений логічною схемою вирішення можливих конфліктів. Для цього найчастіше портам назначаються певні пріоритети. Як правило, електричний і фізичний інтерфейс кожного порту ідентичний і стосовно пристрою, підключеного до цього порту, модуль пам'яті можна розглядати як однопортовий. Тому в схемі процесора або модуля вводу-виводу практично не потрібно проводити ніяких змін для підключення до багатопортової пам'яті.
    Істотно ускладнюється тільки схема блоку загальної пам'яті, але це окуповується за рахунок підвищення продуктивності системи в цілому, оскільки кожен процесор має свій канал для доступу до інформації спільного користування. Інша перевага систем з такою організацією – можливість виділення областей пам'яті для виняткового використання певним процесором (або групою процесорів). Це спрощує створення системи захисту інформації від несанкціонованого доступу і збереження програм відновлення в областях пам'яті, недоступних для модифікації іншими процесорами.
    Є ще один істотний момент при роботі з багатопортовою пам'яттю. При відновленні інформації в кеші будь-якого процесора необхідно виконувати наскрізний запис у головну пам'ять, оскільки не існує іншого способу сповістити інші процесори про внесення змін у дані.
    3 Системи з центральним пристроєм керування
    Центральний пристрій керування організовує роздільні потоки даних між незалежними модулями – процесорами, пам'яттю і модулями вводу-виводу. Контролер може запам'ятовувати запити і виконувати функції арбітра і розподільника ресурсів. На нього також покладаються функції передачі інформації про стан керуючих повідомлень і оповіщення процесорів про зміну інформації в кешах.
    Оскільки всі логічні функції, що зв'язані з координацією роботи компонентів системи, реалізуються в одному центральному пристрої керування, інтерфейси процесорів, пам'яті і модулів вводу-виводу залишаються практично незмінними. Це забезпечує системі майже таку ж гнучкість і простоту, як і при використанні загальної магістралі. Основний недолік такого підходу – істотне ускладнення схеми пристрою керування, що потенційно може привести до зниження продуктивності.
    Структура з центральним пристроєм керування у свій час була широко поширена при побудові багатопроцесорних обчислювальних комплексів на базі великих машин, таких, як машини сімейства IBM S/370. У даний час вони зустрічаються дуже рідко.
    4. Особливості операційних систем мультипроцесорних комплексів
    У мультипроцесорному обчислювальному комплексі операційна система повинна в такий спосіб розподіляти роботу між процесорами й іншими ресурсами, щоб користувач був врятований від необхідності самостійно контролювати ресурси. З погляду користувача такий комплекс повинен виглядати як єдина мультипрограмна система з одним процесором. І в однопроцесорній, і в SMP-системі в кожний момент часу можуть бути активними кілька завдань або процесів, і функція операційної системи полягає в тому, щоб спланувати виконання завдань і розподілити між ними необхідні ресурси. Користувач може спроектувати програму таким чином, що вона буде включати безліч процесів або потоків у межах окремого процесу і при цьому ніяк не враховувати, чи буде ця програма виконуватися в однопроцесорній чи в SMP-системі. Отже, операційна система повинна мати усі функції мультипрограмної системи, а також повинна могти забезпечити роботою багато процесорів. Відзначимо наступні ключові питання, що повинні враховуватися при проектуванні операційної системи багатопроцесорного комплексу.*
    Паралельне виконання одних і тих самих функцій при запиті конкуруючих процесів. Окремі компоненти операційної системи повинні мати властивість реентерабільності, тобто можливістю паралельного виконання на декількох процесорах одночасно. Коли кілька процесорів виконують системні підпрограми, що звертаються до одних і тих самих системних даних (таблиць, що керують структурами і т.п.), повинні бути передбачені спеціальні засоби, що забезпечують правильність і точність системної інформації.
    Планування може виконуватися будь-яким процесором комплексу, отже повинні бути передбачені засоби, що попереджають появу конфліктів. Планувальник повинен назначати процеси, готові до виконання, тим процесорам, що вільні в даний момент.
    Коли кілька активних процесів намагаються звернутися до загального поля пам'яті і поділюваних ресурсів вводу-виводу, необхідно забезпечити ефективну синхронізацію виконання запитів.
    Механізм керування пам'яттю в мультипроцесорному комплексі повинен забезпечувати вирішення всіх задач, властивих однопроцесорній системі, і додатково до них підтримувати паралельну роботу апаратних модулів, зокрема при використанні багатопортової пам'яті. Операційна система повинна також дбати і про координацію роботи механізмів сторінкового обміну різних процесорів, коли кілька процесорів працюють з однієї і тією ж сторінкою або сегментом пам'яті.
    На операційну систему покладається функція забезпечення працездатності комплексу у випадку виходу з ладу одного з процесорів. При цьому операційна система повинна перерозподілити задачі, що виконувалися ним, між іншими процесорами комплексу і, відповідно, внести зміни до системних таблиць.
    5 SMP-системи на базі великих обчислювальних машин
    У більшості SMP-систем персонального користування і робочих станцій для організації взаємодії між компонентами використовується системна магістраль (див. рис. 2.3). Досить корисно розглянути альтернативний підхід, що застосовується в комплексах на базі великих комп'ютерів (мейнфреймів) сімейства IBM S/390 [MAK97]. Блок-схема такого комплексу зображена на рис. 2.5. У сімейство входять комп'ютери різних класів – від однопроцесорних з єдиною платою головної пам'яті до високопродуктивних систем з десятком процесорів і чотирма блоками головної пам'яті. У конфігурацію також включені додаткові процесори, що виконують функції модулів вводу-виводу. Основні компоненти обчислювальних комплексів на базі IBM S/390 наступні.
    Процесор ПР – CISC-мікропроцесор,у якому керування обробкою найбільш часто використовуваних команд реалізовано апаратно, а інші команди виконуються за допомогою мікропрограм. До складу ВІС кожного ПР входить кеш рівня L1 обсягом 64 Кбайт, у якому зберігаються і команди і дані.
    Кеш рівня L2 обсягом 384 Кбайт. Блоки кешу L2 об'єднані по два у кластери, причому кожний кластер підтримує роботу з трьома процесорами і забезпечує доступ до всього адресного простору основної пам'яті.
    Адаптер переключення магістралі –BSN (bus-switching network adapter), що організує зв'язок блоків кешу L2 з одним з чотирьох блоків головної пам'яті. До складу BSN входить і кеш рівня L3 обсягом 2 Мбайт.
    Одноплатний блок головної пам'яті обсягом 8 Гбайт. До складу комплексу входять чотири таких блоки, забезпечуючи загальний обсяг головної пам'яті 32 Гбайт.
    У цій структурі є кілька особливостей, на яких варто зупинитися докладніше:
    комутована підсистема взаємозв'язків;
    спільно використовуваний кеш рівня L2;
    кеш рівня L3.
    6.Висновок.У SMP-системах персонального користування і робочих станціях загальноприйнятою є структура з єдиною системною магістраллю (див. рис. 2.3). Згодом у цьому варіанті магістраль може стати вузьким місцем, що перешкоджає подальшому нарощуванню системи – додаванню до неї нових компонентів. Проектувальники систем IBM S/390 спробували справитися з цією проблемою двома способами. По-перше, вони розділили підсистему головної пам'яті на чотири одноплатних блоки, оснастивши кожен з них власним контролером, що здатний з високою швидкістю обробляти запити до пам'яті. У результаті сумарна пропускна здатність каналу доступу до пам'яті збільшилася в чотири рази. По-друге, зв'язок між кожним процесором (фактично, між його кешем рівня L2) і окремим блоком пам'яті реалізована не у формі магістралі спільного користування, а, скоріше, у формі двоточкового з'єднання – кожен зв'язок підключає групу з трьох процесорів через кеш L2 до модуля BSN. У свою чергу, BSN виконує функцію перемикача, що поєднує п'ять каналів зв'язку (чотири з кешами L2 і один із блоком пам'яті) – зв'язує чотири фізичних канали в одну логічну магістраль передачі даних. Таким чином, сигнал, що надходить по кожному з чотирьох каналів, підключених до кешів L2, дублюється по інших трьох каналах, і тим самим забезпечується інформаційна цілісність кешів.Звернемо увагу на те, що хоча в системі є чотири окремих блоки пам'яті, кожний процесор і кожний блок кешу L2 оснащений тільки двома фізичними портами, через які вони зв'язуються з підсистемою головної пам'яті. Таке вирішення обране тому що кожний блок кешу L2 може зберігати дані тільки з половини всього адресного простору пам'яті. Для обслуговування запитів до всього адресного простору використовується пара блоків кешу, і кожен процесор повинен мати доступ до обох блоків у парі.



    Список використаної літератури. . . . . ………………
    1. Lilja D. Cache Coherence in Large-Scale Shared-Memory Multiprocessors : Issues and Comparisons. – ACM Computing Surveys, September 1993.
    2.Pfister G. In Search of Clusters. – Upper Saddle River, NJ : Prentice Hall, 1998.
    3.Stone H. High-performance Computer Architecture. – Reading, MA : Addison-Wesley, 1993.Vchys: ГДЗ, Решебники , Ответы, Реферати, Твори, ПрезентаціїГДЗ, Решебники и Ответы