2012
DOI: 10.1007/978-3-642-33651-5_3
|View full text |Cite
|
Sign up to set email alerts
|

Show No Weakness: Sequentially Consistent Specifications of TSO Libraries

Abstract: Abstract. Modern programming languages, such as C++ and Java, provide a sequentially consistent (SC) memory model for well-behaved programs that follow a certain synchronisation discipline, e.g., for those that are data-race free (DRF). However, performance-critical libraries often violate the discipline by using lowlevel hardware primitives, which have a weaker semantics. In such scenarios, it is important for these libraries to protect their otherwise well-behaved clients from the weaker memory model. In thi… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1

Citation Types

0
31
0

Year Published

2013
2013
2022
2022

Publication Types

Select...
7
1

Relationship

0
8

Authors

Journals

citations
Cited by 33 publications
(31 citation statements)
references
References 14 publications
0
31
0
Order By: Relevance
“…A typical implementation of spinlock [11] is shown in Figure 1, given as pseudo-code (where a1, etc. are line numbers).…”
Section: As X : {0 1}mentioning
confidence: 99%
See 1 more Smart Citation
“…A typical implementation of spinlock [11] is shown in Figure 1, given as pseudo-code (where a1, etc. are line numbers).…”
Section: As X : {0 1}mentioning
confidence: 99%
“…These range from using shape analysis [2,4] and separation logic [4] to rely-guarantee reasoning [20] and refinement-based simulation methods [10,7]. Most of this work has been for sequentially consistent architectures, but some work has been done for TSO [3,11,19,9]. In particular, in [9] we have defined a simulation-based proof method for linearizability on TSO.…”
Section: Coarse-grained Abstractionmentioning
confidence: 99%
“…In particular, our analysis of TSO is subtle enough to address all the examples of Burckhardt et al [2012], even though, from a purely formal TSO perspective, there is clearly greater expressiveness in their definition. Consequently, any data race free client can work precisely against a SC interface in our setting, whereas Gotsman, Musuvathi, and Yang [2012] explore the conditions on compilation necessary to validate the use of SC interfaces under TSO.…”
Section: Related Workmentioning
confidence: 99%
“…The notion of linearizability has been extended for relaxed memory models, e.g., TSOto-TSO linearizability [8] and TSO-to-SC linearizability [12] for the TSO memory model and two variants of linearizability [3] for the C++ memory model. These notions generalize the original one by relating concurrent libraries with their abstract implementations, in the way as shown in [11] for the SC memory model.…”
mentioning
confidence: 99%
“…These notions generalize the original one by relating concurrent libraries with their abstract implementations, in the way as shown in [11] for the SC memory model. It is worth mentioning that these notions of linearizability satisfy the abstraction theorem [3,8,12]: if a library is linearizable with respect to its abstract implementation, every observable behavior of any client program using the former can be observed when the program uses the latter instead. Concurrent software developer can benefit from this correspondence in that the library can be safely replaced with its abstract implementation for the sake of optimization or the ease of verification of the client program.…”
mentioning
confidence: 99%