Design and Verification of Distributed Phasers

  • Karthik MurthyEmail author
  • Sri Raj Paul
  • Kuldeep S. Meel
  • Tiago Cogumbreiro
  • John Mellor-Crummey
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9833)


A phaser is an expressive barrier-like synchronization construct that supports dynamic task membership. Each task can participate in a phaser as a signaler, a waiter, or both. 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 concurrent skip lists augmented with the ability to collect and propagate synchronization signals. To enable a high degree of concurrency, the addition and deletion of participant tasks are performed in two steps: a “fast single-link-modify” step followed by multiple hand-over-hand “lazy multi-link-modify” steps. We verify our design for a distributed phaser using the SPIN model checker. We employ a novel “message-based” model checking scheme to enable a non-approximate complete model checking of our phaser design. We guarantee the correctness of phaser semantics 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.


Skip Lists Presents Complexity Analysis Phase R Linear Temporal Logic (LTLs) Distributed Memory Environment 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.



We would like to thank Moshe Y. Vardi for the insightful discussions regarding verification. This research was supported in part by the DOE Office of Science Advanced Scientific Computing Research program through collaborative agreement DE-FC02-12ER26105. This research used resources of the National Energy Research Scientific Computing Center, a DOE Office of Science User Facility supported by the Office of Science of the U.S. Department of Energy under Contract No. DE-AC02-05CH11231.


  1. 1.
    Agarwal, S., Joshi, S., Shyamasundar, R.K.: Distributed generalized dynamic barrier synchronization. In: Aguilera, M.K., Yu, H., Vaidya, N.H., Srinivasan, V., Choudhury, R.R. (eds.) ICDCN 2011. LNCS, vol. 6522, pp. 143–154. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  2. 2.
    Clarke, E.M., Grumberg, O., Peled, D.: Model Checking. MIT Press, Cambridge (1999)Google Scholar
  3. 3.
    Crain, T., Gramoli, V., Raynal, M.: No hot spot non-blocking skip list. In: Proceedings of ICDCS, pp. 196–205 (2013)Google Scholar
  4. 4.
    Egecioglu, O., Koc, C.K., Laub, A.J.: A recursive doubling algorithm for solution of tridiagonal systems on hypercube multiprocessors. J. Comput. Appl. Math. 27(1), 95–108 (1989)MathSciNetCrossRefzbMATHGoogle Scholar
  5. 5.
    Holzmann, G.J.: The model checker SPIN. IEEE Trans. Softw. Eng. 23(5), 279–295 (1997)MathSciNetCrossRefGoogle Scholar
  6. 6.
    Pugh, W.: Skip lists: a probabilistic alternative to balanced trees. Commun. ACM 33(6), 668–676 (1990)MathSciNetCrossRefGoogle Scholar
  7. 7.
    Saraswat, V., et al.: Source Distribution of X10 V2.5.1 (2014).
  8. 8.
    Saraswat, V., et al.: X10 Language Specification Version 2.5 (2014).
  9. 9.
    Sarkar, V., Harrod, W., Snavely, A.E.: Software challenges in extreme scale systems. J. Phys. Conf. Ser. 180(1), 12 (2009)Google Scholar
  10. 10.
    Schöne, R., et al.: Tools and methods for measuring and tuning the energy efficiency of HPC systems. Sci. Program. 22(4), 273–283 (2014)Google Scholar
  11. 11.
    Shirako, J., Peixotto, D.M., Sarkar, V., Scherer, W.N.: Phasers: a unified deadlock-free construct for collective and point-to-point synchronization. In: Proceedings of ICS, pp. 277–288. ACM (2008)Google Scholar
  12. 12.
    Shirako, J., Sarkar, V.: Hierarchical phasers for scalable synchronization and reductions in dynamic parallelism. In: Proceedings of IPDPS, pp. 1–12 (2010)Google Scholar
  13. 13.
    Welch, P., et al.: Alting barriers: synchronisation with choice in Java using JCSP. Concur. Comput. Pract. Exp. 22(8), 1049–1062 (2010)CrossRefGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2016

Authors and Affiliations

  • Karthik Murthy
    • 1
    Email author
  • Sri Raj Paul
    • 1
  • Kuldeep S. Meel
    • 1
  • Tiago Cogumbreiro
    • 1
  • John Mellor-Crummey
    • 1
  1. 1.Rice UniversityHoustonUSA

Personalised recommendations