Page 27 - 6111
P. 27
- процес - це послідовна програма з локальними даними.
Процес має вхідні і вихідні порти, що служить інтерфейсом до
середовища процесу;
- на додачу до звичайних операцій процес може виконувати
наступні дії: послати повідомлення через вихідний порт, одержати
повідомлення з вхідного порту, створити новий процес і завершити
процес;
- посилаюча операція асинхронна - вона завершується відразу,
не очікуючи того, коли дані будуть отримані. Вхідна операція
синхронна - вона блокує процес до моменту надходження
повідомлення;
- пари з вхідного і вихідного портів з’єднуються чергами
повідомлень, які називаються каналами. Канали можна створювати
і видаляти. Посилання на канали (порти) можна включати в
повідомлення, так що зв’язність може змінюватися динамічно;
- процеси можна розподіляти між фізичними процесорами
довільним способом, причому використовуване відображення
(розподіл) не впливає на семантику програми. Зокрема, безліч
процесів можна відобразити на один процесор.
Поняття процесу дозволяє говорити про місце розташування
даних: дані, що містяться в локальній пам’яті процесу - розташовані
“близько”, інші дані - “віддалені”. Поняття каналу забезпечує
механізм для вказання того, що для продовження обчислення
одному процесу вимагаються дані іншого процесу, тобто залежність
між даними.
Модель обмін повідомленнями
У цій моделі програми, можливо різні, написані на традиційній
послідовній мові, виконуються процесорами комп’ютера. Кожна
програма має доступ до пам’яті виконуючого її процесора.
Програми обмінюються між собою даними, використовуючи
підпрограми прийому/передачі даних деякої комунікаційної
системи. Програми, що використовують обмін повідомленнями,
можуть виконуватися тільки на MIMD комп’ютерах.
На сьогоднішній день модель обмін повідомленнями (message
passing) є найбільш широко використовуваною моделлю
паралельного програмування. Програми цієї моделі, подібно
програмам моделі процес/канал, створюють безліч процесів, з
кожним з яких асоційовані локальні дані. Кожен процес
ідентифікується унікальним ім’ям. Процеси взаємодіють,
посилаючи й одержуючи повідомлення. У цьому відношенні модель
обмін повідомленнями є різновидом моделі процес/канал і
відрізняється тільки механізмом, який використовується при
26