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