Loci: Pluggable Thread-Locality for Java-Like Languages
- Date and Time
Thursday, February 25th, 2010 at 13.30
Polacksbaken, room 1113
Statically determining whether part of a computation takes place solely inside a single thread is desirable for several reasons: it simplifies reasoning and enables optimizations that are only possible in sequential code, for example, to improve the performance of automatic memory management algorithms or remove unnecessary synchronization.
Most mainstream languages lack the means of expressing thread-locality. For example, Java's only support for expressing thread-locality is its weak ThreadLocal API that offers protection that is easily circumvented, intentionally or by accident.
In this talk, I will present Loci, a minimal pluggable type system for Java-like languages, that allows expressing thread-locality information in a straightforward, modular and easily checkable fashion. I will discuss design and rationale of the type system, its applicability to existing code, in particular the Java API, and discuss the future developments of the Loci type system to allow static checking of additional concurrent programming patterns, and overcome limitations of the current system.