Distributed generalized dynamic barrier synchronization

  • Authors:
  • Shivali Agarwal;Saurabh Joshi;Rudrapatna K. Shyamasundar

  • Affiliations:
  • IBM Research, India;Indian Institute of Technology, Kanpur;Tata Institute of Fundamental Research, Mumbai

  • Venue:
  • ICDCN'11 Proceedings of the 12th international conference on Distributed computing and networking
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

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.