- •Екзаменаційний білет №21
- •Функції маршрутизації даних.
- •2 Векторний спосіб конструювання похідних типів даних.
- •Екзаменаційний білет №22
- •Системи із змінним часом звертання до пам’яті
- •Індексний спосіб конструювання похідних типів даних.
- •Конструювання типу.
- •Реєстрація типу.
- •Екзаменаційний білет №23
- •Порівняння кластерів та smp-систем.
- •Структурний спосіб конструювання похідних типів даних.
- •1.Конструювання типу.
- •2.Реєстрація типу.
- •Екзаменаційний білет №24
- •Системи із змінним часом звертання до пам’яті
- •Конструювання типу.
- •Реєстрація типу.
- •Екзаменаційний білет №25
- •Формування повідомлень за допомогою упакування і розпакування даних.
Екзаменаційний білет №24
Системи із змінним часом звертання до пам’яті
Ідея побудови таких обчислювальних систем є дуже простою. Береться деяка кількість обчислювальних вузлів, кожен з яких складається з процесорного елемента та оперативної пам’яті, доступ до якої має тільки цей процесорний елемент. Доступ до віддаленої пам’яті відбувається іншим, більш складнішим шляхом. В наш час в ролі обчислювальних вузлів все частіше використовуються повноцінні комп’ютери. Комунікаційне середовище може спеціально розроблятися для певної системи, або бути стандартною мережевою технологією, вільно доступною на ринку. Переваги в таких системах наступні:
Користувач може довільно конфігурувати систему, в залежності від своїх бажань та можливостей.
Дана система може практично необмежено розростатись і вартість такої системи значно менша ніж інші паралельні системи.
Дані системи отримали назву - комп’ютери з масовим розпаралелюванням або масово паралельні комп’ютери. Перевагами цих систем є можливість розв’язку декількох паралельних незалежних або слабозв’язаних задач. Також перевагою можна вказати відносну простоту та дешевизну створення. Недоліками є складна організація роботи такої системи (синхронізація даних, реалізація механізму повідомлень між комп’ютерами) та великі накладні витрати при передачі даних по мережі. По характеру зв’язків між ЕОМ даної системи можна виділити наступні типи:
1. Непрямі або слабозв’язані.
2. Прямозв’язані.
3. Сателітний зв'язок.
2 Оголошення похідних типів і їх видалення.
Похідні типи даних створюються під час виконання програми, а не при компіляції.
Створення типа виконується за два кроки:
Конструювання типу.
Реєстрація типу.
Похідні типи створюються за допомогою спеціальних функцій-конструкторів. Кожен такий тип задається набором базових типів та значеннь зсувів. Зсуви обчислюються від початки буферу та визначають ті елементи, що будуть приймати участь в операціях обміну. При цьому зсуви можуть приймати навіть негативні значення. Також зсуви можуть бути неупорядковані. Послідовність пар (тип, зсув) називають картою типу.
Після створення типу його необхідно зареєструвати за допомогою функції MPI_Type_commit:
int MPI_Type_commit (MPI_Datatype * datatype)
Найбільш універсальним констуркторои похідних типів даних є функція MPI_Type_struct:
int MPI_Type_struct (і n t count, int blocklens[],
MPI_Aint indices [] , MPI_Datatype old_types[], MPI_Datatype *newtype )
Нижче наведено опис параметрів функції:
count — кількість блоків (базових типів) в новому типі (також кількість елементів
масивів blocklens, indices, old_types); blocklens — масив, i-й елемент якого містить кількість елементів i-го блоку; indices — зсув в байтах кожного блоку; old_types — тип елементів кожного блоку; newtype — ідентифікатор нового типу даних.
Якщо в якості повідомлень будуть застосовуватись масиви нового типу, що створю- ються, то в масиві old_types останнім елементом має бути MPI_UB.
Після завершення роботи з похідним типом його необхідно анулювати за допомогою наступної функції:
int MPI_Type_free ( MPI_Datatype *datatype )