2013
DOI: 10.1007/978-3-642-38493-6_3
|View full text |Cite
|
Sign up to set email alerts
|

Coordinating Phased Activities while Maintaining Progress

Abstract: Abstract. In order to develop reliable applications for parallel machines, programming languages and systems need to provide for flexible parallel programming coordination techniques. Barriers, clocks and phasers constitute promising synchronisation mechanisms, but they exhibit intricate semantics and allow writing programs that can easily deadlock. We present an operational semantics and a type system for a fork/join programming model equipped with a flexible variant of phasers. Our proposal allows for a prec… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
9
0

Year Published

2015
2015
2019
2019

Publication Types

Select...
2
2
1

Relationship

2
3

Authors

Journals

citations
Cited by 6 publications
(9 citation statements)
references
References 15 publications
0
9
0
Order By: Relevance
“…Producer-Consumer. A primary motivation for phasers is to support asynchronous producerconsumer patterns [14,64] that cannot be expressed using the barrier features discussed in Section 2.2. Such synchronisation patterns occur in programs performing streaming (also known as dataflow) communication among tasks [54,60,63].…”
Section: Generalised Barrier Synchronisation Using Phasersmentioning
confidence: 99%
See 1 more Smart Citation
“…Producer-Consumer. A primary motivation for phasers is to support asynchronous producerconsumer patterns [14,64] that cannot be expressed using the barrier features discussed in Section 2.2. Such synchronisation patterns occur in programs performing streaming (also known as dataflow) communication among tasks [54,60,63].…”
Section: Generalised Barrier Synchronisation Using Phasersmentioning
confidence: 99%
“…The deadlock checker, following steps (1)-(3), implements the core functionality for compiling the wait-for and impede-by dependencies from the blocking statuses, graph model selection and construction, and cycle detection. We use JGraphT 14 to perform cycle detection.…”
Section: Verification Layermentioning
confidence: 99%
“…Similar approaches have been successfully used for Web-Services [10,38,33], and Multicore Programming [28,13]. The considerations on CPS used in this work come from well-established sources [2,37].…”
Section: Towards a Language For Cps Communicationsmentioning
confidence: 99%
“…Our work differs from these approaches in that our model focuses considers explicit considerations on availability for the systems in consideration. Also for multicore programming, the work in [13] presents a calculus with fork/join communication primitives, with a flexible phaser mechanism that allows some threads to advance prior to synchronization. The type system guarantees a node-centric progress guarantee, ideal for multicore computing, but too coarse for CPS.…”
Section: Related Workmentioning
confidence: 99%
“…Finally, related work on "barrier matching" tackles the problem of barrier deadlocks in a setting where there is only global barrier synchronisation [19,47]. Cogumbreiro et al [8] propose a static typing system to ensure the correctness of phased activities for a fragment of X10 that disallows awaiting on a particular clock. Therefore, programs that involve more than one clock and that perform single waits cannot be expressed, nor verified (cf.…”
Section: Related Workmentioning
confidence: 99%