Kilim: Isolation-Typed Actors for Java

  • Authors:
  • Sriram Srinivasan;Alan Mycroft

  • Affiliations:
  • University of Cambridge Computer Laboratory, Cambridge, UK CB3 0FD;University of Cambridge Computer Laboratory, Cambridge, UK CB3 0FD

  • Venue:
  • ECOOP '08 Proceedings of the 22nd European conference on Object-Oriented Programming
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper describes Kilim, a framework that employs a combination of techniques to help create robust, massively concurrent systems in mainstream languages such as Java: (i) ultra-lightweight, cooperatively-scheduled threads (actors), (ii) a message-passing framework (no shared memory, no locks) and (iii) isolation-aware messaging.Isolation is achieved by controlling the shape and ownership of mutable messages --- they must not have internal aliases and can only be owned by a single actor at a time. We demonstrate a static analysis built around isolation type qualifiers to enforce these constraints.Kilim comfortably scales to handle hundreds of thousands of actors and messages on modest hardware. It is fast as well --- task-switching is 1000x faster than Java threads and 60x faster than other lightweight tasking frameworks, and message-passing is 3x faster than Erlang (currently the gold standard for concurrency-orientedprogramming).