2010
DOI: 10.1007/978-3-642-15769-1_10
|View full text |Cite
|
Sign up to set email alerts
|

Concurrent Separation Logic for Pipelined Parallelization

Abstract: Abstract. Recent innovations in automatic parallelizing compilers are showing impressive speedups on multicore processors using shared memory with asynchronous channels. We have formulated an operational semantics and proved sound a concurrent separation logic to reason about multithreaded programs that communicate asynchronously through channels and share memory. Our logic supports shared channel endpoints (multiple producers and consumers) and introduces histories to overcome limitations with local reasoning… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
37
0

Year Published

2010
2010
2021
2021

Publication Types

Select...
4
3
1

Relationship

1
7

Authors

Journals

citations
Cited by 21 publications
(37 citation statements)
references
References 13 publications
0
37
0
Order By: Relevance
“…Indeed, Raza et al [2009] do not consider any program transformations, since the goal of that work is to identify memory separation of different commands, while Hurlin [2009] expresses optimizations as reordering rewrites on proof trees. Bell et al [2009] construct a proof of an already-transformed multithreaded program parallelized by the DSWP transformation [Ottoni et al 2005]. This approach assumes a specific pattern of (linear) dependencies in the while-loop consistent with DSWP, a specific pattern of sequential proof, and a fixed number of threads.…”
Section: Related Work In Detailmentioning
confidence: 99%
“…Indeed, Raza et al [2009] do not consider any program transformations, since the goal of that work is to identify memory separation of different commands, while Hurlin [2009] expresses optimizations as reordering rewrites on proof trees. Bell et al [2009] construct a proof of an already-transformed multithreaded program parallelized by the DSWP transformation [Ottoni et al 2005]. This approach assumes a specific pattern of (linear) dependencies in the while-loop consistent with DSWP, a specific pattern of sequential proof, and a fixed number of threads.…”
Section: Related Work In Detailmentioning
confidence: 99%
“…This specification is implicitly universally quantified for all assertions P , meaning that we can construct a predicate for any assertion. 1 New fut and req predicates can be constructed at run-time using newchan, meaning we can construct an arbitrarily large number of channels for use in the program.…”
Section: Verifying a Client Programmentioning
confidence: 99%
“…CSL has been extended to deal with dynamically-allocated locks [11,14,15] and re-entrant locks [12]. Others have extended separation logic or similar logics with primitive channels [13,1,24,18], and event driven programs [17].…”
Section: Related Work and Conclusionmentioning
confidence: 99%
“…To capture action repetition, the behavior of processes also can be described using a recursive definition, which must be paired with a contract. See for example the definition of process get_all in Listing 48 (lines [12][13][14][15].…”
Section: Reasoning With Historiesmentioning
confidence: 99%
“…Reasoning about several atomic synchronisers when they exchange their resources can lead to specify and verify Exchanger 1 from java.util.concurrent. To tackle this problem, techniques in which one can model interactions between atomic variables via message passing synchronisation [15] or channel based-based synchronisation [55] are helpful.…”
Section: Future Directionsmentioning
confidence: 99%