Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПРО(теорія).doc
Скачиваний:
4
Добавлен:
20.09.2019
Размер:
461.31 Кб
Скачать

Екзаменаційний білет №5

1.КС класу SIMD.

2.MPI. Віртуальні топології.

5.1 Кс класу simd.

SIMD (англ. single instruction, multiple data - одиночний потік команд, множинний потік даних, ОКМД) - принцип комп'ютерних обчислень, що дозволяє забезпечити паралелізм на рівні даних. SIMD-комп'ютери складаються з одного командного процесора (керуючого модуля), званого контролером, і декількох модулів обробки даних, званих процесорними елементами. Керуючий модуль приймає, аналізує і виконує команди. Якщо в команді зустрічаються дані, контролер розсилає на всі процесорні елементи команду, і ця команда виконується на декількох або на всіх процесорних елементах. Кожен процесорний елемент має свою власну пам'ять для зберігання даних. Одним з переваг даної архітектури вважається те, що в цьому випадку більш ефективно реалізована логіка обчислень. До половини логічних інструкцій звичайного процесора пов'язане з управлінням виконанням машинних команд, а інша їхня частина належить до роботи із внутрішньою пам'яттю процесора і виконання арифметичних операцій. У SIMD комп'ютері управління виконується контролером, а «арифметика» віддана процесорним елементам. SIMD-процесори називаються також векторними.

5.2 Mpi. Віртуальні топології

Віртуальні топології Топологія - це механізм зіставлення процесам деякого комунікатора альтернативної схеми адресації. У MPI топології віртуальні, тобто вони не пов'язані з фізичною топологією комунікаційної мережі. Топологія використовується програмістом для більш зручного позначення процесів, ітаким чином, наближення паралельної програми до структури математичногоалгоритму. Крім того, топологія може використовуватися системою дляоптимізації розподілу процесів по фізичних процесорам використовуваногопаралельного комп'ютера за допомогою зміни порядку нумерації процесіввсередині комунікатора. У MPI передбачені два типи топологій: 1. декартова топологія (прямокутні грати довільній розмірності); 2. топологія графа.

Як вже зазначалося раніше, парні операції передачі даних можуть бути виконані між будь-якими процесами одного і того ж комунікатора, а в колективної операції беруть участь всі процеси комунікатора. Логічна топологія ліній зв'язку між процесами має структуру повного графа (незалежно від наявності реальних фізичних каналів зв'язку між процесорами). Разом з цим, для викладу і подальшого аналізу ряду паралельних алгоритмів доцільно логічне уявлення наявної комунікаційної мережі у вигляді тих чи інших топологій. У MPI є можливість подання безлічі процесів у вигляді решітки довільній розмірності. При цьому граничні процеси грат можуть бути оголошені сусідніми, і, тим самим, на основі грат можуть бути визначені структури типу тор. Крім того, в MPI є засоби і для формування логічних (віртуальних) топологій будь-якого необхідного типу.

Екзаменаційний білет №6

1.Векторні і векторно-конвеєрні КС.

2.Основи MPI.

6.1. Векторно-конвейєрні і векторні КС Перший векторно-конвеєрний комп'ютер Cray-1 з'явився в 1976 році.Архітектура його виявилася настільки вдалою, що він поклав початок цілому сімейству комп'ютерів. Назва цього сімейства комп'ютерів дали два принципи, закладені в архітектурі процесорів: 1. конвеєрна організація обробки потоку команд 2. введення в систему команд набору векторних операцій, які дозволяють оперувати з цілими масивами даних [2]. Довжина одночасно оброблюваних векторів в сучасних векторних комп'ютерах становить, як правило, 128 або 256 елементів. Очевидно, що векторні процесори повинні мати набагато більш складну структуру і по суті справи містити безліч арифметичних пристроїв. Основне призначення векторних операцій полягає в розпаралелювання виконання операторів циклу, в яких в основному і зосереджена велика частина обчислювальної роботи. Для цього цикли піддаються процедурі векторизации з тим, щоб вони могли реалізовуватися з використанням векторних команд. Як правило, це виконується автоматично компіляторами при виготовленні ними исполнимого коду програми. Тому векторно-конвеєрні комп'ютери не вимагали якоїсь спеціальної технології програмування, що і стало вирішальним чинником у їхньому успіху на комп'ютерному ринку. Тим не менше, потрібно дотримуватися певних правил при написанні циклів з тим, щоб компілятор міг їх ефективно векторизовать.

