HPC++ can be compiled to run on top of a set of different run-time
systems. At HPC++ compilation time, use of proper configuration flags will
build HPC++ with the specified run-time system. The run-time system is used
by HPC++ for a variety of remote operations such as remote method calls,
synchronization between remote contexts, and distributed collective
operations. Currently, HPC++ supports three different run-time systems. The
first one is based on the Nexus communication library; the second one
is based on the Globus toolkit; while the third one is called
Tulip which is developed at LANL. All these different run-time are
suitable for different purposes. For example, Tulip can be used as a
run-time system when running a parallel program on a parallel super-computer
with no requirements of security among the communicating contexts (the Nexus
based run-time system can also be used when there is no or limited
requirement of security). On the other hand, the Globus based run-time
system can be used when the computation spans a wide-area network thus
requiring authentication and authorization among the communication
contexts. Later on, we will also provide either full-blown implementations
of the run-time system or bridges to, Corba IIOP and Microsoft
DCOM.