An Efficient Decentralized Algorithm for the Distributed Trigger Counting (DTC) Problem Venkatesan T. Chakravarthy (IBM Research-India) Anamitra Roy Choudhury.

Slides:



Advertisements
Similar presentations
Chapter 5: Tree Constructions
Advertisements

ON THE COMPLEXITY OF ASYNCHRONOUS GOSSIP Presented by: Tamar Aizikowitz, Spring 2009 C. Georgiou, S. Gilbert, R. Guerraoui, D. R. Kowalski.
Introduction to Algorithms Quicksort
Chapter 13 Leader Election. Breaking the symmetry in system Similar to distributed mutual exclusion problems, the first process to enter the CS can be.
Distributed Leader Election Algorithms in Synchronous Ring Networks
Scalable Algorithms for Global Snapshots in Distributed Systems
Lecture 8: Asynchronous Network Algorithms
Token-Dased DMX Algorithms n LeLann’s token ring n Suzuki-Kasami’s broadcast n Raymond’s tree.
Chapter 15 Basic Asynchronous Network Algorithms
Coverage by Directional Sensors Jing Ai and Alhussein A. Abouzeid Dept. of Electrical, Computer and Systems Engineering Rensselaer Polytechnic Institute.
Approximation, Chance and Networks Lecture Notes BISS 2005, Bertinoro March Alessandro Panconesi University La Sapienza of Rome.
CS 484. Discrete Optimization Problems A discrete optimization problem can be expressed as (S, f) S is the set of all feasible solutions f is the cost.
1 Maximal Independent Set. 2 Independent Set (IS): In a graph G=(V,E), |V|=n, |E|=m, any set of nodes that are not adjacent.
Lecture 7: Synchronous Network Algorithms
Outline. Theorem For the two processor network, Bit C(Leader) = Bit C(MaxF) = 2[log 2 ((M + 2)/3.5)] and Bit C t (Leader) = Bit C t (MaxF) = 2[log 2 ((M.
Gossip Algorithms and Implementing a Cluster/Grid Information service MsSys Course Amar Lior and Barak Amnon.
1 Distributed Adaptive Sampling, Forwarding, and Routing Algorithms for Wireless Visual Sensor Networks Johnsen Kho, Long Tran-Thanh, Alex Rogers, Nicholas.
Distributed Computing 8. Impossibility of consensus Shmuel Zaks ©
CS4231 Parallel and Distributed Algorithms AY 2006/2007 Semester 2 Lecture 7 Instructor: Haifeng YU.
Termination Detection. Goal Study the development of a protocol for termination detection with the help of invariants.
Termination Detection Part 1. Goal Study the development of a protocol for termination detection with the help of invariants.
CPSC 668Set 10: Consensus with Byzantine Failures1 CPSC 668 Distributed Algorithms and Systems Fall 2009 Prof. Jennifer Welch.
Università degli Studi dell’Aquila Academic Year 2009/2010 Course: Algorithms for Distributed Systems Instructor: Prof. Guido Proietti Time: Monday:
CPSC 668Set 5: Synchronous LE in Rings1 CPSC 668 Distributed Algorithms and Systems Spring 2008 Prof. Jennifer Welch.
1 Complexity of Network Synchronization Raeda Naamnieh.
CPSC 668Set 3: Leader Election in Rings1 CPSC 668 Distributed Algorithms and Systems Spring 2008 Prof. Jennifer Welch.
CSC 2300 Data Structures & Algorithms March 27, 2007 Chapter 7. Sorting.
© nCode 2000 Title of Presentation goes here - go to Master Slide to edit - Slide 1 Reliable Communication for Highly Mobile Agents ECE 7995: Term Paper.
CPSC 668Set 10: Consensus with Byzantine Failures1 CPSC 668 Distributed Algorithms and Systems Fall 2006 Prof. Jennifer Welch.
1 Fault-Tolerant Consensus. 2 Failures in Distributed Systems Link failure: A link fails and remains inactive; the network may get partitioned Crash:
Other time considerations Source: Simon Garrett Modifications by Evan Korth.
Chapter Resynchsonous Stabilizer Chapter 5.1 Resynchsonous Stabilizer Self-Stabilization Shlomi Dolev MIT Press, 2000 Draft of Jan 2004, Shlomi.
Complexity 19-1 Parallel Computation Complexity Andrei Bulatov.
Maximal Independent Set Distributed Algorithms for Multi-Agent Networks Instructor: K. Sinan YILDIRIM.
Raeda Naamnieh 1. The Partition Algorithm Intuitively, the idea of the following algorithm is to choose each cluster as a maximal subset of nodes whose.
Election Algorithms and Distributed Processing Section 6.5.
Chapter 3: Cluster Analysis  3.1 Basic Concepts of Clustering  3.2 Partitioning Methods  3.3 Hierarchical Methods The Principle Agglomerative.
Broadcast & Convergecast Downcast & Upcast
Synchronization (Barriers) Parallel Processing (CS453)
Ch11 Distributed Agreement. Outline Distributed Agreement Adversaries Byzantine Agreement Impossibility of Consensus Randomized Distributed Agreement.
1 Maximal Independent Set. 2 Independent Set (IS): In a graph G=(V,E), |V|=n, |E|=m, any set of nodes that are not adjacent.
Foundations of Communication on Multiple-Access Channel Dariusz Kowalski.
CS4231 Parallel and Distributed Algorithms AY 2006/2007 Semester 2 Lecture 8 Instructor: Haifeng YU.
PODC Distributed Computation of the Mode Fabian Kuhn Thomas Locher ETH Zurich, Switzerland Stefan Schmid TU Munich, Germany TexPoint fonts used in.
A graph problem: Maximal Independent Set Graph with vertices V = {1,2,…,n} A set S of vertices is independent if no two vertices in S are.
Termination Detection
An Efficient Decentralized Algorithm for the Distributed Trigger Counting Problem (DTCP) Venkatesan Chakravarthy, IBM India Research Lab Anamitra R. Choudhury,
Communication & Synchronization Why do processes communicate in DS? –To exchange messages –To synchronize processes Why do processes synchronize in DS?
1 Leader Election in Rings. 2 A Ring Network Sense of direction left right.
CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS Fall 2011 Prof. Jennifer Welch CSCE 668 Set 5: Synchronous LE in Rings 1.
1 Presented by Sarbagya Buddhacharya. 2 Increasing bandwidth demand in telecommunication networks is satisfied by WDM networks. Dimensioning of WDM networks.
Vertex Coloring Distributed Algorithms for Multi-Agent Networks
CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS Spring 2014 Prof. Jennifer Welch CSCE 668 Set 3: Leader Election in Rings 1.
2/14/2016  A. Orda, A. Segall, 1 Queueing Networks M nodes external arrival rate (Poisson) service rate in each node (exponential) upon service completion.
Fault tolerance and related issues in distributed computing Shmuel Zaks GSSI - Feb
1 Fault-Tolerant Consensus. 2 Communication Model Complete graph Synchronous, network.
1 Chapter 11 Global Properties (Distributed Termination)
CIS 825 Review session. P1: Assume that processes are arranged in a ring topology. Consider the following modification of the Lamport’s mutual exclusion.
Efficient Algorithms for Distributed Snapshots and Global Virtual Time Approximation Author: Friedermann Mattern Presented By: Shruthi Koundinya.
CSC 8420 Advanced Operating Systems Georgia State University Yi Pan Transactions are communications with ACID property: Atomicity: all or nothing Consistency:
1 Igor Burdonov Alexander Kossatchev Building direct and back spanning trees by automata on a graph The Institute for System Programming (ISP) of the Russian.
Small-world phenomenon: An Algorithmic Perspective Jon Kleinberg.
Backtracking And Branch And Bound
Maximal Independent Set
Lecture 9: Asynchronous Network Algorithms
Alternating Bit Protocol
Agreement Protocols CS60002: Distributed Systems
Parallel and Distributed Algorithms
Lecture 8: Synchronous Network Algorithms
Proof of Kleinberg’s small-world theorems
Presentation transcript:

An Efficient Decentralized Algorithm for the Distributed Trigger Counting (DTC) Problem Venkatesan T. Chakravarthy (IBM Research-India) Anamitra Roy Choudhury (IBM Research-India) Vijay Garg (University of Texas at Austin) Yogish Sabharwal (IBM Research-India)

Distributed Trigger Counting (DTC) Problem Distributed system with n processors Each processor receives some triggers from an external source Report to the user when the number of triggers received equals w. (In general w>>n)

Applications of DTC Problem  Distributed monitoring traffic volume : raise an alarm if #vehicles on a highway exceeds some threshold wildlife behavior: #sightings of a particular species in a wildlife region exceeds a value.  Global Snapshots : the distributed system must determine if all in-transit messages have been received to declare snapshot valid. This problem reduces to DTC Problem [Garg, Garg, Sabharwal 2006]

Assumptions: complete graph model, i.e., any processor can communicate with any other processor no shared clock and no shared memory processors communicate using messages reliable message delivery no faults in the processors.

Measure of any DTC Algorithm: Low message complexity Low MaxRcvLoad, the maximum number of messages received by any processor in the system. Low MsgLoad the maximum number of messages communicated by any processor in the system.

Trivial Algorithm  Fix one node to be Master Node  Total Deficit (w) is maintained by the Master Node  Any processor that receives a trigger informs the Master Node The master node decrements the deficit  Finish when deficit reaches zero  Total messages = O(w)  MaxRcvLoad and MsgLoad also O(w)

Previous Work:  Any deterministic algorithm has message complexity Ω(n log(w/n)) [Garg et al]  Centralized algorithm message complexity O(n log w). MaxRcvLoad can be as high as O(n log w).  Tree-based algorithm message complexity O(n log n log w). more decentralized in a heuristic sense. MaxRcvLoad can be as high as O(n log n log w), in the worst case. AlgorithmMessage Complexity MaxRcvLoad CentralizedO(n log w) Tree basedO(n log n log w) LayeredRandO(n log n log w)O(log n log w) CoinRand [IPDPS 11]O(n log w)O(log w)

Modifications to the trivial algorithm  Any processor sends message (count of triggers received) to the master only after it receives B triggers.  Works in multiple rounds.  w’: deficit at beginning of a round. (initially w’ = w)   Master keeps count of the triggers reported by other processors and the triggers received by itself.  End-of-round declared when count reaches w’/2  System never enters a dead state Unreported triggers for each processor < B Count of triggers at master < w’/2  Message complexity O(n log w) log w rounds w’/2B = n messages exchanged in every round.

Main Result: LayeredRand, a decentralized randomized algorithm.  Theorem: For any trigger pattern, the message complexity of the LayeredRand algorithm is O(n log n log w). Also, there exists constants c,d > 1 such that Pr[MaxRcvLoad > c log n log w] < 1/n d

LayeredRand Algorithm  n = (2 L -1) processors arranged in L layers  l th layer has 2 l processors, l=0 to L-1  Algorithm proceeds in multiple rounds.  w’: initial value of a round (number of triggers yet to be received)  Threshold for l th layer defined as  C(x): sum of triggers received by x and some processors in layers below.

LayeredRand Algorithm (Contd.)  For non-root processor x at layer l If a trigger is received: C(x)++ ; If C(x)>= τ (l)  pick a processor y from level l-1 at random and send a coin to y.  C(x) := C(x) - τ (l); If a coin is received from level l+1: C(x) :=C(x)+ τ (l+1).  Root r  maintains C(r) just like others. If C(r) >, initiate end-of-round procedure  gets total number of triggers received in this round  broadcasts new value of w’ for next round.

Example w’ = 96 τ (1) = 4 τ (2) = End of round w’ for next round = = 43 AB C D E F G

Analysis  System does not stall in the middle of a round, when all the triggers have been delivered.  Message complexity to O(n log n log w)  MaxRcvLoad bounded to O(log n log w) with high probability

Correctness  Consider the state of the system in the middle of any round.  x: any non-root processor at layer l  Dead state thus implies C(r)>3w’/4, leading to contradiction.

Message Complexity O(n log n log w)  log w rounds  Every coin sent from layer l to l-1 means that at least τ( l ) triggers have been received at layer l in this round. #coins sent from layer l to the layer l-1 is at most w’/ τ( l )  #coins sent in a particular round  O(n) message exchanges for every end-of-round procedure.

MaxRcvLoad O(log n log w) w.h.p. Prob[MaxRcvLoad of some processor exceeds c log n log w] =48  In any given round, #coins received by layer l < w’/ τ(l+1) < 4.2 l+1.log n  Each coin sent uniformly and independently at random to one of the 2 l processors occupying layer l.  M x : r.v. denoting the number of coins received by x  E[M x ] = 8 log n log w  Prob[M x > 8a. log n log w] =6  Above result follows by applying union bound.

Concurrency w’ = 96 τ (1) = 4 τ (2) = End of Round! Σ C(x) = 53 instead of 55  We assumed that the triggers are delivered one at a time all the processing required for handling a trigger is completed before the next trigger arrives.  Relax on that assumption AB CD G F E

Handling Concurrency  Triggers and coins received during a round placed in queue and processed one at a time.  Additional features for handling end-of-round.  Default queue and Priority queue Unprocessed triggers and coins placed in default queue End-of-round messages in priority queue Default queue serviced only when priority queue empty  Counters C(x), D(x) and RoundNum D(x): triggers processed by x since the begin C(x): reset after every round

Thank You!!

Backup

End-of-round procedure  Processors arranged in a tree.  Four phases.  First Phase: root initiates RoundReset message  A processor x on receiving RoundReset suspends processing of the default queue until end of round i.e., D(x) value not modified further till new round Non-leaf processor forwards it to its children; Leaf processor initiates the second phase w’= End of Round! D(x)=2 AB CD G E F

Second Phase  Leaf processor initiates Reduce message containing its D(x) value  A processor x on receiving Reduce from its children Non-root processor adds its D(x) value to the sum and forwards it to its parent Root processor computes w’ – termination or next round w’= End of Round! D(x)=2 ΣD(x) = 55 New w’=41 AB CD G E F

Third Phase  Root broadcasts the new w’ by Inform message.  Every non-leaf processor forwards it to its children;  Leaf processors on receiving Inform message initiate the fourth phase. 1 2 End of Round! New w’=41 τ (1) = 2 AB CD G E F

Fourth Phase  Processor in this phase perform the following RoundNum incremented. signifies new round i.e., processor does not process any coin from the previous rounds. C(x) reset to zero. InformAck message sent to its parent. Processing of the default queue resumed.  System (all processors) enters next round when root receives InformAck 1 2 End of Round! w’=41 Discard this coin Next Round AB CD G E F