Базовые механизмы PVM

Среда PVM состоит из двух компонентов: PVM-демона (pvmd) и библиотеки pvmd. Один PVM-демон pvmd выполняется на каждом компьютере в виртуальной машине. Этот демон служит в качестве маршрутизатора сооб щ ений и контроллера. Каждый демон pvmd управляет списком PVM-задач на своем компьютере. Демон управляет процессами, выполняет минимальную аутентификацию и отвечает за отказоустойчивость. Обычно первый демон запускается вручную. Затем он запускает другие демоны. Только исходный демон может запускать дополнительные демоны. И только исходный демон может безусловно остановить другой демон.

Библиотека pvmd состоит из функций, которые позволяют одной PVM-задаче взаимодействовать с другими. Эта библиотека также включает функции, которые позволяют PVM-задаче связываться со своим демоном pvmd. Базовал архитектура PVM-среды показана на рис. 6.6.

РУМтреда состоит из нескольких PVM-задач. Каждал задача должна содержать один или несколько буферов отправки сооб щ ений, но в каждый момент времени активным может быть только один буфер (он называется активным буфером отправки сообщений). Каждая задача имеет активный буфер приема сооб щ ений. Обратите внимание (см. рис. 6.6) на то, что взаимодействие между PVM-задачами реально выполняется с использованием ТСР-сокетов. Функции pvm_send () делают доступ к сокетам прозрачным. Протраммист не получает доступа к функциям ТСРчюкетов напрямую. На рис. 6.6 также показано взаимодействие PVM-задач со своими демонами pvmd с помо щ ью TCP-сокетов и взаимодействие между самими демонами с помо щ ью UDP-сокетов. И снова-таки, обра щ ения к сокетам выполняются посредством PVM-функций. Програ мм ист не должен заниматься программированием сокетов на низком уровне. PVM-функции, которые используются в этой книге, делятся на четыре следующие категории:

• управление процессами;

• упаковка сооб щ ений и их отправка;

• распаковка сооб щ ений и их получение;

• управление буфером сооб щ ений.

Несмотря на су щ ествование дру г их кате г орий РУМч^ункций (например, инфор м ационные и сервисные функции или функции групповой обработки), реко м енлуе м обратить внимание на функции обработки сооб щ ений и функции управления процессами. Дру г ие же функции булут расс м отрены в контексте програ мм, в которых они используются.

Рис. 6.6. Базовая архи т ек т ура PVM-среды

Больше книг — больше знаний!

Заберите 30% скидку новым пользователям на все книги Литрес с нашим промокодом

ПОЛУЧИТЬ СКИДКУ