Історично це були перші комп'ютери, до яких повною мірою було застосовано поняття суперкомп'ютер. Як правило, кілька векторно-конвейєрних процесорів (2-16) працюють в режимі із загальною пам'яттю (SMP), утворюючи обчислювальний вузол, а кілька таких вузлів об'єднуються за допомогою комутаторів, утворюючи або NUMA, або MPP систему. Типовими представниками такої архітектури є комп'ютери CRAY J90/T90, CRAY SV1, NEC SX-4/SX-5. Рівень розвитку мікроелектронних технологій не дозволяє в даний час проводити однокристальні векторні процесори, тому ці системи досить громіздкі і надзвичайно дорогі. У зв'язку з цим, починаючи з середини 90-х років, коли з'явилися досить потужні суперскалярні мікропроцесори, інтерес до цього напрямку був значною мірою ослаблений. Суперкомп'ютери з векторно-конвеєрної архітектурою стали програвати системам з масовим паралелізмом. Однак у березні 2002 р. корпорація NEC представила систему Earth Simulator з 5120 векторно-конвейєрних процесорів, яка в 5 разів перевищила продуктивність попереднього власника рекорду - MPP системи ASCI White з 8192 суперскалярних мікропроцесорів. Це, звичайно ж, змусило багатьох по-новому поглянути на перспективи векторно-конвейєрних систем.

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

Основу MPI становлять операції передачі повідомлень. Серед передбачениху складі MPI функцій розрізняються парні (point-to-point) операції між двомапроцесами і колективні (collective) комунікаційні дії для одночасної взаємодіїдекількох процесів. Для виконання парних операцій можуть використовуватися різні режимипередачі, серед яких синхронний, блокуючий.

Процеси паралельної програми об'єднуються в групи. Під комунікатором вMPI розуміється спеціально створюваний службовий об'єкт, який об'єднує всвоєму складі групу процесів і ряд додаткових параметрів (контекст), що використовуються при виконанні операцій передачі даних.

При виконанні операцій передачі повідомлень для вказівки переданих абоотриманих даних у функціях MPI необхідно вказувати тип даних, що пересилаються. MPI містить великий набір базових типів даних, багато в чомузбігаються з типами даних в алгоритмічних мовах C та Fortran. Крім того, вMPI є можливості для створення нових похідних типів даних для більш точногоі короткого опису вмісту пересилаються.

Як вже зазначалося раніше, парні операції передачі даних можуть бутивиконані між будь-якими процесами одного і того ж комунікатора, а в колективній операції беруть участь всі процеси комунікатора. У цьому плані, логічна топологія ліній зв'язку між процесами має структуру повного графа (незалежно від наявності реальних фізичних каналів зв'язку міжпроцесорами). Разом з цим (і це вже зазначалося у розділі 3), для викладу і подальшого аналізу ряду паралельних алгоритмів доцільно логічне уявлення наявноїкомунікаційної мережі у вигляді тих чи інших топологій. У MPI є можливість подання безлічі процесів у вигляді решітки довільнійрозмірності (див. рис. 1.7). При цьому, граничні процеси грат можуть бутиоголошені сусідніми і, тим самим, на основі грат можуть бути визначеніструктури типу тор. Крім того, в MPI є засоби і для формування логічних (віртуальних) топологійбудь-якого необхідного типу