Incommunicado Efficient Communication For Isolates
Stc
ComputingScienceColloquium
Date: February 12
Time: 11:00
Room: Ruppert 114
Speaker: Jeanne Hofmans
Title: Incommunicado: Efficient Communication for Isolates
Abstract
A Java Virtual Machine (JVM) can run multiple programs such as servlets and
applets, but also tasks, as Java Isolates. A JVM can create, start, stop and
terminate multiple isolates in the same way as it can with threads. In the
meanwhile the isolate code is guaranteed to be protected from intrusions, in
other words isolated. This means every isolate has its own object graph and
state.
Although isolates are isolated, communication between isolates is still
necessary. Communication mechanisms such as RMI (Remote method Invocation)
can be used. RMI is however not very efficient and rather complicated in
case two communicating isolates are collocated on the same JVM. This is why
Cross Isolate Method Invocation (XIMI) has been designed. It offers an
8-fold performance improvement. Avoiding stub generation is one of the
aspects that is responsible for the profit in efficiency. Instead they are
created on demand.
XIMI is inspired by RMI for simplicity, but safety and non-intrusiveness are
also important properties. I will discuss these various functional and
quality properties. They need to be kept in mind for the discussion on the
design and implementation of such an inter-communication mechanism. Here I
will also show the API's and some examples.