Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
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 mas-
       ter 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 para-
       meters 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  mes-
       sage.

       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 Pvm-
       CantStart, and the slave	pvmd itself can	return PvmDupHost.

       The  hoster must	use pvm_setmwid() to set the wait ID in	the reply mes-
       sage 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 PvmDataDe-
       fault 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)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=pvm_reg_hoster&sektion=3&manpath=FreeBSD+Ports+15.0>

home | help