an INTERoperation and Linking Architecture Computational Engines

INTERLACE provides a simple means for connecting multiple computational engines together for exchanging data and control flow. Currently, INTERLACE has been implemented using High Performance C++ (HPC++) to connect multiple Matlab engines together, similar to the MultiMatlab effort. Unlike MultiMatlab, this architecture is not specific to Matlab - other tools such as Mathematica or IDL can be fitted with INTERLACE client code so that they may also gain access to Matlab data and computation services. The drawback to this tool interoperability is that no tool specific features are used so as to keep the INTERLACE services as independent of the tools as possible.

Current and future work intends to maintain the existing HPC++ work, while moving on and focusing on Java as a possible replacement middleware. The middleware in INTERLACE illustrated below must provide the following services :

Figure 1: INTERLACE Middleware

In addition, it is desirable, not required, that one can use remote objects as are available through HPC++, Java RMI, etc... Libraries such as MPI are sufficient for implementing all INTERLACE services - remove object facilities just make it easier.

For more information, refer to :

Sottile, Matthew and Malony, Allen. INTERLACE: An Interoperation and Linking Architecture for Computational Engines. In the Proceedings of EuroPar '99, Toulousse, France, September 1999.
Paper (Gzipped .ps)

INTERLACE Talk - Given at Los Alamos National Laboratory, Jul. 1999. Slightly longer and contains more content than talk given at EuroPar '99.

Matthew Joseph Sottile
Last modified: Tue Dec 14 23:12:43 PST 1999