Classified by Research TopicSorted by DateClassified by Publication Type

Design and Verification of Distributed Phasers

Design and Verification of Distributed Phasers.
Karthik, Murthy, Sri Raj, Paul, Kuldeep S., Meel, Tiago Cogumbreiro and John Mellor-Crummey.
In Proceedings of International European Conference on Parallel and Distributed Computing (Euro-Par), January 2016.

Download

[PDF] 

Abstract

A phaser is an expressive synchronization construct that unifies collective and point-to-point coordination with dynamic registration of parallel tasks. Each task can participate in a phaser as a signaler, a waiter, or both. The participants in a phaser may change over time as tasks are added and deleted. In this paper, we present a highly concurrent and scalable design of phasers for a distributed memory environment. Our design for a distributed phaser employs a pair of skip lists augmented with the ability to collect and propagate synchronization signals. To enable a high degree of concurrency, addition and deletion of participant tasks are performed in two phases: a "fast single-link-modify" step followed by multiple hand-over-hand "lazy multi-link-modify" steps. Verifying highly-concurrent protocols is difficult. We analyze our design for a distributed phaser using the SPIN model checker. A straight-forward approach to model checking a distributed phaser operation requires an infeasibly large state space. To address this issue, we employ a novel "message-based" model checking scheme to enable a non- approximate complete model checking of our phaser design. We guarantee the semantic properties of phaser operations by ensuring that a set of linear temporal logic formulae are valid during model checking. We also present complexity analysis of the cost of synchronization and structural operations.

BibTeX

@inproceedings{PMMCM16,
  title={Design and Verification of Distributed Phasers},
  author={Murthy, Karthik, and Paul, Sri Raj, and Meel, Kuldeep S., and Cogumbreiro, Tiago and Mellor-Crummey, John},
  year={2016},
  month=jan,
  bib2html_dl_pdf={../Papers/europar16.pdf},
  code={http://srp7.web.rice.edu/phaser/},
  booktitle=EUROPAR,
  	  bib2html_rescat={Software Engineering},
  bib2html_pubtype={Refereed Conference},
  abstract={A phaser is an expressive synchronization construct that unifies 
    collective and point-to-point coordination with dynamic registration of parallel 
      tasks. Each task can participate in a phaser as a signaler, a waiter, or both. 
   The participants in a phaser may change over time as tasks are added and deleted. 
   In this paper, we present a highly concurrent and scalable design of phasers for a 
   distributed memory environment. 
  Our design for a distributed phaser employs a pair of skip lists augmented with the 
  ability to collect and propagate synchronization signals. To enable a high degree of 
  concurrency, addition and deletion of participant tasks are performed in two phases: 
  a "fast single-link-modify" step followed by multiple hand-over-hand "lazy multi-link-modify" 
  steps. 
      Verifying highly-concurrent protocols is difficult. We analyze our design for a 
      distributed phaser using the SPIN model checker. A straight-forward approach to 
      model checking a distributed phaser operation requires an infeasibly large state space. 
      To address this issue, we employ a novel "message-based" model checking scheme to enable 
      a non- approximate complete model checking of our phaser design. We guarantee the 
      semantic properties of phaser operations by ensuring that a set of linear temporal logic 
   formulae are valid during model checking. 
      We also present complexity analysis of the cost of synchronization and structural 
      operations.},
}

Generated by bib2html.pl (written by Patrick Riley with layout from Sanjit A. Seshia ) on Sun Apr 14, 2024 11:15:51