50 likes | 155 Views
Language Support for TM Breakout Session Summary Dagstuhl Seminar on TM June 12, 2008. Ali-Reza Adl-Tabatabai Programming Systems Lab Intel Corporation. Language semantics. Balancing pragmatic vs. ideal Pragmatic lock-based approach for C++
E N D
Language Support for TMBreakout Session SummaryDagstuhl Seminar on TMJune 12, 2008 Ali-Reza Adl-Tabatabai Programming Systems Lab Intel Corporation
Language semantics Balancing pragmatic vs. ideal • Pragmatic lock-based approach for C++ • Clean, new semantics based possibly on strong isolation for new languages • Strong isolation practical to implement in SW? Should uncaught exceptions rollback? • How do you handle thrown objects? • Managed code: deep copy • native code: ? Features that cause partial rollback • Abort, retry, abort-on-exception
Safety & progress In absence of partial rollback, Single Global Lock Atomicity (SGLA) provides reasonable safety guarantees Add progress guarantees on top of this model SGLA does not cover partial rollback • How to add this to the model? • Can rollback cause data races? Is SGLA the right framework to think about atomic blocks?
My stand Take a pragmatic approach to C++ & Java • C++: SGLA • Java: ELA • Add semantics for abort, retry, and abort-on-exception Develop cleaner semantics for other languages • Progress guarantees • Stronger isolation guarantees
Google groups for TM language integration http://groups.google.com/group/tm-languages