A Data-Centric Approach to Synchronization
Speaker: Mandana Vaziri-Farahani , IBM T.J. Watson Research CenterContact:
Date: September 16 2005
Time: 1:00PM to 2:30PM
Location: (ROOM CHANGE)MOVED TO THE 7TH FLOOR LOUNGE
Host: Professor Daniel Jackson, CSAIL MIT
Maria C. Rebelo, 3-5895, email@example.comRelevant URL:
Concurrency-related bugs may happen when multiple threads access shared data and interleave in erroneous ways. Their absence is not guaranteed by the traditional notion of ``data race'' freedom. We present a new definition of data races in terms of 11 problematic interleaving scenarios, and prove that it is complete by showing that any execution not exhibiting these scenarios is serializable for a chosen set of locations. Our definition subsumes the traditional definition of a data race as well as high-level data races such as stale-value errors and inconsistent views.
We also propose a data-centric approach for expressing synchronization constraints. The programmer expresses what locations must be updated
atomically by indicating that they belong to an atomic set of locations, which means that there exists a consistency property relating them. Given these annotations, we use static analysis to automatically infer those points in the code where synchronization is needed to avoid data races under our new definition. An important benefit of this method is that, in general, far fewer annotations are required than is the case with existing approaches such as synchronized blocks or atomic sections, and by raising the level of abstraction it provides fewer opportunities for errors. Our implementation successfully inferred the appropriate synchronization for a significant subset of Java's Standard Collections framework.
See other events that are part of
See other events happening in September 2005