Дистанційний виклик

Щоб поширити концепцію процесів на паралельні процесори без загальної пам'яті, потрібно реалізувати спілкування процесів на різних процесорах через обмін повідомленнями. Концепція повідомлень може бути імплементована i на MIMD-структуру із загальною пам'яттю (але з більшими витратами на керування).

Програмна система поділяється на декілька паралельних процесів, причому кожний процес бере на себе роль сервера чи клієнта. Кожний сервер має в основному один нескінченний цикл, в якому він чекає на черговий запит, виконує обчислення i видає результат в обумовленому вигляді. Кожний сервер при цьому може стати також клієнтом, i тоді він приймає до уваги дії іншого сервера. Кожний клієнт передає блоки задач одному або декільком відповідно конфігурованим сервер-процесам.

Цей cnoci6 паралельного розподілення робіт імплементується механізмом дистанційного виклику ("remote procedure call", RPC, рис.Б.5).

Здатність до обробки інформації суттєво зростає, якщо клієнт не чекає на результати сервера під час кожного звертання до нього, а паралельно йому може вести подальші розрахунки на своєму процесорі. Однак з цієї вимоги кращого завантаження апаратури та її більшої ефективності виникають i нові проблеми: параметри зворотного зв'язку недоступні негайно після виконання сервер-операції, оскільки вони більше відповідають операції типу "віддача замовлення". Результати, на які чекає клієнт, в цьому випадку після обчислень у сервері мають бути переслані у зворотному напрямку від сервера до клієнта у вигляді явного обміну даними. Труднощі в RPC- методі викликає також виготовлення безпомилкових протоколів вводу в дію i повторного пропуску задач виходу сервера з ладу.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: