- •Питання до модульного контролю з предмету паралельні обчислювальні процеси
- •Що таке паралелізм?
- •Ціль технології паралелізму?
- •Два основних підходи до реалізації паралелізму.
- •Переваги паралелізму.
- •Найпростіша модель паралельного програмування (pram).
- •Основні алгоритми паралельної роботи (записзчитування).
- •Класифікація схем паралелізму.
- •Проста модель розподіленого програмування.
- •Декомпозиція, зв'язок та синхронізація.
- •Базові рівні програмного паралелізму.
- •Стандарти мрі.
- •Стандарти кластерного програмування.
- •Стандарти corba.
- •Три рівні паралелізму в комп’ютерній програмі.
- •Проблема зв’язку та синхронізації в паралельному програмуванні.
- •Posix-специфікація: п’ять базових механізмів.
Основні алгоритми паралельної роботи (записзчитування).
Паралельні алгоритми зчитування даних дозволяють одночасно звертатися до одної і тої ж області даних без псування (спотворення) даних. Виключні алгоритми зчитування даних використовуються у випадку, коли необхідна гарантія, що ніякі два процеси не будуть зчитувати дані з одної і тої ж області пам’яті одночасно. PRAM-модель також володіє паралельними і виключними алгоритмами запису даних. Паралельні алгоритми дозволяють декільком процесам одночасно записувати дані в одну і ту ж область пам’яті, в той час як виключні алгоритми гарантують, що ніякі два процеси не будуть записувати дані в одну і ту ж область пам’яті одночасно.
Таблиця 1. Чотири базових алгоритми зчитування і запису даних |
|
Опис |
|
Виключне зчитуваннявиключний запис |
|
Паралельне зчитуваннявиключний запис |
|
Виключне зчитуванняпаралельний запис |
|
Паралельне зчитування паралельний запис |
|
Класифікація схем паралелізму.
Спрощена класифікація схем функціонування паралельних комп’ютерів має наступний вигляд: SIMD (Single-Instruction, Multiple-Data – архітектура з одним потоком команд і багатьма потоками даних), MIMD (Multiple-Instruction, Multiple-Data – з множиною потоків команд і множиною потоків даних), SPMD (Single-Program, Multiple-Data – одна програма, декілька потоків даних) та MPMD (Multiple- Program, Multiple-Data – множина програм, множина потоків даних). Схема SPMD (SIMD)дозволяє працювати декільком процесорам, причому всі вони виконують різні програми або інструкції і користуються власними даними
Проста модель розподіленого програмування.
Не дивлячись на те що модель клієнтсервер - сама поширена модель розподіленого програмування, але вона не єдина. Використовуються також агенти – раціональні компоненти ПЗ, які характеризуються самонаведенням і автономністю та можуть постійно знаходитися в стані виконання. Агенти можуть як створювати запити до інших програмних компонент, так і відповідати на запити, отримані від інших програмних компонент. Агенти співпрацюють в межах групи для колективного виконання певних задач. В такій моделі не існує конкретного клієнта або сервера. Це – модель мережі з рівноправними вузлами (peer-to-peer), і при цьому у кожного компонента є що запропонувати іншому. Наприклад, агент, який визначає ціни на відновлення раритетних спортивних автомобілів, може працювати разом з іншими агентами. Один агент може спеціалізуватися за моторами, інший – за кузовами, а третій віддає перевагу праці дизайнера за інтер’єром. Ці агенти разом можуть оцінити вартість робіт по реставрації автомобіля. Агенти є розподіленими, оскільки всі вони розміщені на різних серверах в Internet. Для зв’язку вони використовують узгоджений Internet-протокол. Для одних типів розподіленого програмування краще використовувати модель типу клієнтсервер, а для інших – модель рівноправних агентів. Дані моделі задовольняють більшість вимог поставлених до розподіленого програмування.
