Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Bilety_21-25.doc
Скачиваний:
4
Добавлен:
21.09.2019
Размер:
75.78 Кб
Скачать
  1. Індексний спосіб конструювання похідних типів даних.

Похідні типи даних створюються під час виконання програми, а не при компіляції. Створення типа виконується за два кроки:

        1. Конструювання типу.

        2. Реєстрація типу.

Похідні типи створюються за допомогою спеціальних функцій-конструкторов. Ко­жен такий тип задається набором базових типів та значеннь зсувів. Зсуви обчислю­ються від початки буферу та визначають ті елементи, що будуть приймати участь в операціях обміну. При цьому зсуви можуть приймати навіть негативні значення. Також зсуви можуть бути неупорядковані. Послідовність пар (тип, зсув) називають картою типу.

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

int MPI_Type_indexed(int count,int blocklens[],int indices[],MPI_Data_type oldtype,MPI_Datatype *newtype),

 Якщо інтервали між блоками задаються в байтах, а не в елементах вихідного (початкового) типу даних, слід використовувати функцію: int MPI_Type_hindexed( int count, int blocklens[], MPI_Aint

indices[],MPI_Data_type oldtype,MPI_Datatype *newtype);

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

  1. Порівняння кластерів та smp-систем.

І кластери, і SMP-системи мають можливість розпаралелювання навантаження і розподілу його між багатьма процесорами і, таким чином, можуть забезпечити ефективне виконання особливо складних додатків. Системи і того й іншого класу присутні на комп'ютерному ринку.

Основна перевага SMP-систем у тому, що їх легше обслуговувати й експлуатувати, ніж кластери. SMP-системи по своїй суті набагато ближчі до звичних однопроцесорних систем, для яких розроблена переважна більшість існуючих додатків. Принципова зміна при переході від однопроцесорних систем до SMP-систем – впровадження функції планування. Інша перевага SMP-систем у порівнянні з кластерами – менші фізичні розміри і споживана потужність. Не слід забувати і те, що SMP-системи вже досить вкоренилися на практиці і їхнє виробництво добре налагоджено.

Але в групі високопродуктивних серверних систем кластери мають певну перевагу перед SMP-системами. Це зв'язано в першу чергу з можливістю нарощування структури комплексу вже в період його експлуатації і більш високою надійністю.

  1. Структурний спосіб конструювання похідних типів даних.

Похідні типи даних створюються під час виконання програми, а не при компіляції.

Створення типа виконується за два кроки:

1.Конструювання типу.

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.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]