Рейтинговые книги
Читем онлайн Параллельное и распределенное программирование на С++ - Хьюз Камерон

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 57 58 59 60 61 62 63 64 65 ... 181

pvm> spawn -> MyPvmProgram

Запуск PVM-программ c помощью XPVM

Кроме PVM-консоли, можно использовать графический интерфейс XPVM для X Windows. На рис. 6.2 показано диалоговое окно сеанса работы с XPVM-интерфейсом.

Библиотека PVM не требует, чтобы С++-программа придерживалась какой ибо конкретной структуры. Первая PVM-функци я, вызываема я программой, «поме щ ает» ее в PVM-среду. Дл я каждой программы, которая я вл я ется частью PVM-среды, следует всегда вызывать функцию pvm_exit (). Если этого не сделать, система зависнет.

Практика показывает, что функции pvm_mytid() и pvm_parent () необходи м о вызывать в начале обработки задачи. Наиболее популярные категории функций PVM перечислены в табл. 6.1.

Рис. 6.2. Диалоговое окно графического интерфейса XPVM

Таблица 6.1. Семь категорий фу н кций библио т еки PVM

Категории PVM-функций

Описание

Управление процессами

Упаковка сообщений и их отправка

Распаковка сообщений и их прием

Обмен задач сигналами Управление буфером сообщений

Функции обработки информации и служебные процедуры

Групповые операции

Используются для управления PVM-процесса м и

Применяются для упаковки сооб щ ений в пересылочном буфере и отправки их от одного PVM-процесса другому

Используются для получения сооб щ ений и распаковки данных из активного буфера

Применяются для си г нализации и уведомления PVM-процессов о возникновении события

Используются для инициализации, очистки и размещения буферов, предназначенных для приема и отправки сообщений, которыми обмениваются PVM-процессы

Применяются для получения информации о PVM-процессах и выполнения дру г их важных задач

Используются для объединения процессов в группы и выполнения других групповых операций

Требования к PVM-программам

Если PVM-среда реализуется в виде сети компьютеров, то, прежде чем ваша С++-программа начнет взаимодействовать с ней, необходимо обработать следующие элементы.

Параграф 1

Следует установить переменные среды PVM_ROOT и PVM_ARCH. Переменная среды PVM_ROOT должна указывать на каталог, в котором инсталлирована PVM-б иблиотека.

Использование оболочки Bourne (BASH)

Использование С-оболочки_

$ PVM_ROOT=/usr/lib/pvm3

setenv PVM_ROOT /usr/lib/pvm3

$ export PVM_ROOT

Переменная среды PVM_ARCH идентифицирует архитектуру компьютера. Каждый компьютер, включенный в среду PVM, должен быть идентифицирован архитектурой. Например, Ultrasparcs-компьютеры имеют обозначение SUN4SOL2, а Linux-компьютеры — обозначение LINUX. В табл. 6.2 перечислены самые распространенные архитектуры для PVM-среды.

Эта таблица содержит имя и тип компьютера, соответствую щ ий этому имени. Установите свою переменную среды PVM_ARCH равной одному из имен, приведенных в табл. 6.2. Например:

Использование оболочки Bourne (BASH) _ Использование С-оболочки _

$PVM_ARCH=LIMJX   setenv PVM_ARCH LINUX

$export PVM_ARCH

Таблица 6.2. Самые распростра н енные архитек т уры для PVM-среды

PVM_ARCH

Компьютер

PVM__ARCH

Компьютер

AFX8

Alliance

LINUX

80386/486 PC (UNIX)

ALPHA

DEC Alpha

MASPAR

Maspar

BAL

Sequent Balance

MIPS

MIPS 4680

BFLY

BBN ButterflyTC2000

NEXT

NeXT

BSD386

80386/486 PC (UNIX)

PGON

Intel ParagonIntel Paragon

CM2

«Мыслящая машина» CM2

PMAX

DECstation 3100,5100

CM5

«Мыслящая машина» CM5

RS6K

IBM/RS6000

CNVX

Convex С-серии

RT

IBM RT

CNVXN

Convex С-серии

SGI

Silicon Graphics IRIS

CRAY

C-90, YMP,T3D (доступный

порт) SGI5

Silicon Graphics IRIS

CRAY2

Cray-2

SGIMP

SGI Multiprocessor

CRAYSIMP

CrayS-MP

SUN3

Sun3

6.2. Библио т ека PVM для языка С++ 221

Окончание табл. 6.2

PVM_ARCH

Компьютер

PVM_ARCH

Компьютер

DGAV

Data General Aviion

SUN4

Sun 4, SPARCstation

E88K

Encore 88000

SUN2SOL2

Sun 4, SPARCstation

HP300

НР-9000 Model 300

SUNMP

SPARC Multiprocessor

HPPA

НР-9000 PA-RISC

SYMM

Sequent Symme^

I860

Intel iPSC/860

TITN

Stardent Titan

IPSC2

Intel iPSC/2 386 Host

U370

IBM 370

KSRI

Kendall Square KSR-1

UVAX

DEC LicroVAX

Параграф 2

Выполняемые файлы любых программ, участвующих в среде PVM, должны быть размещены на всех компьютерах, включенных в среду PVM, или доступны всем компьютерам, включенным в среду PVM. При этом каждая программа должна быть скомпилирована для работы с учетом конкретной архитектуры. Это означает, что, если в среду PVM включены процессоры UltraSparcs, PowerPCs и Intel, то мы должны иметь версию программы, скомпилированную для каждой архитектуры. Эту версию программы следует разместить в известном для PVM месте. Таким местом часто служит каталог $HOME /pvm3/bin. Этот каталог может быть также задан в файле конфигурации PVM, который обычно имеет имя hostfile или .xpvm_hosts (если используется среда XPVM). Файл hostfile должен содержать такую запись: ep=/usr/local/pvm3/bin

Эта запись означает, что любые пользовательские выполняемые файлы, необходимые для среды PVM, можно найти в каталоге /usr/local/pvm3 /bin.

Параграф 3

Пользователь, запускаю щ ий PVM-программу, должен иметь сетевой доступ (rsh или ssh) к каждому компьютеру, включенному в среду PVM. По умолчанию PVM получает доступ к каждому компьютеру, используя зарегистрированное имя пользователя, запускаю щ его PVM-программу, или учетную запись компьютера, на котором она запускается. Если потребуется другая учетная запись (помимо зарегистрированного имени пользователя-инициатора), то в файл конфигурации PVM hostfile или .xpvm_hosts необходимо добавить соответствую щ ую запись, например: lo= flashgordon

Параграф 4

Создайте на каждо м компьютере файл .rhosts, в котором перечислите все компьютеры, подлежа щ ие использованию. Эти компьютеры имеют потенциальную возможность для включения в среду PVM. В зависи м ости от содержи м ого файла .xpvm_hosts или файла pvm_hosts, эти компьютеры автоматически будут добавлены в PVM-среду при запуске программы pvmd. Ко м пьютеры, перечисленные в этих файлах, также м огут дина м ически включаться в PVM-среду во вре м я работы.

1 ... 57 58 59 60 61 62 63 64 65 ... 181
На этой странице вы можете бесплатно читать книгу Параллельное и распределенное программирование на С++ - Хьюз Камерон бесплатно.
Похожие на Параллельное и распределенное программирование на С++ - Хьюз Камерон книги

Оставить комментарий