Authors
Peter Sewell, Susmit Sarkar, Scott Owens, Francesco Zappa Nardelli, Magnus O Myreen
Publication date
2010/7/1
Journal
Communications of the ACM
Volume
53
Issue
7
Pages
89-97
Publisher
ACM
Description
Exploiting the multiprocessors that have recently become ubiquitous requires high-performance and reliable concurrent systems code, for concurrent data structures, operating system kernels, synchronization libraries, compilers, and so on. However, concurrent programming, which is always challenging, is made much more so by two problems. First, real multiprocessors typically do not provide the sequentially consistent memory that is assumed by most work on semantics and verification. Instead, they have relaxed memory models, varying in subtle ways between processor families, in which different hardware threads may have only loosely consistent views of a shared memory. Second, the public vendor architectures, supposedly specifying what programmers can rely on, are often in ambiguous informal prose (a particularly poor medium for loose specifications), leading to widespread confusion.
In this paper we …
Total citations
20102011201220132014201520162017201820192020202120222023202472033423450395958363342553020
Scholar articles
P Sewell, S Sarkar, S Owens, FZ Nardelli, MO Myreen - Communications of the ACM, 2010