Service Name
Establishing contact via a service name
service name arbitrary, specific to an application
Server publishes the pair (service name, port name)
client asks for port name to a given service name
"third party" = name server
Name server routines optional in MPI-2
possibly not supported in some implementations!
Scope of service name:
where is it unique, which clients find it?
possible scopes e.g. job, machine, internet
implementation can use MPI_Info to limit the scope
MPI routines:
MPI_publish_name
server publishes portname corresponding to a servicename
MPI_Unpublish_name
unpublishes service name
MPI_Lookup_name
client asks for portname to a servicename
Remarks on the example programs (
lbpi_q.c
,
query.c
,
query.h
)
server: load balanced version of PI
(LBPI)
with additional query function
client: asks server for state of pi computation
server:
task 0: server, handels all communication with client
task 1: master, distributes work to slaves and collects results
task 2-n: slaves, compute partial results
master distinguishes between server and slaves through rank
master aborts at end of computation
unpublish at the end, otherwise error during next run
client:
just a single task
gets state of computation and prints out intermediate result
LAM implementation:
implements preliminary version of MPI-2 (different names etc.)
server task must have rank 0
Peter Junglas 16.2.1999