Kilim: Isolation-typed actors for Java. his 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 frame-work (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-oriented programming).
Keywords for this software
References in zbMATH (referenced in 8 articles )
Showing results 1 to 8 of 8.
- Albert, Elvira; Bezirgiannis, Nikolaos; De Boer, Frank; Martin-Martin, Enrique: A formal, resource consumption-preserving translation from actors with cooperative scheduling to Haskell (2020)
- Castegren, Elias; Wallin, Joel; Wrigstad, Tobias: Bestow and atomic: concurrent programming using isolation, delegation and grouping (2018)
- Albert, Elvira; Flores-Montoya, Antonio; Genaim, Samir; Martin-Martin, Enrique: Rely-guarantee termination and cost analyses of loops with concurrent interleavings (2017)
- Scholliers, Christophe; Tanter, Éric; De Meuter, Wolfgang: Parallel actor monitors: disentangling task-level parallelism from data partitioning in the actor model (2014)
- Van Cutsem, Tom; Gonzalez Boix, Elisa; Scholliers, Christophe; Lombide Carreton, Andoni; Harnie, Dries; Pinte, Kevin; De Meuter, Wolfgang: Ambienttalk: programming responsive mobile peer-to-peer applications with actors (2014) ioport
- Kerneis, Gabriel; Chroboczek, Juliusz: Continuation-passing C, compiling threads to events through continuations (2011)
- Vojdani, Vesal: Static data race analysis of heap-manipulating C programs (2010)
- Srinivasan, Sriram; Mycroft, Alan: Kilim: Isolation-typed actors for Java. (A million actors, safe zero-copy communication) (2008) ioport