Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ALL_otvety_na_ekzamen_PRO.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
473.05 Кб
Скачать

17 У чому відмінність парних і колективних операцій передачі даних?

18 У яких ситуаціях слід застосовувати бар’єрну синхронізацію ?

19 Які режими передачі даних підтримуються у mpi?

MPI підтримує чотири режими виконання. Ці режими стосуються тільки функцій передачі даних, тому для блокуючих і неблокуючих операцій є по чотири функції надсилання повідомлень.

Префікс S (synchronous) означає синхронний режим передачі даних. Операція передачі даних закінчується тільки тоді, коли закінчується прийом даних. Функція нелокальна.

Префікс B (buffered) означає буферизований режим передачі даних. В адресному просторі передавального процесу за допомогою спеціальної функції створюється буфер обміну, що використовується в операціях обміну. Операція надсилання завершується, коли дані вміщено до цього буфера. Функція має локальний характер.

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

Префікс I (immediate) належить до неблокуючих операцій.

20 Як організується неблокуючий обмін даними у mpi ?

Неблокуючі функції мають на увазі суміщення операцій обміну з іншими операціями, тому неблокуючі функції передачі та прийому, по суті, є функціями ініціалізації відповідних операцій. Для опитування завершеності операції вводяться додаткові функції.

Використання неблокуючих комунікаційних операцій підвищує небезпеку з погляду виникнення тупикових ситуацій, а також виконання обчислювальних і комунікаційних операцій. Ці задачі розв’язуються розподілом комунікаційних операцій на дві стадії:

Ініціювання операції та перевірку завершення операції.

Неблокуючі операції використовують спеціальний прихований об’єкт «запит обміну» для зв’язку між функціями обміну й функціями опитування їх завершення. Для прикладних програм доступ до цього об’єкта можливий тільки через виклики MPI- функцій. Якщо операцію обміну завершено, підпрограма перевірки знімає «запит обміну», встановлюючи його до значення MPI-REQUEST_NULL. Зняти запит без очікування завершення операції можна підпрограмою MPI_Request_free.

21 Які колективні операції передачі даних передбачено у mpi ?

Колективні комунікаційні операції, до яких входять:

  • Розсилання інформації від одного процесу всім іншим членам деякої зони зв’язку (MPI_Bcast);

  • Збирання (gather) розподіленого за процесами масиву в один масив зі збереженням його в адресному просторі виділеного (root) процесу (MPI_Gather, MPI_Gatherv);

  • Збирання розподіленого масиву в один масив з розсиланням його всім процесам деякої зони зв’язку (MPI_Allgather, MPI_Allgatherv);

  • Розбиття масиву й розсилання його фрагментів (scatter) усім процесам зони зв’язку (MPI_Scatter, MPI_Scatterv);

  • Суміщена операція Scatter/Gather (All-to-All), кожний процес ділить дані зі свого буфера передачі і розкидає фрагменти всім іншим процесам, одночасно збираючи фрагменти, надіслані іншими процесами, до свого буфера прийому (MPI_Alltoall, MPI_Alltoallv).

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