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.