Sri Raj Paul, CAF 2.0 Phasers

Slides

CAF 2.0 Phaser is a distributed, flexible and scalable synchronization construct for the PGAS programming model. Distributed phasers are a general barrier-like synchronization primitive that support dynamic threads/ processes, each with a choice of participation modes (signal, wait, signal wait). Distributed phasers are influenced by phasers originally introduced in Habanero Java; a shared memory programming model. Our design of distributed phasers focuses on guaranteeing logarithmic space complexity to maintain the phaser structure on each process, and logarithmic time complexity for each action performed on the phaser. We use a distributed skip lists as the backbone for our distributed phaser implementation, ensuring that signal/wait/signal wait propagation occurs in logarithmic time. To guarantee deadlock-, and livelock-freedom in our protocol which has substantial concurrent operations we explore automated verification using SPIN model checker.