Task types for pervasive atomicity

8 years 8 months ago
Task types for pervasive atomicity
Atomic regions are an important concept in correct concurrent programming: since atomic regions can be viewed as having executed in a single step, atomicity greatly reduces the number of possible interleavings the programmer needs to consider. This paper describes a method for building atomicity into a programming language in an organic fashion. We take the view that atomicity holds for whole threads by default, and a division into smaller atomic regions occurs only at points where an explicit need for sharing is needed and declared. A corollary of this view is every line of code is part of some atomic region. We define a polymorphic type system, Task Types, to enforce most of the desired atomicity properties statically. We show the reasonableness of our type system by proving that type soundness, isolation invariance, and atomicity enforcement properties hold at run time. We also present initial results of a Task Types implementation built on Java. Categories and Subject Descriptors...
Aditya Kulkarni, Yu David Liu, Scott F. Smith
Added 29 Jan 2011
Updated 29 Jan 2011
Type Journal
Year 2010
Authors Aditya Kulkarni, Yu David Liu, Scott F. Smith
Comments (0)