OmniRPC: a Grid RPC system
OmniRPC is a Grid RPC system which enables seamless parallel
programming in cluster and Grid environment.
OmniRPC's characteristics are as follows.
- Supports typical master/worker grid
applications such as parametric execution programs.
- OmniRPC provides an automatic-initializable
remote module to send
and store data to a remote executable invoked in the remote
host. Since it may accept several requests for subsequent calls by
keeping the connection alive, the data set by the initialization is
re-used, resulting in efficient execution by reducing the amount of
communication.
- OmniRPC inherits its API from Ninf, and the programmer can use
OpenMP for easy-to-use parallel programming because the API is
designed to be thread-safe.
And OmniRPC supports the persistence feature,
which holds the remote executable's state, and makes, programs more effective.
- Using the asynchronous call API, we can parallize a programs calling
RPCs.
Additionally, OmniRPC is designed to be thread-safe for easy parallel
programming. We can easily parallelize existing sequential programs with
direct based parallel programming such as OpenMP.
- The OmniRPC system supports local environments with "rsh,"
grid environments with Globus, and remote hosts with
"ssh." Furthermore, the user can use the same program over OmniRPC for
both clusters and grids because a typical grid resource is regarded
simply as a cluster of clusters distributed geo-graphically.
- For a cluster over a private network, an agent process running
the server host functions as a proxy to relay communications between
the client and remote executables by multiplexing the
communications into one connection to the client. This feature allows
a single client to use approximately one-thousand remote computing
hosts.
- Support of the job scheduler which considers the administrative policy of
each computer resource.
Now OmniRPC supports PBS and SGE as job schedulers.