Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

pvm_reg_hoster(3pvm) [redhat man page]

REG_HOSTER(3PVM)						  PVM Version 3.4						  REG_HOSTER(3PVM)

NAME
pvm_reg_hoster - Register task as PVM slave starter. SYNOPSIS
C #include <pvmsdpro.h> int cc = pvm_reg_hoster() Fortran Not Available DESCRIPTION
Registers the calling task as a PVM slave pvmd starter. When the master pvmd receives a DM_ADD message, instead of starting the new slave pvmd processes itself, it passes a message to the hoster, which does the dirty work and sends a message back to the pvmd. Note: This function isn't for beginners. If you don't grok what it does, you probably don't need it. For a more complete explanation of what's going on here, you should refer to the PVM source code and/or user guide section on implementation; this is just a man page. That said... When the master pvmd receives a DM_ADD message (request to add hosts to the virtual machine), it looks up the new host IP addresses, gets parameters from the host file if it was started with one, and sets default parameters. It then either attempts to start the processes (using rsh or rexec()) or, if a hoster has registered, sends it a SM_STHOST message. The format of the SM_STHOST message is: int nhosts // number of hosts { int tid // of host string options // from hostfile so= field string login // in form ``[username@]hostname.domain'' string command // to run on remote host } [nhosts] The hoster should attempt to run each command on each host and record the result. A command usually looks like: $PVM_ROOT/lib/pvmd -s -d8 -nhonk 1 80a9ca95:0f5a 4096 3 80a95c43:0000 and a reply from a slave pvmd like: ddpro<2312> arch<ALPHA> ip<80a95c43:0b3f> mtu<4096> When finished, the hoster should send a SM_STHOSTACK message back to the address of the sender (the master pvmd). The format of the reply message is: { int tid // of host, must match request string status // result line from slave or error code } [] // implied count The TIDs in the reply must match those in the request. They may be in a different order, however. The result string should contain the entire reply (a single line) from each new slave pvmd, or an error code if something went wrong. Legal error codes are the literal names of the pvm_errno codes, for example ``PvmCantStart''. The default PVM hoster can return PvmDSysErr or PvmCantStart, and the slave pvmd itself can return PvmDupHost. The hoster must use pvm_setmwid() to set the wait ID in the reply message to the same value as in the request. The wait ID in the request is obtained by calling pvm_getmwid(). The hoster task must use pvm_setopt(PvmResvTids, 1) to allow sending reserved messages. Messages should be packed using encoding Pvm- DataDefault to ensure they can be unpacked anywhere in the system. pvm_reg_hoster() returns PvmOk when successful. SEE ALSO
pvm_addhosts(3PVM), pvm_config(3PVM), pvm_setmwid(3PVM) 4 March, 1994 REG_HOSTER(3PVM)

Check Out this Related Man Page

ADDHOSTS(3PVM)							  PVM Version 3.4						    ADDHOSTS(3PVM)

NAME
pvm_addhosts - Add hosts to the virtual machine. SYNOPSIS
C int info = pvm_addhosts( char **hosts, int nhost, int *infos ) Fortran call pvmfaddhost( host, info ) PARAMETERS
hosts An array of strings naming the hosts to be added. Pvmd must already be installed and the user must have an account on the speci- fied hosts. nhost Integer specifying the length of array hosts. infos Integer array of length nhost which returns the status for each host. Values less than zero indicate an error, while positive val- ues are TIDs of the new hosts. host Character string naming the host to be added. info Integer status code returned by the routine. Values less than nhost indicate partial failure, and values less than 1 indicate total failure. DESCRIPTION
The routine pvm_addhosts adds the computers named in hosts to the configuration of computers making up the virtual machine. The names should have the same syntax as lines of a pvmd hostfile (see man page for pvmd3): A hostname followed by options of the form xx=y. If pvm_addhosts is successful, info will be equal to nhost. Partial success is indicated by 0 < info < nhost, and total failure by info < 1. The array infos can be checked to determine which host caused the error. The Fortran routine pvmfaddhost adds a single host to the configuration with each call. info will be 1 if successful or < 0 if error. The status of hosts can be requested by the application using pvm_mstat and pvm_config. If a host fails it will be automatically deleted from the configuration. Using pvm_addhosts a replacement host can be added by the application, however it is the responsibility of the application developer to make his application tolerant of host failure. Another use of this feature would be to add more hosts as they become available, for example on a weekend, or if the application dynamically determines it could use more computational power. EXAMPLES
C: static char *hosts[] = { "sparky", "thud.cs.utk.edu", }; info = pvm_addhosts( hosts, 2, infos ); Fortran: CALL PVMFADDHOST( 'azure', INFO ) ERRORS
The following error conditions can be returned by pvm_addhosts: PvmBadParam giving an invalid argument value. PvmAlready another task is currently adding hosts. PvmSysErr local pvmd is not responding. and in the infos vector: PvmBadParam bad hostname syntax. PvmNoHost no such host. PvmCantStart failed to start pvmd on host. PvmDupHost host already configured. PvmBadVersion pvmd protocol versions don't match. PvmOutOfRes PVM has run out of system resources. SEE ALSO
pvm_pvmd3(1PVM), pvm_delhosts(3PVM), pvm_start_pvmd(3PVM), pvm_config(3PVM), pvm_mstat(3PVM) 22 February, 1994 ADDHOSTS(3PVM)
Man Page