Proceedings of the 8th International Conference on Partitioned Global Address Space Programming Models 2014
DOI: 10.1145/2676870.2676878
|View full text |Cite
|
Sign up to set email alerts
|

Optimization of a General Model Checking Framework for Various Memory Consistency Models

Abstract: While relaxed memory consistency models contribute optimizations of compilers on multicore CPUs and shared memory distributed programming languages, their relaxedness makes it difficult to write programs correctly. To address this problem, the authors proposed a general model checking framework and implemented a prototype tool McSPIN, which can take a memory consistent model as an input, as well as a program and a property to be checked, in their previous works. However, one big problem of McSPIN was that it w… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
2
1

Citation Types

0
13
0

Year Published

2016
2016
2017
2017

Publication Types

Select...
2
2
1

Relationship

2
3

Authors

Journals

citations
Cited by 5 publications
(13 citation statements)
references
References 46 publications
0
13
0
Order By: Relevance
“…Therefore, our logic cannot currently verify programs that show different orders of effects to different threads, for example, Independent-Reads-IndependentWrite [10]. The authors' previous works on model checking [2], [3], [5] handled such memory consistency models by introducing a notion of visibility of effects on each thread. We think that verification of the program is possible by introducing multilayered store buffers in operational semantics and auxiliary variables that represent variable on the buffers in concurrent program logic.…”
Section: Discussionmentioning
confidence: 99%
See 2 more Smart Citations
“…Therefore, our logic cannot currently verify programs that show different orders of effects to different threads, for example, Independent-Reads-IndependentWrite [10]. The authors' previous works on model checking [2], [3], [5] handled such memory consistency models by introducing a notion of visibility of effects on each thread. We think that verification of the program is possible by introducing multilayered store buffers in operational semantics and auxiliary variables that represent variable on the buffers in concurrent program logic.…”
Section: Discussionmentioning
confidence: 99%
“…The second is to support relaxed memory consistency models (e.g., UPC memory model [43] and C11/C++11 memory models [22], [24]) that do not assume global time. The authors' previous works on model checking [2], [3], [5] handled such memory consistency models by introducing a notion of speculative behavior on each thread. We think that the operational semantics and concurrent program logic can be extended in a similar way.…”
Section: Discussionmentioning
confidence: 99%
See 1 more Smart Citation
“…A guard that is uniformly generated as end o==0 from an operation o in Sect. 2.4 is enhanced by an input MCM (details are provided in [3]). We explain this using the constraint that differentiates TSO and PSO, as set out in Sect.…”
Section: Enhanced Guards: Pruning Inadmissible Execution Tracesmentioning
confidence: 99%
“…Although the optimization in our earlier work have enabled verification of non-toy programs such as Dekker's mutual exclusion algorithm [3], it was difficult to apply Mc-SPIN to larger problems such as verifications of copying protocols of Concurrent Copying Garbage Collection algorithms (CCGCs), due to the state explosion. In this paper, we demonstrated the optimizations above enables McSPIN to verify larger programs; we checked if a desirable property of CCGCs, "in a single thread program, what the program reads is what it has most recently written", are held or not for several CCGCs on multiple MCMs.…”
Section: Introductionmentioning
confidence: 99%