Date Added: Oct 2011
Isolation - the property that a task can access shared data without interference from other tasks - is one of the most basic concerns in parallel programming. In this paper, the authors present Aida, a new model of isolated execution for parallel programs that perform frequent, irregular accesses to pointer-based shared data structures. The three primary benefits of Aida are dynamism, safety and liveness guarantees, and programmability. First, Aida allows tasks to dynamically select and modify, in an isolated manner, arbitrary fine-grained regions in shared data structures, all the while maintaining a high level of concurrency.