Sciweavers

ACMMSP
2006
ACM

What do high-level memory models mean for transactions?

14 years 6 months ago
What do high-level memory models mean for transactions?
Many people have proposed adding transactions, or atomic blocks, to type-safe high-level programming languages. However, researchers have not considered the semantics of transactions with respect to a memory model weaker than sequential consistency. The details of such semantics are more subtle than many people realize, and the interaction between compiler transformations and transactions could produce behaviors that many people find surprising. A language’s memory model, which determines these interactions, must clearly indicate which behaviors are legal, and which are not. These design decisions affect both the idioms that are useful for designing concurrent software and the compiler transformations that are legal within the language. Cases where semantics are more subtle than people expect include the actual meaning of both strong and weak atomicity; correct idioms for thread safe lazy initialization; compiler transformations of transactions that touch only thread local memory; ...
Dan Grossman, Jeremy Manson, William Pugh
Added 13 Jun 2010
Updated 13 Jun 2010
Type Conference
Year 2006
Where ACMMSP
Authors Dan Grossman, Jeremy Manson, William Pugh
Comments (0)