Abstract
Barrier synchronization is widely used in shared-memory parallel programs to synchronize between phases of data-parallel algorithms. With proliferation of many-core processors, barrier synchronization has been adapted for higher level language abstractions in new languages such as X10 wherein the processes participating in barrier synchronization are not known a priori, and the processes in distinct “places” don’t share memory. Thus, the challenge here is to not only achieve barrier synchronization in a distributed setting without any centralized controller, but also to deal with dynamic nature of such a synchronization as processes are free to join and drop out at any synchronization phase. In this paper, we describe a solution for the generalized distributed barrier synchronization wherein processes can dynamically join or drop out of barrier synchronization; that is, participating processes are not known a priori. Using the policy of permitting a process to join only in the beginning of each phase, we arrive at a solution that ensures (i) Progress: a process executing phase k will enter phase k + 1 unless it wants to drop out of synchronization (assuming the phase execution of the processes terminate), and (ii) Starvation Freedom: a new process that wants to join a phase synchronization group that has already started, does so in a finite number of phases. The above protocol is further generalized to multiple groups of processes (possibly non-disjoint) engaged in barrier synchronization.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Chandy, K.M., Misra, J.: Parallel program Design: A Foundation. Addison-Wesley, Reading (1988)
Dijkstra, E.W.: Guarded commands, non-determinacy and formal derivation of programs. Communications of the ACM 18(8) (August 1975)
Mellor-Crummey, J.M., Scott, M.L.: Algorithms for scalable synchronization on shared -memory multiprocessors. ACM TOCS 9(1), 21–65 (1991)
Feldmann, A., Gross, T., O’Hallaron, D., Stricker, T.M.: Subset barrier synchronization on a private-memory parallel system. In: SPAA (1992)
Hensgen, D., Finkel, R., Manbet, U.: Two algorithms for barrier synchronization. International Journal of Parallel Programming 17(1), 1–17 (1988)
Herlihy, M., Shavit, N.: The Art of Multiprocessor Programming. Morgan Kaufmann, San Francisco (2008)
Misra, J.: Phase Synchronization, Notes on Unity, 12-90, U. Texas at Austin (1990)
Tang, P., Yew, P.C.: Processor Self scheduling for multiple-nested parallel loops. In: Proc. ICPP, pp. 528–535 (Augus 1986)
Brooks III, E.D.: The butterfly barrier. International Journal of Parallel Programming 15(4) (1986)
Han, Y., Finkel, R.: An Optimal Scheme for Disseminating Information. In: Proc. of 17th International Conference on Parallel Processing (1988)
Scott, M.L., Michael, M.M.: The Topological Barrier: A Synchronization Abstraction for Regularly-Structured Parallel Applications Tech. Report TR605, Univ. of Rochester (1996)
Gupta, R., Hill, C.R.: A scalable implementation of barrier synchronization using an adaptive combining tree. International Journal of Parallel Programming 18(3) (1990)
Livesey, M.: A Network Model of Barrier Synchronization Algorithms. International Journal of Parallel Programming 20(1) (February 1991)
Xu, H., McKinley, P.K., Ni, L.M.: Efficient implementation of barrier synchronization in wormhole-routed hypercube multicomputers. In: Proceedings of the 12th International Conference on, vol. 9(12) (June 1992)
Yang, J.-S., King, C.-T.: Designing Tree-Based Barrier Synchronization on 2D Mesh Networks. IEEE Transactions on Parallel and Distributed Systems 9(6) (1998)
Saraswat, V., Jagadeesan, R.: Concurrent clustered programming. In: Jayaraman, K., de Alfaro, L. (eds.) CONCUR 2005. LNCS, vol. 3653, pp. 353–367. Springer, Heidelberg (2005)
Unified Parallel C Language, http://www.gwu.edu/~upc/
Shirako, J., Peixotto, M.D., Sarkar, V., Scherer, W.N.: Phasers: a unified deadlock-free construct for collective and point-to-point synchronization. In: ICS, pp. 277–288 (2008)
Vasudevan, N., Tardieu, O., Dolby, J., Edwards, S.A.: Compile-Time Analysis and Specialization of Clocks in Concurrent Programs. In: CC, pp. 48–62 (2009)
Welsch, P., Barnes, F.: Mobile Barriers for occam-pi: Semantics, Implementation and Application. Communicating Process Architecture (2005)
Welsch, P., Brown, N., Moores, J., Chalmers, K., Sputh, B.H.C.: Integrating and Extending JCSP. In: CPA, pp. 349–370 (2007)
Agarwal, S., Joshi, S., Shyamasundar, R.K.: Distributed Generalized Dynamic Barrier Synchronization, Longer Version, http://www.tcs.tifr.res.in/~shyam/Papers/dynamicbarrier.pdf
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Agarwal, S., Joshi, S., Shyamasundar, R.K. (2011). Distributed Generalized Dynamic Barrier Synchronization. In: Aguilera, M.K., Yu, H., Vaidya, N.H., Srinivasan, V., Choudhury, R.R. (eds) Distributed Computing and Networking. ICDCN 2011. Lecture Notes in Computer Science, vol 6522. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-17679-1_13
Download citation
DOI: https://doi.org/10.1007/978-3-642-17679-1_13
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-17678-4
Online ISBN: 978-3-642-17679-1
eBook Packages: Computer ScienceComputer Science (R0)