OmniRPC User's Guide Version 1.2: http://www.omni.hpcc.jp/omnirpc/ <omnirpc@omni.hpcc.jp> | ||
---|---|---|
Prev | Next |
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.