Організація віртуальних топологій паралельних обчислень за допомогою функцій парного обміну стандарту MPI
Автор: Alex21 • Декабрь 22, 2017 • Лабораторная работа • 1,109 Слов (5 Страниц) • 959 Просмотры
Лабораторна робота №3
Тема: організація віртуальних топологій паралельних обчислень за допомогою функцій парного обміну стандарту MPI.
Мета:
- дати уявлення про паралельні MPI-програми, що налаштовуються на розмір обчислювальної системи, як на параметр;
- закріпити практичне освоєння функцій парних взаємодій між гілками паралельної програми;
- організувати конкретну схему передачі повідомлень;
- закріпити практичне освоєння функцій парних взаємодій між гілками паралельної програми.
Хід роботи:
- Повторити основні функції колективного обміну повідомленнями стандарту MPI.
- Пройти в дистанційній освіті тест «Основи MPI».
- Виконати завдання 1.
- Виконати завдання 2.
- Для заданого n і заданої топології процесів (див. варіанти) за допомогою ПАРНИХ ФУНКЦІЙ ОБМІНУ здійснити обмін даними.
- Виконати написану паралельну програму для різних початкових даних.
g[pic 1]
Рис.1. Схема кільцевих зсувів даних
Завдання 1. Програмування одночасних кільцевих зсувів даних
Всі гілки одночасно пересилають деякі свої дані гілкам з номерами на одиницю більшими, ніж гілки, що передають. Тобто пересилка інформації здійснюється вздовж кільця комп'ютерів (рис.1).
Завдання 2. Програмування конвеєра
Гілка 0 пересилає деякі дані гілці 1, гілка 1 прийняті дані передає гілці 2, гілка 2 прийняті дані передає гілці 3 і так далі по ланцюжку збільшення номерів. І, нарешті, гілка 0 приймає дані, що пересилаються, від гілки size-1 і виводить на екран свій номер і прийняті дані. Тобто, здійснюється пересилка інформації по кільцю комп'ютерів.
Вміст звіту:
- Записати лише різницю в коді програм для завдання1 і Завдання2.
- Завдання за варіантом.
- Алгоритм вибору шляху передачі повідомлень.
- Лістинг програми.
- Результати виконання програми.
Контрольні запитання:
- Які існують способи обміну даними в MPI-програмах?
- Опишіть синтаксис парного обміну повідомлень.
- Що таке топологія обчислювальної системи?
- Які існують топології з’єднання процесорів в обчислювальних системах?
- Що таке обчислювальні системи із реконфігурованою топологією?
- Наведіть можливі модифікації топології обчислювальної системи, завдяки виключенню певних зв’язків, якщо стартова топологія системи: а) тор, б) гіперкуб в) кільце.
- Наведіть зразки ефективного підбору зв’язки «задача - топологія обчислювальної системи».
- Наведіть приклад обчислювальної задачі, для якої підходить схема обміну повідомленнями із завдання на варіантом.
- В які ще схеми може бути легко модифікована схема обміну повідомленнями задана варіантом?
- Обмін повідомленнями – перевага чи недолік паралельного програмування?
- Обмін повідомленнями можливий при застосуванні синхронного чи асинхронного програмування?
- Чи доцільно було б для виконання завдання використовувати колективні команди обміну повідомленнями стандарту MPI.
Варіанти
1. Топологія процесів – повнозв’язна система з n процесів (рис. 1). За допомогою функцій обмінів здійснити: передачу даних від кожного процесу кожному.
[pic 2]
Рис.1. Топологія «повнозв’язна Рис. 2. Топологія «зірка»
система» при n = 4 при n = 5
2. Топологія процесів – «зірка» з n процесів (рис.2). За допомогою функцій обмінів здійснити: передачу даних від процеса № i процесу № j, де 0 < i, j ≤ n. Номери процесів задаються користувачем.
...