- •Вузькі місця в структурі пк
- •Комп’ютери з розподіленою пам’яттю
- •Мультипроцесорні системи
- •Архітектура numa
- •Класифікація архітектур обчислювальних систем
- •Векторно-конвеєрні комп’ютери
- •Функціональні пристрої
- •Паралельні комп’ютери із спільною пам’яттю (Багатопроцесорні системи)
- •Секція управління процесором
- •Пікова продуктивність комп’ютера
- •Комп’ютер hp Superdome як приклад архітектури ccNuma
- •Обчислювальні системи з розподіленою пам’яттю
- •Кластерні проекти
- •Комунікаційні середовища кластерних систем
- •Мета створення кластерів та розпаралелення задач
- •Трудові витрати на розпаралелювання та використання програми
- •Класи задач, які можна ефективно розпаралелювати
- •Бібліотека мрі
- •Компіляція і запуск мрі – програм
- •Метакомп’ютери
- •Продуктивність паралельних комп’ютерів
- •Підходи до організації обчислювального процесу та потокові машини
- •Нестандартні архітектури пам’яті. Пам’ять з чергуванням адрес
- •Асоціативна пам’ять (безадресна пам’ять)
- •Трансп’ютери
- •Організація трансп’ютерів
- •Характеристики трансп’ютерів
- •Функціонально розподілені системи
- •Обчислювальні системи з структурою, що перебудовується
- •Матричні системи
Секція управління процесором
Команди вибираються з ОЗП по блоках та заносяться у буфер команд, звідки вони вибираються для виконання. Такі основні принципи комп’ютера Cray C90. серед особливостей даного комп’ютера виділяють наступні:
- конвеєризація виконання команди;
- використання векторних команд;
- незалежність функціональних пристроїв;
- використання режиму із зчепленням;
- багатопроцесорна обробка.
Пікова продуктивність комп’ютера
Для розрахунку пікової продуктивності вважається, що конвеєр є максимально завантаженим та використовує режим із зачепленням. Так як при таких умовах за кожен такт на виході буде один результат то легко вирахувати пікову продуктивність: так як час такту 4.1нс одного процесора рівна 1 Гфлопс, де 1 Флопс – одиниця виміру продуктивності, яка рівна одній операції із дійсними числами в секунду. Так як в комп’ютері 16 процесорів, то загальна пікова продуктивність – 16 Гфлопс.
Проте пікова продуктивність ніколи не досягається, це теоретичне поняття. В реальних задачах потрібно максимально наблизити реальну продуктивність до пікової. Один з основних засобів – це векторизація програми, які піддаються векторній обробці.
Наприклад, для фрагменту коду:
for I:=1 to n do
C[I]:=B[I]+A[I]
легко розпізнається компілятором як виконання векторної операції додавання. Про те не завжди можна векторизувати програму.
Для виконання векторної операції потрібно виконання двох умов:
1. наявність векторів-аргументів команд;
2. незалежність операцій над векторами.
Наступний фрагмент коду for (i=0; i<n; i++) В[I]:=B[I-1]+A[I] векторизувати не вдається, так як результат кожної і-тої команди залежить від попередньої.
Також векторизації не піддається наступний фрагмент В[I]:=Funct (A[I], C[I]), так як компілятор на перед не знає які дії будуть розумітися під функцією Funct.
Час виконання будь якої програми залежить від часу виконання найповільнішої її частини. Тобто, якщо в програмі половину команд можна векторизувати, а другу половину векторизувати не можливо, то не слід очікувати великого приросту продуктивності від виконання даної програми на комп’ютері Cray C90. Також не слід забувати і про якість компілятора, який може не розпізнати векторні блоки. При роботі із векторними командами на швидкодію впливають ще два фактори:
Час розгону векторної команди;
Секціонування довгих векторів.
Під час роботи векторної команди декілька тактів витрачається на ініціалізацію векторних регістрів та заповнення конвеєра. Лишень після цього функціональні пристрої починають видавати результат.
В реальних задачах операції відбуваються з векторами, у яких більше ніж 128 елементів, і тому такі вектори слід розбивати на секції для позачергового занесення їх у векторні регістри, на що затрачається декілька тактів.
Паралельні комп’ютери із спільною пам’яттю (Багатопроцесорні системи)
В ранніх мультиплексорних системах зв’язок між процесорами організовувався по-принципу: головний – підопічний (master - slave) тобто в системі виділявся один процесор, що координував роботу всіх решти процесорів розподіляючи задачі між ними. Із-за великої кількості адміністративних затримок такі системи не були високопродуктивними і вагомого приросту не давали. Тому було розроблено специфікацію так званих симетричних систем, особливістю даних систем є те, що всі процесори є однакові по своїх характеристиках і є абсолютно рівноправними при доступі до спільних ресурсів. Роль адміністратора належить операційній системі. Вона розподіляє процеси між процесорами та корегує їх роботу. Кількість процесорів у системі повинна бути рівної степені 2 (2,4,8,16,32). Перевагами даних систем є і простота у програмуванні задачі та наявність спільної пам’яті, що значно спрощує обмін даними між процесорами. Недолік – складність архітектурних рішень. Так як пам’ять спільна для всіх процесорів то потрібно певним чином контролювати спільний доступ до неї.
Компанія Intel використовує єдину шину для доступу процесорів до пам’яті. Є два різних варіанти використання шини:
Всі процесори використовують спільну шину даних;
Кожен процесор має свою власну шину даних, яка з’єднує його із контролером пам’яті.
Перший спосіб є простішим про те менш продуктивним. Поки один процесор займає шину інші процесори „прослуховують” цю шину і роблять обновлення своїх кешів.
Але дана схема використовується в більш сучасних SMP – системах. При використанні даної архітектури потрібно вирішити такі задачі:
Потрібна наявність в чіп сеті так званого арбітра шини, що буде роз приділяти запити процесорів та пам’яті;
Хоча і спільна шина є дуже продуктивною вона стає вузьким місцем при роботі.
Якщо один процесор Pentium IV може працювати на частоті FSB 800МГц то шина, що розрахована на два таких процесори буде працювати на частоті 533МГц, а шина із чотирма такими процесорами буде працювати на частоті 400МГц. Це відбувається тому, що при збільшенні кількості процесорів збільшується їх складність: довжина, характеристики.
Навіть, в ідеальному випадку коли продуктивність одного процесора складає 100% продуктивність із 2-х процесорів буде 170%, а з 4-х – 220%.
Оперативна пам’ять по мірках центрального процесора є „великим тормозом” в роботі.
Другий спосіб організації шини доступу – це надання кожному процесору своєї власної шини, яка зв’язана із чіпсетом. Даний підхід не має таких недоліків як у систем із спільною шиною про те має свій власний – складність розводки декількох шин.
Реально на такій архітектурі можна підключити два процесори. Фірма Intel запропонувала гібридне рішення: коли до чіпсета підключається дві FSB на кожну із яких ставиться декілька процесорів.
Існують також і інші рішення щодо доступу до пам’яті, один із них – це пряма комутація процесорів до блоку пам’яті, який він використовує. Такий підхід використовує AMD.
Не стандартна організація вузла процесора пам’ять (контролер пам’яті розміщений на кристалі із процесором) в системі AMD пропонує і свій власний принцип побудови чіп сетів. Наприклад, чітсет Opteron AMD 8000 не містить так званих північних та південних мостів. Він складається із так званих тунелів контролерів. Набір логіки підтримує з’єднання в єдину послідовність довільної кількості тунелів тобто вже не використовується єдина шина. Такий підхід значно покращує характеристики SMP – систем в плані продуктивності із збільшенням кількості процесорів продуктивність збільшується майже лінійно і дані системи легко масштабовані. Також в SMP системах потрібно організувати наступні особливості:
механізм забезпечення когерентності кеші. Якщо процесор А щось поміняв у оперативній пам’яті то всі інші процесори повинні зробити відповідні відмітки у своїх кешах. Для реалізації когерентності кешів використовують різні протоколи. Intel використовує протокол MESI, а AMD більш розширений протокол MOESI;
підтримка атомарних операцій тобто таких операцій при виконанні яких доступ до пам’яті має тільки один процесор, який здійснив відповідно цю операцію і викликав.
В SMP – системах виникає система із перериваннями. Переривання дозволяють ЦП швидко реагувати на будь-які події із зовні. Сучасний комп’ютер без переривань просто не можливий. Крім апаратних переривань можуть виникати і програмні переривання, які процесор генерує сам.
В звичайних системах для реалізації переривання використовують єдиний РІС (programming interact controler) програмований інтеракт контролер. В SMP – системах використовують АРІС контролер. Загальний контролер займається складними процедурами переривань на всіх процесорах або окремо взятих.
