- 1
- 0
- 约9.6千字
- 约 69页
- 2020-07-28 发布于湖北
- 举报
AsynchBFS 1 0 1 3 2 1 1 * 优选 AsynchBFS 1 0 4 1 3 2 1 1 * 优选 AsynchBFS 1 0 4 1 3 2 1 1 4 4 * 优选 AsynchBFS 1 0 2 1 3 2 1 4 4 * 优选 AsynchBFS 1 0 2 5 1 3 2 1 4 2 * 优选 AsynchBFS 6 1 0 2 3 1 3 2 1 1 * 优选 AsynchBFS 6 1 0 2 2 1 3 2 1 1 * 优选 AsynchBFS 2 1 0 2 2 1 3 2 1 0 * 优选 AsynchBFS 1 1 0 2 2 1 3 2 1 * 优选 AsynchBFS Complexity: Messages: O(n |E|) May send O(n) messages on each link (one for each distance estimate). Time: O(diam n (l+d)) (taking pileups into account). Can reduce complexity if know bound D on diameter: Allow only distance estimates ≤ D. Messages: O(D |E|); Time: O(diamD (l+d)) * 优选 AsynchBFS Termination: No one knows when this is done, so can’t produce parent outputs. Can augment with acks for search messages, convergecast back to i0. i0 learns when the tree has stabilized, tells everyone else. A bit tricky: Tree grows and shrinks. Some processes may participate many times, as they learn improvements. Bookkeeping needed. Complexity? * 优选 Layered BFS Asynchrony leads to many corrections, which lead to lots of communication. Idea: Slow down communication, grow the tree in synchronized phases. In phase k, incorporate all nodes at distance k from i0. i0 synchronizes between incorporating nodes at distance k and k+1. Phase 1: i0 sends search messages to neighbors. Neighbors set dist:= 1, send acks to i0. * 优选 Layered BFS Phase k+1: Assume phases 1,…,k are completed: each node at distance ≤k knows its parent, and each node at distance ≤k-1 also knows its children. i0 broadcasts newphase message along tree edges, to distance k processes. Each of these sends search message to all nbrs except its parent. When any non-i0 process receives first search message, sets parent:= sender and sends a positive ack; sends nacks for subsequent search msgs. When distance k process receives acks/nacks for all its search messages, designates nodes that sent postive acks as its children. Then distance k processes convergecast back to i0 along depth k tree to say th
原创力文档

文档评论(0)