Formalization of Habanero phasers using Coq

Abstract Phasers pose an interesting synchronization mechanism that generalizes many collective synchronization patterns seen in parallel programming languages, including barriers, clocks, and point-to-point synchronization using latches or semaphores. This work characterizes scheduling constraints on phaser operations, by relating the execution state of two tasks that operate on the same phaser. We propose a formalization of Habanero phasers, May-Happen-In-Parallel, and Happens–Before relations for phaser operations, and show that these relations conform with the semantics. Our formalization and proofs are fully mechanized using the Coq proof assistant, and are available online.

[1]  LamportLeslie Time, clocks, and the ordering of events in a distributed system , 1978 .

[2]  Alexander Aiken,et al.  Verification of producer-consumer synchronization in GPU programs , 2015, PLDI.

[3]  Vivek Sarkar,et al.  X10: an object-oriented approach to non-uniform cluster computing , 2005, OOPSLA '05.

[4]  W. K. Chan,et al.  ConLock: a constraint-based approach to dynamic checking on deadlocks in multithreaded programs , 2014, ICSE.

[5]  Nobuko Yoshida,et al.  Dynamic deadlock verification for general barrier synchronisation , 2015, PPoPP.

[6]  Leslie Lamport,et al.  Time, clocks, and the ordering of events in a distributed system , 1978, CACM.

[7]  Peter Dybjer,et al.  Intuitionistic Type Theory , 2016 .

[8]  Yannis Smaragdakis,et al.  Sound predictive race detection in polynomial time , 2012, POPL '12.

[9]  Friedemann Mattern,et al.  Detecting causal relationships in distributed computations: In search of the holy grail , 1994, Distributed Computing.

[10]  Paulo Sérgio Almeida,et al.  Version stamps-decentralized version vectors , 2002, Proceedings 22nd International Conference on Distributed Computing Systems.

[11]  Serdar Tasiran,et al.  Goldilocks: Efficiently Computing the Happens-Before Relation Using Locksets , 2006, FATES/RV.

[12]  Rupak Majumdar,et al.  Race detection for Android applications , 2014, PLDI.

[13]  R. K. Shyamasundar,et al.  A New Method of MHP Analysis for Languages with Dynamic Barriers , 2012, 2012 IEEE 26th International Parallel and Distributed Processing Symposium Workshops & PhD Forum.

[14]  Carlos Baquero,et al.  Why Logical Clocks are Easy , 2016, ACM Queue.

[15]  Tomofumi Yuki,et al.  Checking Race Freedom of Clocked X10 Programs , 2013, ArXiv.

[16]  Vivek Sarkar,et al.  Formalization of Phase Ordering , 2016, PLACES.

[17]  Paul Feautrier,et al.  Improving the Performance of X10 Programs by Clock Removal , 2014, CC.

[18]  Mary Lou Soffa,et al.  Concurrency analysis in the presence of procedures using a data-flow framework , 1991, TAV4.

[19]  Vivek Sarkar,et al.  Phasers: a unified deadlock-free construct for collective and point-to-point synchronization , 2008, ICS '08.

[20]  Orit Hazzan,et al.  Assessing abstraction skills , 2016, Commun. ACM.

[21]  Emal Pasarly Time , 2011, Encyclopedia of Evolutionary Psychological Science.

[22]  Silvia Crafa,et al.  Semantics of (Resilient) X10 , 2013, ECOOP.