PVM (параллельная виртуальная машина)
перевод Балуева А.Н. (мат-мех факультет СПбГУ)
PVM(1PVM) PVM Version 3.4 PVM(1PVM)
НАЗВАНИЕ
pvm - PVM консоль, версия 3
Форма
pvm [[ --options ]] [[ hostfile ]]
ОПИСАНИЕ
Pvm - есть отдельная задача PVM, которая дает пользователю
возможность интерактивного запроса и модификации виртуальной машины.
Консоль может запускаться и останавливаться на любом хосте виртуальной
машины без всякого воздействия на PVM или любую исполняемую прикладную
программу.
При запуске pvm определяет, не запущена ли уже PVM, и если нет,
то автоматически выполняет на данном хосте pvmd3, передав ей параметры
из командной строки и хост-файл. Таким образом, PVM не нужно запускать
для старта консоли. После старта консоль выдает приглашение:
pvm>
Имеются следующие консольные команды:
add hostname(s) - добавить хосты к виртуальной машине
alias - определить/перечислить алиасы команды
conf - выдать конфигурацию виртуальной машины
delete hostname(s) - удалить хосты из виртуальной машины
echo - аргументы для эхо
export - добавить переменные обстановки для создания
списка экспорта
halt - остановить pvmds
help [command] - напечатать вспомогательную информацию о команде
id - напечатать идентификатор консольной задачи
jobs - перечислить текущие задания
kill task-tid - прекратить указанные задачи
mstat host-tid - выдать статусы хостов
ps -a - перечислить все PVM-задачи
pstat task-tid - выдать статусы задач
quit - остановить консоль
reset - сбросить все задачи
setenv - выдать/установить переменные обстановки
sig signum task - передать сигнал задаче
spawn [opt] a.out - создать задачу
возможны следующие opt:
-(count) номер задачи, по умолчанию 1
-(host) создать хост, по умолчанию произвольный
-(ARCH) создать хосты из ARCH
-? задействовать отладку
-> перенаправить выход задачи на консоль
-> file перенаправить выход задачи в файл
->>file перенаправить выход задачи в дополнение файла
trace - установить/показать маску слежения за событиями
unexport - удалить переменные обстановки из списка создания экспорта
unalias - уничтожить алиас команды
version - показать версии из библиотеки libpvm
pvm считывает $HOME/.pvmrc перед считыванием команд с tty,
так что это можно использовать для настройки консоли
пример обстановки:
alias ? help
alias j jobs
setenv PVM_EXPORT DISPLAY
# print my id
echo new pvm shell
id
ПРИМЕРЫ
Pvm запускает pvmd3 на локальном хосте или связывается с
исполняемой pvmd3.
pvm hostfile
Запускает консоль и pvmd3, которая считывает хост-файл и добавляет
указанные там компьютеры к виртуальной машине.
СМОТРИТЕ ТАКЖЕ
pvm_intro(1PVM), pvmd3(1PVM)
НАЗВАНИЕ
pvmd, pvmd3 - PVM демон
КРАТКОЕ ОПИСАНИЕ
pvmd [[-опции]] [[ -хост-файлы]] &
ОПИСАНИЕ
Pvmd3 есть демон (т.е. специальный служебный процесс в UNIX), который
координирует хосты UNIX в виртуальной машине. Один pvmd3 может работать
на каждом хосте в группе. Они обеспечивают коммуникации и управляющие
функции для PVM-процессов пользователей. Демон может быть запущен
вручную аргументом хост-файла, который автоматически запускает
отдаленные pvmd. Локальный или отдаленный pvmd можно также запустить с
консоли PVM консольной программой pvm.
Имя выполняемого демона есть pvmd3. Он обычно запускается
вызовом файла $PVM_ROOT/lib/pvmd.
[версия 3.4 и последующие] Перед запуском pvmd3, pvmd использует команды
из $HOME/.pvmprofile, если этот файл
есть.
ПАРАМЕТРЫ
При запуске главного pvmd или консольного PVM в командной строке можно
указывать следующие параметры:
-dmask - установка отладочной маски pvmd. Используется для
для отладки pvmd или libpvm (не предназначен для отладки прикладных
программ). Mask есть сумма указанных ниже битов и может
задаваться в шестнадцатеричной (0x...), восьмеричной (0...) или
десятичной системе:
Бит Информация
0x1 Пакетная маршрутизация
0x2 Маршрутизация сообщений и точек входа
0x4 Состояние задачи
0x8 Запуск подчиненной pvmd
0x10 Обновления таблицы хостов
0x20 Выбор цикла (ниже пакетного уровня)
0x40 IP-сеть
0x80 Многопроцессорные узлы
0x100 Интерфейс менеджера ресурсов
0x200 Прикладная программа (сообщения без адреса и пр.)
0x400 Контексты ожидания
0x800 Совместные операции с памятью
0x1000 Семафоры
0x2000 Блокировки
0x4000 Управление маршрутами сообщений
-nname Специфицирует альтернативное хост-имя главного pvmd.
Полезно, когда gethostname() выдает
имя, не присвоенное никакому сетевому интерфейсу.
06 мая, 1994 1
PVMD(1PVM) PVM версия 3.4 PVMD(1PVM)
Указанные ниже параметры используются главным pvmd, когда
запускаются подчиненные, и представляют интерес только для
тех, кто напишет какой-нибудь hoster.
Воздержитесь в настоящее время от их употребления.
-s Запускает pvmd в подчиненной форме. Нельзя использовать
хост-файл, необходимо добавить 5 дополнительных параметров:
индекс главного pvmd, главный IP, главный MTU, индекс
подчиненного pvmd и подчиненный IP.
-S То же, что и -s, только подчиненная pvmd не ждет, пока
ее stdin будет закрыт после печати ее параметров.
Используется при ручном запуске.
-f Подчиненные не копируются после конфигурации (полезно, если
подчиненные pvmd должны контролироваться или направляться
каким-нибудь процессом).
ФОРМАТ ХОСТ-ФАЙЛА
Каждый хост в виртуальной машине должен имеет вход в хост-файле.
Строки, начинающиеся с диеза ( # ), иногда с предшествующим пробелом,
игнорируются.
Простой хост-файл может выглядеть так:
# my first host file
thud
fred
wilma
barney
betty
Он содержит имена пяти хостов, которые должны конфигурироваться в
виртуальной машине.
Главный pvmd группы запускается вручную с локального
хоста и в свою очередь запускает подчиненные на остальных хостах,
используя команды rsh или rexec. Главный хост может
быть в любой строке хост-файла. Имена хостов не могут быть числовыми
(IP) адресами, так как они передаются в rsh и rexec(), которые
обычно не воспринимают адреса.
Указанный выше простой формат хорошо служит, если Вы имеете одно и
то же имя login на всех пяти машинах и имя главного хоста указано в
Ваших файлах .rhosts на остальных четырех.
В хост-файлах можно употреблять также следующие параметры:
lo=NAME Указывает альтернативное имя login (NAME),
которое можно также использовать.
so=pw Это необходимо, если отдаленный хост
06 мая, 1994 2
PVMD(1PVM) PVM Version 3.4 PVMD(1PVM)
не может доверять главному. Побуждает
главный pvmd запросить пароль для отдаленного
хоста. В tty pvmd (заметим, что нельзя
запускать главную pvmd c консоли, если
используется этот параметр) Вы увидите:
(option) you will see:
Password (honk.cs.utk.edu:manchek):
после чего следует ввести Ваш пароль для
отдаленного хоста. После этого запуск
продолжается обычным образом.
dx=FILE Указывает путь для исполняемого pvmd. FILE
может означать простое имя, абсолютное имя
или путь в основном каталоге пользователя
отдаленного хоста. Это обычно полезно при
отладке новой версии PVM, но может
использоваться и в других случаях.
ep=PATH Указывает путь для pvmd для поиска
исполнимых компонент программы при порождении
нового процесса. Путь может содержать много
элементов, разделенных двоеточием ( : ).
wd=PATH Указывает рабочий каталог, в котором будут
исполняться все порожденные задачи этого хоста.
sp=VALUE Указывает относительную вычислительную
скорость этого хоста по отношению к
другим хостам в конфигурации. VALUE означает
целое число в пределах [1 - 1000000]
bx=PATH Указывает путь для отладочной программы.
Замечание: может быть подставлена также
переменная обстановки PVM_DEBUGGER.
ip=NAME Указывает альтернативный IP-адрес для
использования в качестве хоста. Как и в
случае имени хоста (когда ip= не
используется ), адрес должен быть именем
хоста, а не числом, потому что он передается
в rsh и rexec(). Этот вариант позволяет
использовать специфический сетевой интерфейс
для машины, не упоминая имени этого интерфейса.
Это можно использовать также для создания
виртуальной машины, используя символические
(вместо фактических) имена хостов.
06 мая, 1994 3
PVMD(1PVM) PVM Version 3.4 PVMD(1PVM)
so=ms Используется редко. Побуждает главный pvmd
просить пользователя о ручном запуске pvmd
на подчиненном хосте, когда не действуют
сетевые услуги rsh и rexec, но IP-связность
имеет место. См. секцию "РУЧНОЙ ЗАПУСК".
Знак доллара ( $ ) в параметре означает имя переменной, например
$PVM_ARCH. Имена расширяются от переменных
обстановки каждым pvmd.
Каждый из названных выше параметров имеет значение по умолчанию,
а именно:
lo loginname главного хоста.
so Не имеет
dx $PVM_ROOT/lib/pvmd (или переменная обстановки
PVM_DPATH)
ep $HOME/pvm3/bin/$PVM_ARCH:$PVM_ROOT/bin/$PVM_ARCH
wd $HOME
sp 1000
bx $PVM_ROOT/lib/debugger
Их можно изменить, добавив строки со звездочкой ( * ) в поле перед
параметрами, например:
* lo=afriend so=pw
Звездочка устанавливает новые значения по умолчанию для 'lo' и 'so'
для остальной части хост-файла или до новой строки со звездочкой.
Значения, установленные в последней строке со звездочкой, распространяются
на хосты, которые добавляются динамически при использовании
pvm_addhosts().
Параметры хоста могут быть установлены без его автоматического запуска.
Информация о строках хост-файла, начинающихся с '&', запоминается, но
такие хосты не запускаются до дополнительного использования
pvm_addhosts().
Пример хост-файла:
# хост-файл для тестирования на разных платформах
fonebone
refuge
# установлен в /usr/local здесь
sigi.cs dx=/usr/local/pvm3/lib/pvmd
# заимствованные счета, "гость", не доверять fonebone
* lo=guest so=pw
sn666.jrandom.com
cubie.misc.edu
# что-то болезненное, запускать вручную, совм. исп. главный каталог
& igor.firewall.com lo=guest2 so=ms ep=bob/pvm3/bin/$PVM_ARCH
РУЧНОЙ ЗАПУСК
Когда добавляется хост с таким параметром, Вы увидите на
06 мая, 1994 4
PVMD(1PVM) PVM Version 3.4 PVMD(1PVM)
на tty pvmd:
*** Manual startup ***
Login to "honk" and type:
$PVM_ROOT/lib/pvmd -S -d0 -nhonk 1 80a9ca95:0cb6 4096 2 80a95c43:0000
Type response:
Напечатав для хоста honk запрошенную команду, Вы получите в
ответ строку, подобную такой:
ddpro<2312> arch ip<80a95c43:0a8e> mtu<4096>
Напечатайте эту строку на tty для главного pvmd. Вы тогда
увидите:
Thanks
и теперь два pvmd получают возможность коммуникации.
Заметьте, что Вы не можете запустить главный pvmd, используя консоль,
или сделать его фоновым с помощью этого параметра.
ПЕРЕГРУЗКА ХОСТОВ
Вы можете принудить PVM перегрузить хост (т.е. запустить
на нем более одного pvmd). Для этого нужно поместить '$'
перед именем хоста в хост-файле. Это делать не рекомендуется,
если только Вы не знаете, что делаете и не имеете для этого
веской причины. Вы должны в этом случае построить исходный
PVM с определенным для нее параметром OVERLOADHOST.
Вам может также понадобиться воспользоваться параметром
ip= hostfile для определения нескольких имен для одного и
того же IP-адреса. Если два или больше хостов в некоторой PVM
имеют одно и то же имя, они не могут быть однозначно
идентифицированы.
ОСТАНОВКА PVMD3
Лучший способ остановки всех pvmd -- выдать команду halt
с консоли PVM. Это убьет все задачи PVM, всех отдаленных демонов,
локального демона и саму консоль. Если вручную убивают главный pvmd,
ему должен быть послан сигнал SIGTERM, чтобы позволить ему убить
отдаленные pvmd и очистить различные файлы.
pvmd можно убить и так, что она сохранит файл /tmp/pvmd.uid
на одном или более хостах. Uid есть числовой пользовательский
идентификатор (из /etc/passwd). Он не дает PVM перезапуститься
на этом хосте. Уничтожение этого файла решает проблему:
rm `( grep $user /etc/passwd || ypmatch $user passwd )
| awk -F: '{print "/tmp/pvmd."$3; exit}'`
ФАЙЛЫ
$PVM_ROOT/lib/pvmd сценарий запуска демона PVM
06 мая, 1994 5
PVMD(1PVM) PVM Version 3.4 PVMD(1PVM)
$PVM_ROOT/lib/$PVM_ARCH/pvmd3 исполнимый демон PVM
$HOME/.pvmprofile команды оболочки, считываемые pvmd перед
запуском pvmd3
$HOME/pvm3/bin/$PVM_ARCH приватный каталог исполнения PVM
$PVM_ROOT/pvm3/bin/$PVM_ARCH системный каталог исполнения PVM
/tmp/pvmd.uid адрес локальной колодки Pvmd
/tmp/pvml.uid журнал ошибок исполнения Pvmd
$HOME/.rhosts файл разрешения доступа к хосту от других хостов
СМ. ТАКЖЕ
pvm(1PVM), pvm_intro(1PVM), rhosts(5)
======================================================
PVM_INTRO(1PVM) PVM Version 3.4 PVM_INTRO(1PVM)
ИМЯ
PVM, pvm_intro - Система параллельных виртуальных машин, версия 3
ОПИСАНИЕ
PVM представляет программную систему, которая превращает набор
однородных компьютеров в связный вычислительный ресурс параллельного
действия.
Отдельные компьютеры могут превращаться в мультипроцессоры с совместной
или локальной памятью, в векторные суперкомпьютеры, специализированные
графические устройства или скалярные рабочие станции, которые могут
связываться между собой через различные сети, такие как ethernet или
FDDI.
Программы пользователей, написанные на C, C++ или Фортране, могут
получить доступ к PVM через библиотечные программы
(libpvm3.a и libfpvm3.a).
Программы-демоны (pvmd3) обеспечивают коммуникации между
компьютерами и управление совместными процессами.
МАШИННАЯ АРХИТЕКТУРА
В системе PVM машинам присваиваются короткие обозначения,
характеризующие их архитектуры (включая операционные системы и
типы центральных процессоров). В настоящее время разработаны
следующие архитектуры:
AFX8 Alliant FX/8
ALPHA DEC Alpha/OSF-1
ALPHAMP DEC Alpha/OSF-1 / совместное исп. памяти
AIX46K IBM/RS6000 / AIX 4.x
AIX4MP IBM SMP / совместный транспорт памяти /
AIX 4.x
AIX4SP2 IBM SP-2 / using MPI / AIX 4.x
APOLLO HP 300 с использованием Domain/OS
ATT AT&T/NCR 3600 с использованием SysVR4
BAL Sequent Balance
BFLY BBN Butterfly TC2000
BSD386 80[345]86, использует BSDI или BSD386
CM2 Думающие машины CM-2 Sun front-end
CM5 Думающие машины CM-5
CNVX Convex using IEEE floating-point
CNVXN Convex using native f.p.
CRAY Cray
CRAY2 Cray-2
CRAYSMP Cray S-MP
CSPP Convex Exemplar
CYGWIN POSIX emulation layer on top of Winн
dows32
DGAV,DGIX Data General Aviion
E88K Encore 88000
FREEBSD 80[345]86 running FreeBSD
HP300 HP 9000 68000 cpu
HPPA HP 9000 PA-Risc
HPPAMP HP 9000 PA-Risc / shared memory
transport
KSR1 Kendall Square
11 апреля, 1995 1
PVM_INTRO(1PVM) PVM Version 3.4 PVM_INTRO(1PVM)
I860 Intel RX Hypercube
IPSC2 Intel IPSC/2
LINUX 80[345]86 running Linux
LINUXALPHA DEC Alpha running Linux
LINUXARM Strogarm running Linux
LINUXHPPA HP 9000 running Linux
LINUXPPC PowerPC running Linux
LINUXSPARC Sparc running Linux
M88K Motorola M88100 running Real/IX
M88K Motorola M88100 running Real/IX
MASPAR Maspar
MIPS Mips
NETBSDALPHA DEC Alpha running NetBSD
NETBSDAMIGA Amiga running NetBSD
NETBSDARM32 Strongarm running NetBSD
NETBSDHP300 HP 300 running NetBSD
NETBSDI386 80[345]86 running NetBSD
NETBSDM68K Any Motorola 68K running NetBSD
NETBSDMAC68K Macintosh running NetBSD
NETBSDMIPSEB Mips EB running NetBSD
NETBSDMIPSEL Mips EL running NetBSD
NETBSDNS32K NS32K running NetBSD
NETBSDPMAX DEC Pmax running NetBSD
NETBSDPOWERPC PowerPC running NetBSD
NETBSDSH3 SH3 running NetBSD
NETBSDSPARC Sparc running NetBSD
NETBSDSPARC64 Sparc64 running NetBSD
NETBSDSUN3 SUN 3 running NetBSD
NETBSDVAX Vax running NetBSD
NEXT NeXT
OS2 OS/2
PGON Intel Paragon
PMAX DEC/Mips arch (3100, 5000, etc.)
RS6K IBM/RS6000 / AIX 3.x
RS6KMP IBM SMP / shared memory transport /
AIX 3.x
RT IBM/RT
SCO 80[345]86 running SCO Unix
SGI Silicon Graphics IRIS
SGI5 Silicon Graphics IRIS running OS 5.0
SGI6 Silicon Graphics IRIS running OS >=
6.0
SGI64 Silicon Graphics IRIS running 64 bit
SGIMP Silicon Graphics IRIS / OS 5.x /
using shared memory
SGIMP6 Silicon Graphics IRIS / OS 6.x /
using shared memory
SGIMP64 Silicon Graphics IRIS / 64 bit /
using shared memory
SP2MPI IBM SP-2 / using MPI / AIX 3.x
SUN3 Sun 3
SUN4 Sun 4, 4c, sparc, etc.
SUN4SOL2 Sun 4 running Solaris 2.x
SUNMP Sun 4 / using shared memory / Solaris
11 апреля, 1995 2
PVM_INTRO(1PVM) PVM Version 3.4 PVM_INTRO(1PVM)
2.x
SX3 NEC SX-3
SYMM Sequent Symmetry
TITN Stardent Titan
U370 IBM 3090 running AIX
UTS2 Amdahl running UTS
UVAX DEC/Microvax
UWARE Uware
UXPM Fujitsu running UXP/M
VCM2 Thinking Machines CM-2 Vax front-end
WIN32 Windows 95/98/NT
X86SOL2 80[345]86 running Solaris 2.x
ПEРЕМЕННЫЕ ОКРУЖЕНИЯ
Следующие переменные окружения считывается программой PVM и могут
устанавливаться для создания окружения Вашей PVM. Для их установки
следует добавить команды к Вашему .cshrc или
.profile, или к эквивалентному стартовому
файлу. Как это сделать, можно прочесть в руководстве по
используемому Вами командному процессору. Можно включить
также в стартовый файл добавку, устанавливающую переменные
окружения для PVM и добавить каталоги PVM к Вашему
исполнительному пути. Аннулируйте соответствующий stub-файл,
pvm3/lib/cshrc.stub, pvm3/lib/kshrc.stub или
pvm3/lib/bashrc.stub после определения PVM_ROOT в стартовом
файле используемой оболочки (командного процессора).
Для тех, кто использует csh, заметим, что установка
их в .login не дает того же эффекта. Сценарный
файл .login только читается, когда Вы фактически
входите в систему, поэтому .cshrc читается каждый раз, когда
стартует csh. PVM нуждается в установленных переменных
окружения, когда он запускает подчиненный pvmd с
"rsh host pvmd ...", поэтому они должны быть установлены
в .cshrc.
Для тех, кто пользуется оболочкой, которая не всегда читает
стартовый сценарий (например, sh, ksh), имеется
другой способ установки переменных окружения для PVM.
Перед запуском исполняемых файлов PVM, pvm и
pvmd запускают сценарии команд из
$HOME/.pvmprofile, если этот
файл существует.
PVM 3.4.3 поддерживает следующие переменные окружения:
PVM_ROOT
Путь к установленным библиотекам PVM и системным
программам, например, /usr/local/pvm3 или
$HOME/pvm3. Эта переменная должна быть установлена
на каждом хосте, где используется PVM. Без этого
PVM работать не будет. Эта переменная не имеет
значения по умолчанию.
PVM_TMP
Путь к временным файлам PVM, таким как файл гнезда
(колодки) демона pvmd. и журнал pvml..
Указывайте в этой переменой каталоги, отличные от
11 April, 1995 3
PVM_INTRO(1PVM) PVM Version 3.4 PVM_INTRO(1PVM)
/tmp (или C:\TEMP для Win32), или, для большей
безопасности, защищенные подкаталоги в
/tmp, который принадлежит вашему userid и не
может быть легко испорчен.
PVM_RSH
Путь к программе "rsh" Вашей системы, если он отличен
от определенного в $PVM_ROOT/conf/$PVM_ARCH.def
в конфигурационном файлу. Эта переменная также может
использоваться для замены "rsh" на "ssh" для большей
безопасности.
PVM_PATH
Путь поиска программ для PVM в Вашей системе. По
умолчанию PVM ищет свои прикладные программы в
$HOME/pvm3/bin/$PVM_ARCH и в ROOT/bin/$PVM_ARCH.
Эта переменная не подавляет ep= в параметрах
хост-файла.
PVM_WD
Рабочий каталог для программ, которые PVM порождает
в Вашей системе. По умолчанию PVM порождает приложения
в $HOME, но для удобства доступа к данным или входным
файлам, использующим относительные имена путей, можно
указать альтернативный рабочий каталог. Эта переменная
окружения не подавляет wd= в параметрах
хост-файла.
PVM_EXPORT
Имена переменных окружения для экспорта родительской задачи
к порожденным задачам через pvm_spawn().
Кратные имена должны разделяться знаками ':'. Если PVM_EXPORT
не установлен, никакое окружение не экспортируется.
PVM_DEBUGGER
Сценарий отладки используется, когда
pvm_spawn() вызывается с установленной
PvmTaskDebug. Значение по умолчанию
есть $PVM_ROOT/lib/debugger.
PVM_DPATH
Путь для стартового сценария pvmd (по умолчанию это
$PVM_ROOT/lib/pvmd). Переопределяется параметром хост-файла
dx=.
Эта переменная полезна, если используемая оболочка
не выполняет автоматически стартовый сценарий (такой
как .cshrc) для разрешения установки PVM_ROOT на подчиненных
(добавленных) хостах. Если Вы устанавливаете в ней
абсолютный или относительный путь для стартового сценария
pvmd (например. /usr/local/pvm3/lib/pvmd or pvm3/lib/pvmd),
сценарий автоматически установит PVM_ROOT. Заметим, что
путь устанавливается для сценария pvmd, а не для самой
исполняемой программы pvmd3.
11 апреля, 1995 4
PVM_INTRO(1PVM) PVM Version 3.4 PVM_INTRO(1PVM)
PVM_WINDPATH
Эта переменная предназначена для тех же целей, что и
предыдущая PVM_DPATH above, но специально для систем
с Win32. Эта переменная окружения допускает альтернативную
спецификацию пути к демону pvmd3.exe, выполняемому с
использованием синтаксиса путей к соответствующим файлам
DOS и переменным окружения (например,
%PVM_ROOT%\lib\WIN32\pvmd3.exe).
PVMHOSTFILE
Указывает путь к выборочному хост-файлу, используемому
по умолчанию при запуске PVM. Это ослабляет нужду в
ручной передаче аргумента пути к хост-файлу консоли
"pvm" или сценарию "pvmd" при запуске PVM.
PVMDLOGMAX
Определяет максимальную длину файла pvmd с сообщениями об
ошибках. По умолчанию получает значение параметра
PVMDLOGMAX в источнике, равное 1 мб.
PVMDDEBUG
Устанавливает априорную отладочную маску pvmd (как
в параметре pvmd -d). Значение задается в формах
шестнадцатеричной (0x...), восьмеричной (0...) или
десятичной. Используется при отладке pvmd (не
предназначено для отладки прикладных программ).
PVMTASKDEBUG
Устанавливает априорную отладочную маску libpvm
(как это делает pvm_setopt(PvmDebugMask, x)). Значение
может быть шестнадцатеричным (0x...), восьмеричным
(0...) или десятичным. Используется при отладке
libpvm (не предназначено для отладки прикладных
программ).
PVMTASK
Устанавливает дополнительные битовые флажки для
вызовов из библиотеки pvm_spawn(). Позволяет подавить
во время исполнения флажки, компилированные в вызовы
pvm_spawn() в приложениях PVM, например, включить бит
PvmTaskDebug для выталкивания дочерних задач в окне
отладки.
PVMBUFSIZE
Устанавливает размер совместной буферной памяти,
используемой libpvm и pvmd. По умолчанию равно
1048576. Если Ваша программа выдает более длинные
послания, размер нужно увеличить.
Следующие переменные обстановки используются внутри PVM.
За исключением PVM_ARCH, их значения не должны модифицироваться.
Эти переменные указываются только для сведения.
11 April, 1995 5
PVM_INTRO(1PVM) PVM Version 3.4 PVM_INTRO(1PVM)
PVM_ARCH
Архитектурное PVM-имя хоста, на котором PVM установлена.
Используется для различения машин с различными
форматами (a.out) исполнения. Копии программ для
различных архитектур хранятся в в параллельных каталогах,
названных по архитектурам PVM.
PVMSOCK
Передается от pvmd к порождаемым задачам, указывает
адрес локальной колодки (гнезда) pvmd.
PVMEPID
Содержит идентификатор процесса, ожидаемого
порожденной задачей, которую выполняет pvmd. Это --
уловка, используемая задачей для своей идентификации
при возобновлении связи с pvmd, чтобы получить правильный
слот.
PVMTMASK
Трассировочная маска libpvm, передаваемая от pvmd
к порожденной задаче.
PVMTRCBUF
Размер трассировочного буфера libpvm. Если указан,
то он определяет количество байтов в буфере сообщения
о трассируемом событии, где это сообщение формируется перед
пересылкой к программе трассировки начал-концов.
PVMTRCOPT
Установка трассировочного параметра в libpvm.
Определяет уровень трассировки, производимой при
активизации вызова библиотеки PVM.
PVMINPLACEDELAY
Используется для оптимизации посылки сообщений
о PvmDataInPlace в системах MPP.
PVMKEY
PVM использует это значение в комбинации с
идентификатором процесса для генерирования ключей
совместно используемых сегментов памяти. По умолчанию
равен численному идентификатору пользователя. PVM
автоматически определяет коллизии при генерации ключей
и образует новый ключ, так что почти никогда не нужно
явно его устанавливать.
СМ. ТАКЖЕ
aimk(1PVM), pvm(1PVM), pvmd3(1PVM), PVM 3.3 User's Guide
and Reference Manual
АВТОРЫ
A. L. Beguelin [4,5], J. J. Dongarra [1,2], G. A. Geist
[2], W. C. Jiang [1], R. J. Manchek [1], B. K. Moore [1],
V. S. Sunderam [3]
11 April, 1995 6
PVM_INTRO(1PVM) PVM Version 3.4 PVM_INTRO(1PVM)
1. University of Tennessee, Knoxville TN.
2. Oak Ridge National Laboratory, Oak Ridge TN.
3. Emory University, Atlanta GA.
4. Carnegie Mellon University, Pittsburgh PA
5. Pittsburgh Supercomputer Center, Pittsburgh PA
|