ADVISE(3PVM) ADVISE(3PVM)
NAME
pvm_advise() - (PVM 3.1) Controls use of direct task-to-task routing.
Relaced by pvm_setopt().
SYNOPSIS
C int info = pvm_advise( int route )
Fortran call pvmfadvise( route, info )
PARAMETERS
route Integer advising PVM to set up direct task-to-task links.
route options
PvmDontRoute 1 Don't allow direct links to this task
PvmAllowDirect 2 Allow but don't request direct links
PvmRouteDirect 3 Request direct links
info Integer returning error status.
DISCUSSION
The routine pvm_advise advises PVM on whether or not to set up direct
task-to-task links (using TCP) for all subsequent communication. Once a
link is established it remains until the application finishes. If a direct
link can not be established because one of the two tasks has requested
PvmDontRoute or because no resources are available, then the default route
through the PVM daemons is used. pvm_advise can be called multiple times
to selectively establish direct links, but is typically set only once near
the beginning of each task. PvmAllowDirect is the default advise setting.
This setting on task A allows other tasks to set up direct links to A.
Once a direct link is established between tasks both tasks will use it for
sending messages. pvm_advise returns the error status in info. The perfor-
mance of direct task-to-task links can be up to a factor of two better than
the default route. The draw back is a lack of scalability of the direct
links. Some versions of UNIX limit the number of links to no more than 30.
EXAMPLES
C:
info = pvm_advise( PvmRouteDirect );
Fortran:
CALL PVMFADVISE( PVMROUTEDIRECT, INFO )
ERRORS
This error condition can be returned by pvm_advise
PvmBadParam giving an invalid route value.
SEE ALSO
pvm_setopt(3PVM)
Back to the alphabetical listing