Section: PVM Version 3.4 (3PVM)
Updated: 30 August, 1993
Return to Main Contents
pvm_advise() - Controls use of direct task-to-task routing.
[In Version 3.2: Replaced by pvm_setopt]
C int info = pvm_advise( int route )
Fortran call pvmfadvise( route, info )
Integer advising PVM to set up direct task-to-task links.
PvmDontRoute 1 Don't allow direct links to this task
PvmAllowDirect 2 Allow but don't request direct links
PvmRouteDirect 3 Request direct links
Integer returning error status.
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
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
but is typically set only once near the beginning of each task.
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
The performance 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.
info = pvm_advise( PvmRouteDirect );
CALL PVMFADVISE( PVMROUTEDIRECT, INFO )
This error condition can be returned by
giving an invalid route value.
- SEE ALSO
linux.jgfs.net manual pages