Modern problems of informatic
Факультет інформаційних технологій
Словник термінів у колекції"Обчислювальні системи"
Матричні обчислювальні системи
Матричні обчислювальні системи - найпоширеніші представники класу SIMD, найкраще пристосовані вирішення завдань, характеризуються паралелізмом незалежних даних. Матрична система складається з безлічі процесорних елементів, що працюють паралельно та обробляють свій потік даних.
Призначення матричних обчислювальних систем – обробка великих масивів даних. В основі матричних систем лежить матричний процесор (array processor), що складається з масиву процесорних елементів (ПЕ). Такі системи мають загальний керуючий пристрій, що генерує потік команд, і велику кількість ПЕ, що працюють паралельно та обробляють кожен свій потік даних. Однак на практиці, щоб забезпечити достатню ефективність системи при вирішенні широкого кола завдань, необхідно організувати зв'язки між процесорними елементами так, щоб повно завантажити процесори роботою. Саме характер зв'язків між ПЕ та визначає різні властивості системи. Подібна схема застосовна і для векторних обчислень. Між матричними і векторними системами є суттєва різниця. Матричний процесор інтегрує безліч ідентичних функціональних блоків (ФБ), що логічно об'єднані в матрицю і працюють у SIMD-стилі. Не настільки суттєво, як конструктивно реалізована матриця процесорних елементів - на єдиному кристалі чи кількох. Важливим є сам принцип - ФБ логічно скомпоновані в матрицю і працюють синхронно, тобто є лише один потік команд для всіх. Векторний процесор має вбудовані команди для обробки векторів даних, що дозволяєефективно завантажити конвеєр із функціональних блоків. У свою чергу, векторні процесори простіше використовувати, тому що команди для обробки векторів – це зручніша для людини модель програмування, ніж SIMD.
Паралельну обробку багатьох елементів даних забезпечує масив процесорних елементів (МПЕ). Єдиний потік команд, керуючий обробкою даних МПЕ, генерується контролером масиву процесорних елементів (КМП). КМП виконує послідовний програмний код, реалізує операції умовного та безумовного переходів, транслює в МПЕ команди, дані та сигнали управління. Команди обробляються процесорними елементами як жорсткої синхронізації. Сигнали управління використовуються для синхронізації команд та пересилок, а також для управління процесом обчислень, зокрема визначають, які ПЕ масиву повинні виконувати операцію, а які – ні. Команди, дані та сигнали управління передаються з КМП масив процесорних елементів по шині широкомовної розсилки . Оскільки виконання операцій умовного переходу залежить від результатів обчислень, результати обробки даних масиві процесорів транслюються в КМП по шині результату .
Для забезпечення користувача зручним інтерфейсом при створенні та налагодженні програм до складу подібних ЗС зазвичай включають фронтальну ВМ (front-end computer). У ролі такої ВМ виступає універсальна обчислювальна машина, яку додатково покладається завдання завантаження програм і даних у КМП. Крім того, таке завантаження може здійснюватися безпосередньо з пристроїв вводу/виводу, наприклад з магнітних дисків. Після завантаження КМП розпочинає виконання програми, транслюючи в МПЕ по широкомовній шині відповідні SIMD-команди.
Розглядаючи масив ПЕ, слід враховувати, що длязберігання множинних наборів даних у ньому, крім безлічі процесорних елементів, має бути і безліч модулів пам'яті. Крім того, в масиві повинна бути реалізована мережа взаємозв'язків, як між ПЕ, так між процесорними елементами і модулями пам'яті. Таким чином, під терміном масив процесорних елементів розуміють блок, що складається з власне процесорних елементів, модулів пам'яті та мережі з'єднань. Маскування можливе як на стадії компіляції, так і на етапі виконання, при цьому ПЕ, виключені шляхом встановлення в нуль відповідних біт маски, під час виконання команди простоюють.
Фронтальна ВМ (ФВМ) з'єднує матричну SIMD-систему із зовнішнім світом, використовуючи для цього якийсь із мережевих інтерфейсів, наприклад Ethernet, як це має місце в системі MasPar МР-1. Фронтальна ВМ працює під управлінням операційної системи, найчастіше UNIX-подібної. На ФОМ користувачі готують, компілюють та налагоджують свої програми. Перед виконанням програми спочатку завантажуються з фронтальної ВМ в контролер масиву процесорних елементів, який виконує послідовну частину програми та розподіляє розпаралелені команди та дані щодо процесорних елементів масиву. У деяких ЗС при створенні, компіляції та налагодженні програм КМП і фронтальна ВМ використовуються спільно. На роль ФВМ підходять різні обчислювальні машини. Так, у системі СМ-2 у цьому ролі виступає робоча станція SUN-4, а системі MasPar - DECstation 3000.
Контролер масиву процесорних елементів
Контролер масиву процесорних елементів виконує послідовнийпрограмний код, реалізує команди розгалуження програми, транслює команди і сигнали керування в процесорні елементи. Команди для процесорних елементів та глобальна маска, що формується на етапі компіляції, також через інтерфейс вводу/виводу завантажуються в ОЗУ команд та глобальної маски (ОЗУ КДМ). Потім контролер починає виконувати програму, витягуючи або одну скалярну команду з ОЗП КМП або множинні команди з ОЗУ КГМ. Скалярні команди - команди, здійснюють операції над скалярними даними, що зберігаються в КМП, виконуються центральним процесором (ЦП) контролера. У свою чергу, команди, що оперують паралельними змінними, що зберігаються в кожному ПЕ, перетворюються в блоці вибірки команд на простіші одиниці виконання - нанокоманди . Нанокоманди разом з маскою пересилаються через шину команд для ПЕ виконання у масив процесорних елементів. Наприклад, команда складання 32-розрядних слів у КМП системи МРР перетворюється на 32 нанокоманди одноразрядного складання, які кожним ПЕ обробляються послідовно. У більшості алгоритмів подальший порядок обчислень залежить від результатів та/або прапорів попередніх операцій. Для забезпечення такого режиму в матричних системах статусна інформація, що зберігається в процесорних елементах, повинна бути зібрана в єдине слово і передана в КМП для розробки рішення про розгалуження програми. Наприклад, у пропозиції IF ALL (умова A) THEN DO оператор В буде виконаний, якщо умова А справедлива у всіх ПЕ. Для коректного увімкнення/вимкнення процесорних елементів КМП повинен знати результат перевірки умови А в усіх ПЕ. Така інформаціяпередається в КМП по односпрямованій шині результату. У системі СМ-2 цю шину названо GLOBAL. У системі МРР тієї ж мети організована структура, звана деревом SUM-OR. Кожен ПЕ містить вміст свого однорозрядного регістру ознаки на входи дерева, яке за допомогою операції логічного складання комбінує цю інформацію і формує слово результату, що використовується в КМП для прийняття рішення.
Масив процесорних елементів
У матричних SIMD-системах поширення отримали два основних типи архітектурної організації масиву процесорних елементів. собою комунікаційною мережею. Кожен ПЕ – це процесор із локальною пам'яттю. Процесорні елементи виконують команди, одержувані з КМП по шині широкомовної розсилки, і обробляють дані, що зберігаються в їх локальній пам'яті так і з КМП. Обмін даними між процесорними елементами здійснюється по комунікаційній мережі, тоді як шина вводу/виводу служить обмінюватись інформацією між ПЕ і пристроями вводу/вывода. Для трансляції результатів окремих ПЕ в контролер масиву процесорних елементів служить шина результату. Завдяки використанню локальної пам'яті апаратні засоби ВС такого типу можуть бути побудовані досить ефективно. Багато алгоритмах дії з пересилання інформації здебільшого локальні, тобто відбуваються між найближчими сусідами. Тому архітектура, де кожен ПЕ пов'язаний тільки з сусідніми, дуже популярна. Як приклади обчислювальних систем з архітектурою, що розглядається, можна згадати MasPar МР-1, Connection Machine СМ-2, GF11, DAP, МРР, STARAN, PEPE, ILLIAC IV.
Другий вид архітектури – «процесор-пам'ять». У такій конфігурації двонаправлена мережа з'єднань пов'язує N процесорів з модулями М М пам'яті. Процесори управляються КМП через широкомовну шину. Обмін даними між процесорами здійснюється як через мережу, так і через модулі пам'яті. Пересилання даних між модулями пам'яті та пристроями вводу/виводу забезпечується шиною вводу/виводу. Для передачі з конкретного модуля пам'яті КМП служить шина результату. Прикладами ВС з такою архітектурою можуть бути Burroughs Scientific Processor (BSP), Texas Reconfigurable Array Computer TRAC.
Структура процесорного елемента
У більшості матричних SIMD-систем як процесорні елементи застосовуються прості RISC-процесори з локальною пам'яттю обмеженої ємності. Наприклад, кожен ПЕ системи MasPar МР-1 складається із чотирирозрядного процесора з пам'яттю ємністю 64 Кбайт. У системі МРР використовуються однорозрядні процесори з пам'яттю 1 Кбіт кожен, а СМ-2 процесорний елемент являє собою однорозрядний процесор з 64 Кбіт локальної пам'яті. Завдяки простоті ПЕ масив може бути реалізований у вигляді однієї надвеликої інтегральної мікросхеми (НВІС). Це дозволяє скоротити кількість зв'язків між мікросхемами і, отже, габарити ЗС. Так, одна НВІС в системі СМ-2 містить 16 процесорів (без блоків пам'яті), а в системі MasPar МР-1 НВІС складається з 32 процесорів (також без блоків пам'яті). У системі МР-2 проглядається тенденція до застосування складніших мікросхем, зокрема 32-розрядних процесорів з 256 Кбайт пам'яті у кожному.
Невід'ємними компонентами ПЕ у більшості обчислювальних систем є:
- арифметико-логічний устрій (АЛУ);
- регістри даних;
- мережевий інтерфейс (СІ), який можевключати до свого складу регістри пересилання даних;
- номер процесора;
- регістр прапора роздільної здатності маскування (F);
- локальної пам'яті.
Підключення та відключення процесорних елементів
Мережі взаємозв'язків процесорних елементів
Ефективність мереж взаємозв'язків процесорних елементів багато в чому визначає можливу продуктивність всієї матричної системи. Застосування знаходять найрізноманітніші топології мереж. Оскільки процесорні елементи в матричних системах функціонують синхронно, обмінюватися інформацією вони також повинні за узгодженою схемою, причому необхідно забезпечити можливість синхронної передачі від кількох ПЕ-джерелдо одного ПЕ-приймачу. Коли передачі інформації в мережному інтерфейсі задіюється лише одне регістр пересилання даних, це може призвести до втрати даних, у ряді ЗС для запобігання подібної ситуації передбачені спеціальні механізми. Так, у системі СМ-2 використовується обладнання, що поєднує повідомлення, що надійшли до одного ПЕ. Об'єднання реалізується за рахунок операцій арифметичного та логічного складання, накладання записів, знаходження меншого та більшого із двох значень. У деяких SIMD-системах, наприклад МР-1, є можливість записати повідомлення, що одночасно прийшли в різні осередки локальної пам'яті. Хоча пересилання даних по мережі ініціюються тільки активними ПЕ, пасивні процесорні елементи також роблять внесок в ці операції. Якщо активний ПЕ ініціює читання з іншого ПЕ, операція виконується незалежно від статусу ПЕ з якого зчитується інформація. Те саме відбувається і при записі.
Найбільш поширеними топологіями в матричних системах є ґратчасті та гіперкубічні. Так, в ILLIAC IV, МРР та СМ-2 кожен ПЕ з'єднаний з чотирма сусідніми. У МР-1 і МР-2 кожен ПЕ пов'язаний із вісьмома суміжними ПЕ. У низці систем реалізуються багатоступінчасті динамічні мережі з'єднань (МР-1, МР-2, GF11).
Хоча програма обчислень зберігається у пам'яті фронтальної ВМ або, іноді, в КМП, вхідні та вихідні дані процесорних елементів та КМП можуть зберігатися також на зовнішніх ЗП. Такі ЗП можуть підключатися до масиву процесорних елементів та/або КМП за допомогою каналів введення/виводу або процесорів введення/виводу.
-
Література
- Цилькер Б.Я. Організація ЕОМ та систем: підручник для вузів / С.А. Орлов, Б.Я. Цилькер. – СПб.: Пітер, 2011. – 688 с.