Remote Method Invocation
We built a Remote Method Invocation (RMI) implementation on top of Ibis.
RMI is described here.
Ibis boosts RMI performance using several optimizations, especially to avoid
the high overhead of runtime type inspection that current RMI implementations
Earlier projects (e.g., Manta)
applied similar optimizations by writing parts of the runtime system
in native code (C instead of Java), giving up Java's high portability.
The philosophy behind Ibis is to try to obtain good performance without
using any native code, but allow native solutions to further optimize
special cases. For example, a Grid application developed with Ibis
can use a pure-Java RMI implementation over TCP/IP that will
However, when the application runs on, say, a Myrinet cluster,
the RMI runtime system can request Ibis to load a more efficient
communication implementation for Myrinet that partially uses native code.