ADVISE (3)
Controls use of direct task-to-task routing.
[In Version 3.2: Replaced by pvm_setopt]
SYNOPSIS
B
C int info = pvm_advise( int route )
Fortran call pvmfadvise( route, info )
PARAMETERS
Integer advising PVM to set up direct task-to-task links.
route options
2.0i 2.5i
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.
DESCRIPTION
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 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.
EXAMPLES
C:
info = pvm_advise( PvmRouteDirect );
Fortran:
CALL PVMFADVISE( PVMROUTEDIRECT, INFO )
ERRORS
This error condition can be returned by
pvm_advise
giving an invalid route value.
SEE ALSO
|