For more up-to-date notes see http://www.cs.yale.edu/homes/aspnes/classes/465/notes.pdf.

The convergecast algorithm is the inverse of a broadcast in a message-passing system (see Flooding)—instead of a message propagating down from a single root to all nodes, data is collected from outlying nodes through a direct spanning tree to the root. Typically some function is applied to the incoming data at each node to summarize it, with the goal being that eventually the root obtains this function of all the data in the entire system. (Examples would be counting all the nodes or taking an average of input values at all the nodes.)

The basic convergecast algorithm looks like this:

The details of what is being computed depend on the choice of f:

Running time is bounded by the depth of the tree: we can prove by induction that any node at height h (height is length of the longest path from this node to some leaf) sends a message by time h at the latest. Message complexity is exactly n-1, where n is the number of nodes; this is easily shown by observing that each node except the root sends exactly one message.


CategoryDistributedComputingNotes

ConvergeCast (last edited 2011-12-02 18:58:15 by JamesAspnes)