Главная Обратная связь Дисциплины:
Архитектура (936)
|
Класифікація систолических структур
Аналіз різних типів систолических структур і тенденцій їх розвитку дозволяє класифікувати ці структури за кількома ознаками. За ступенем гнучкості серед систолических структур виділяють: спеціалізовані; алгоритмічно орієнтовані; програмовані. Спеціалізовані структури орієнтовані на виконання певного алгоритму. Прикладами є структури, орієнтовані на рекурсивну фільтрацію, швидке перетворення Фур'є для заданої кількості точок, конкретні матричні перетворення. Алгоритмічно орієнтовані структури, як виявляється з їх назви, орієнтовані не на один конкретний алгоритм, а на певний клас алгоритмів. Йдеться, головним чином, про алгоритми, що передбачають виконання однотипних операцій над векторами, матрицями та іншими числовими множинами. У програмованих систолических структурах є можливість програмування як процесорних елементів, так і конфігурації зв'язків між ними. При цьому ПЕ можуть володіти локальною пам'яттю програм, і хоча всі вони мають одну і ту ж організацію, в один і той же момент часу допускається виконання різних операцій з деякого набору. Команди або керуючі слова, що зберігаються в пам'яті програм таких ПЕ, можуть змінювати і напрям передачі операндів. За розрядності процесорних елементів розрізняють систолические структури: однорозрядні; багаторозрядні. У однорозрядних матрицях ПЕ в кожен момент часу виконує операцію над одним двійковим розрядом; а в багаторозрядних - над словами фіксованої довжини. За характером локально-просторових зв'язків систолические структури бувають: одномірні; двомірні; тривимірні. Топологія систолических структур В даний час розроблені систолические матриці з різною геометрією зв'язків: лінійні, квадратні, гексагональних, тривимірні та ін. Кожна конфігурація матриці найбільш пристосована для виконання певних функцій, наприклад лінійна матриця оптимальна для реалізації фільтрів в реальному масштабі часу; гексагональная - для виконання операцій обернення матриць, тривимірна - для знаходження значень нелінійних диференціальних рівнянь в приватних похідних або для обробки сигналів антеною решітки. Найбільш універсальними і найбільш поширеними, тим не менш, можна вважати матриці з лінійною структурою. Враховуючи те, що матриці ПЕ зазвичай реалізуються на основі надвеликих інтегральних схем, що виникають при цьому обмеження призвели до того, що найбільш поширені матриці з одним, двома і трьома трактами даних і з однаковим або протилежним напрямком передачі, що позначаються як ULA, BLA і TLA відповідно . 10.Комп’ютерні системи з командними словами надвеликої довжини (WLIV). VLIW ( «Дуже довга машинна команда») — архітектура процесорів з декількома обчислювальними пристроями. Характеризується тим, що одна інструкція процесора містить кілька операцій, які повинні виконуватися паралельно. У суперскалярних процесорах також є кілька обчислювальних модулів, але завдання розподілу між ними роботи вирішується апаратно. Переваги та недоліки Підхід VLIW сильно спрощує архітектуру процесора, перекладаючи завдання розподілу обчислювальних пристроїв на компілятор. Оскільки відсутні великі і складні вузли, сильно знижується енергоспоживання. Одні з перших VLIW-процесори з'явилися наприкінці 1980-х і були розроблені компанією Cydrome. У чистому вигляді архітектуру VLIW мають процесори TriMedia фірми Philips і сімейство DSP C6000 фірми Texas Instruments. Мікропроцесор Transmeta Crusoe містить шар двійкової сумісності з архітектурою x86, який компілює інструкції у внутрішній формат процесора (code morphing). Ядро Crusoe є VLIW-процесором. Мікропроцесор Intel Itanium має 64-бітну систему команд EPIC-процесора з явним паралелізмом, яка є одним з варіантів VLIW. Багатопроцесорний обчислювальний комплекс «Ельбрус-3» і мікропроцесори серії «Ельбрус» («Ельбрус 2000», «Ельбрус S») є VLIW-процесорами. Процесори, що випускаються фірмою Tilera, також мають VLIW-архітектуру. VLIW також отримала гарне поширення на ринку GPU, так, відеопроцесори AMD / ATI Radeon починаючи з R600 і до сучасних мають VLIW архітектуру. В останньому поколінні (Southern Islands) компанія AMD / ATI відійшла від підходу VLIW . VLIW-архітектура також використовується для обробки зображень в системі Expeed цифрових дзеркальних камер компанії Nikon. 11.Комп’ютерні системи з явним паралелізмом команд (ЕРІС). EPIC - мікропроцесорна архітектура з явним паралелізмом команд. Термін введений в 1997 році альянсом HP і Intel для архітектури Intel Itanium. EPIC дозволяє мікропроцесору виконувати інструкції паралельно, спираючись на роботу компілятора, а не виявляючи можливість паралельної роботи інструкцій за допомогою спеціальних схем. У теорії, це могло спростити масштабування обчислювальної потужності процесора без збільшення тактової частоти. Витоки У 1989 дослідники компанії HP дійшли висновку, що RISC архітектури мають явну межу інструкцій, виконуваних за такт. Були розпочаті розробки нової архітектури, пізніше названої EPIC. Дослідження грунтувалися на архітектурах VLIW, в яких кожне командне слово містить кілька операцій, виконуваних на декількох виконавчих пристроях. Однією з цілей EPIC був перенесення складної логіки планування інструкцій з мікропроцесора в компілятор, який би планував інструкції статично. Це дозволило б прибрати планувальник інструкцій з процесора, звільнивши місце і потужність для інших елементів, наприклад, додаткових АЛП. Іншою метою було збільшити ступінь паралелізму інструкцій (instruction level parallelism) за рахунок великих можливостей компілятора з пошуку незалежних команд. VLIW у своїй споконвічній формі мала кілька недоліків, що перешкоджають масовому впровадженню: Набори інструкцій VLIW не є назад сумісними між різними поколіннями процесорів. Якщо в більш новому процесорі буде використовуватися більше виконавчих пристроїв (наприклад, АЛП), то програми для нового процесора не можна виконати на старому, вужчому процесорі (з меншою кількістю пристроїв). 12. Паралельні комп'ютери з загальною пам'яттю. Вся оперативна пам'ять таких комп'ютерів розподіляється між кількома однаковими процесорами. Це знімає проблеми попереднього класу, але додає нові -число процесорів, що мають доступ до загальної пам'яті з технічних причинах не можна зробити великим. До даного напрямку входять багато сучасних багатопроцесорних SMP-комп'ютерів, сервер HP Т600 або Sun Ultra Enterprise 5000. Останній напрямок не є самостійним, а скоріше являє собою комбінації попередніх трьох. З кількох процесорів, традиційних або векторно-конвеєрних і загальної для них пам'яті формується обчислювальний вузол. Якщо обчислювальної потужності отриманого вузла не досить, то об'єднують кілька вузлів високошвидкісними каналами. Подібну архітектуру називають кластерною, по такому принципу побудовані CRAY SV1, HP Exemplar, Sun StarFire, NEC SX-5, останні моделі IBM SP2 і інші. Саме цей напрямок на сьогодні є найбільш перспективним. Продуктивність багатопроцесорних систем не зростає пропорційно числу використовуваних процесорів. Відповідно приципу Амдала максимальний виграш, що можна отримати, незалежить від кількості використовуваних процесорів у системі і не перевищуватиме 10-кратного прискорення виконання програми. 10 - це теоретична верхня оцінка найкращого випадку, коли ніяких інших негативних факторів немає. Переваги: простота програмування; спільний адресний простір; простота роботи; Недоліки: невелика кількість процесорів; дуже велика вартість; 13. Паралельні комп'ютери із розподіленою пам'яттю. Переваги і недоліки. Ідея побудови комп'ютерів цього класу досить проста, реалізується з серійних мікропроцесорів з локальною пам'яттю, об'єднаних за допомогою комунікаційного середовища, наприклад, мережі. Серед переваг виділяють простий підбір оптимальної конфігурації, якщо потрібна висока продуктивність — додаються процесори, якщо ні — вилучаються. Недоліком є мала швидкість міжпроцесорної взаємодія відносно локального опрацювання даних самими процесорами. Написати ефективну програму для таких комп'ютерів досить складно, а для деяких алгоритмів іноді просто неможливо. До даного класу належать комп'ютери Intel Paragon, IBM SP1, Parsytec, до певної міри IBM SP2 і CRAY T3D/T3E, хоча в цих комп'ютерах вплив зазначеного недоліку намагаються зробити мінімальним. До цього ж класу можна віднести і мережі комп'ютерів, що досить часто розглядають як дешеву альтернативу дорогим суперкомп'ютерам. У даній моделі присутні лише процесори і кеш між ними. Кожен процесор у системі має доступ лише до своєї локальної пам'яті. Також окрім обчислення процесор може відсилати і отримувати дані з мережі, саме за допомогою повідомлень і відбувається обмін даними між процесорами. В ідеальній мережі вартість пересилання даних між двома процесорами не залежить від їх розташування у мережі, а залежить лише від довжини повідомлення 14. Комп’ютерні системи класу МIMD. SMP-системи, їх загальна архітектура, переваги і недоліки. МКМД - комп'ютерні системи з множинним потоком команд та множинним потоком даних (MIMD - Multiply Instruction Multiply Data stream). Цей клас припускає, що в обчислювальній системі є кілька пристроїв обробки команд, об'єднаних в єдиний комплекс і працюючих кожне зі своїм потоком команд і даних. Симетричне мультипроцесування (SMP) — це архітектура багатопроцесорних комп'ютерів, в якій два або більше однакових процесорів підключаються до загальної пам'яті. Більшість багатопроцесорних систем сьогодні використовують архітектуру SMP. SMP системи дозволяють будь-якому процесору працювати над будь-яким завданням незалежно від того, де в пам'яті зберігаються дані для цього завдання; за належної підтримки операційною системою, SMP системи можуть легко переміщувати завдання між процесорами ефективно розподіляючи навантаження. Переваги та недоліки SMP часто застосовується в науці, промисловості, бізнесі, де програмне забезпечення спеціально розробляється для багатопоточного виконання. У той же час, більшість користувацьких продуктів, таких як текстові редактори та комп'ютерні ігри написані так, що вони не можуть отримати високий приріст продуктивності від SMP систем. У випадку ігор це найчастіше пов'язане з тим, що оптимізація програми під SMP системи призведе до втрати продуктивності при роботі на однопроцесорних системах, які займають велику частину ринку. У силу природи різних методів програмування, для максимальної продуктивності будуть потрібні окремі проекти для підтримки одного процесора та SMP систем. І все ж програми, запущені на SMP системах, одержують приріст продуктивності навіть якщо вони були написані для однопроцесорних систем. Це пов'язано з тим, що апаратні переривання, зазвичай припиняють виконання програми для їх обробки ядром, можуть оброблятися на вільному процесорі. Ефект у більшості програм виявляється не стільки в прирості продуктивності, скільки у відчутті, що програма виконується більш плавно 15.Аналіз видів архітектур SMP-систем Характерною рисою симетричних багатопроцесорних систем (SMP) є те, що всі процесори мають прямий і рівноправний доступ до будь-якої точки загальної пам'яті. Перші промислові зразки мультипроцесорних систем з'явилися на базі векторно-конвеєрних комп'ютерів в середині 80-х років 20 століття. Найбільш поширеними багатопроцесорними обчислювальними системами такого типу були суперкомп'ютери фірми Cray Research . Однак такі системи були надзвичайно дорогими і вироблялися невеликими серіями. Як правило, в подібних комп'ютерах об'єднувалось від 2 до 16 процесорів, які мали рівноправний ( симетричний ) доступ до загальної оперативної пам'яті. Саме у зв'язку з цим вони отримали назву симетричні мультипроцесорні системи ( Symmetric Multi - Processing - SMP ) . Однак дуже скоро виявилось, що SMP архітектура має дуже обмежені можливості з нарощування числа процесорів в системі через різке збільшення числа конфліктів при зверненні до загальної шини пам'яті. Добре відома проблема конфліктів при зверненні до загальної шини пам'яті виникла і нова проблема, пов'язана з ієрархічною структурою організації пам'яті сучасних комп'ютерів. У багатопроцесорних системах, побудованих на базі мікропроцесорів з вбудованою кеш- пам'яттю, порушується принцип рівноправного доступу до будь-якої точки пам'яті. Дані, що знаходяться в кеш-пам'яті деякого процесора, недоступні для інших процесорів. Це означає, що після кожної модифікації копії деякої змінної, що знаходиться в кеш-пам'яті якого-небудь процесора, необхідно виробляти синхронну модифікацію самої цієї змінної, розташованої в основній пам'яті. З більшим чи меншим успіхом ці проблеми вирішуються в рамках загальноприйнятої нині архітектури ccNUMA (cache coherent Non Uniform Memory Access). У цій архітектурі пам'ять фізично розподілена, але логічно загальнодоступна . Це, з одного боку, дозволяє працювати з єдиним адресним простором, а, з іншого, збільшує масштабованість систем. Когерентність кеш -пам'яті підтримується на апаратному рівні, що не рятує від накладних витрат на її підтримку. На відміну від класичних SMP систем пам'ять стає трирівневою : кеш -пам'ять процесора; локальна оперативна пам'ять ; віддалена оперативна пам'ять. 16. Кластерні обчислювальні системи, їх особливості і недоліки. Кластерні системи - набір робочих станцій (або навіть ПК) загального призначення, що використовується як дешевий варіант масивно-паралельного комп'ютера.Для зв'язку вузлів використовується одна із стандартних мережевих технологій (Fast/Gigabit Ethernet, Myrinet) на базі шинної архітектури або комутатора.Кластер складається з двох або більш за вузлів, що задовольняють наступним вимогам:кожен вузол працює з своєю копією ОС; кожен вузол працює з своєю копією додатку; вузли ділять загальний пул інших ресурсів, таких як накопичувачі на дисках і, можливо, накопичувачі на стрічках. Кластеризація може бути здійснена на різних рівнях комп'ютерної системи:апаратне забезпечення;операційні системи;програми-утиліти; системи управління. Чим більше рівнів системи об'єднано кластерною технологією, тим вище надійність, масштабованість і керованість кластера. Перевагою кластерного підходу порівняно з SMP-серверами є поліпшення можливостей масштабування. На відміну від серверів SMP-архітектури, де нарощування конфігурації обмежене пропускною спроможністю шини, додавання комп'ютерів у кластер дозволяє збільшувати пропускну спроможність оперативної пам'яті і підсистем вводу-виводу. 17. Класифікація кластерів Кластери високої доступності –HA ( висока доступність). Створюються для забезпечення високої доступності сервісу, що надається кластером. Надмірна кількість вузлів, що входять в кластер, гарантує надання сервісу у разі відмови одного або декількох серверів. Типове число вузлів — два, це мінімальна кількість, що приводить до підвищення доступності. Відмовостійкі кластери та системи взагалі будуються по трьом основним принципам: · З холодним резервом або активний / пасивний. Активний вузол виконує запити, а пасивний чекає його відмови і включається в роботу, коли така відбудеться.. · З гарячим резервом або активний / активний. Всі вузли виконують запити, в разі відмови одного навантаження перерозподіляється між рештою. Тобто кластер розподілення нагрузки з підтримкою перерозподілу запитів при відмові. Прикладами є практично всі кластерні технології. · З модульною надмірністю –у випадку, коли простій системи абсолютно неприпустимий. Всі вузли одночасно виконують один і той же запит (або частини його, але так, що результат досяжний і при відмові будь-якого вузла), з результатів береться будь-який. Кластери розподілу навантаження – принцип їх дії будується на розподілі запитів через один або кілька вхідних вузлів, які перенаправляють їх на обробку в інші, обчислювальні вузли Обчислювальні кластери Кластери використовуються в обчислювальних цілях, зокрема в наукових дослідженнях. Для обчислювальних кластерів істотними показниками є висока продуктивність процесора в операціях над числами з плаваючою точкою (flops) і низька латентність об'єднує мережі, і менш істотними — швидкість операцій введення-виведення, яка більшою мірою важлива для баз даних та Одна з типових конфігурацій — набір комп'ютерів, зібраних із загальнодоступних компонентів, з встановленою на них операційною системою Linux, і пов'язаних мережею Ethernet, Myrinet, InfiniBand або іншими відносно недорогими мережами. Таку систему прийнято називати кластером Beowulf.
|