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

3.1 Паралельні програми - головним гальмом

Головною перешкодою запровадження практично всіх паралельних архітектур є паралельних програм. У успадкованих від послідовного світу програм є недолік - великий обсяг коду, принципово що паралельного виконання. Його не можна подолати завдяки вдосконаленню техніки компіляції. Тож якщо програма половину часу займається діями, які слід здійснювати суворо послідовно, то паралельне виконання що залишилася половини граничному разі дасть лише дворазове прискорення. Через війну, хочемо ми цього чи немає, послідовні обчислювальні алгоритми доведеться заміняти паралельними.

3.2 MPI

Практично усім паралельних системах були свої власні бібліотеки передачі повідомлень. У найпростішому випадку вони передбачали передачу і достойний прийом окремих пакетів між сусідніми процесорами. Більше складні підтримували передачу повідомлень довільній довжини, маршрутизацію повідомлень і апарат тегов, що дозволяє приймаючої боці самої вирішувати, як і послідовності обробляти вступники повідомлення. Деякі бібліотеки допускали динамічний породження і знищення процесів.Останніми роками у справі створення ПЗ для систем з розподіленої пам'яттю намітився серйозного прогресу. Найбільшим досягненням була стандартизація інтерфейсу передачі повідомлень MPI (message passing interface). По-перше, MPI підтримує кілька режимів передачі, найважливіші у тому числі: синхронна передача, яка потребує виділення проміжних буферів для даних, і забезпечує надійну передачу даних як завгодно великого розміру, і асинхронна передача, коли він надсилає повідомлення процес не чекає початку набору, що дозволяє ефективно передавати короткі повідомлення. По-друге, MPI дозволяє передавати дані тільки від процесу до іншого, а й підтримує колективні операції: широкомовну передачу, разборку-сборку, операції редукції. По-третє, MPI передбачає гетерогенні обчислення. Обчислювальна система може охоплювати різні процесори, зокрема мають різні набори команд і різне уявлення даних. Коли ви є суперкомп'ютер, це здається зайвим, але для організацій, експлуатують мережі робочих станцій з різними процесорами і версіями Unix, - це знахідка.

Синтаксис MPI полегшує створення додатків у моделі SPMD (single program multiple data) - програми працює у різних процесах відносини із своїми даними. Одна й та функція викликається на узле-источнике і узлах-приемниках, а тип виконуваної операції (передача чи прийом) визначається за допомогою параметра. Такий синтаксис викликів робить SPMD-программы істотно компактніші, хоч і важче розуміння.Основне відмінність стандарту MPI з його попередників - поняття комунікатора. Усі операції синхронізації і передачі повідомлень локалізуються всередині комунікатора. З комунікатором пов'язується група процесів. Зокрема, все колективні операції викликаються одночасно усім процесах, які входять у цю групуПідтримка модульного програмування разом із незалежністю від апаратури дала потужний імпульс до створення бібліотек. Однією з цікавих розробок - пакет лінійної алгебри ScaLAPACK, розроблений групою Дж. Донгарра.