Impromptu Updating of MST and ST in a Distributed Dynamic Graph - - PowerPoint PPT Presentation

impromptu updating of mst and st in a distributed dynamic
SMART_READER_LITE
LIVE PREVIEW

Impromptu Updating of MST and ST in a Distributed Dynamic Graph - - PowerPoint PPT Presentation

Impromptu Updating of MST and ST in a Distributed Dynamic Graph Valerie King, University of Victoria Joint work with Ben Mountjoy, Mikkel Thorup and Shay Kutten 1 Network with n nodes, m edges Each node has list of incident edges and edge


slide-1
SLIDE 1

1

Impromptu Updating of MST and ST in a Distributed Dynamic Graph

Valerie King, University of Victoria Joint work with Ben Mountjoy, Mikkel Thorup and Shay Kutten

slide-2
SLIDE 2

Network with n nodes, m edges Each node has list of incident edges and edge weights. Nodes have distinct IDs

G F C D E A

slide-3
SLIDE 3

A network maintains a subgraph if its edges are marked by their endpoints

G F C D E A

slide-4
SLIDE 4

Communication: Each node may send messages of size O(log n ) to all its neighbors in a single step. Synchronous vs. Asynchronous

F C D E A

slide-5
SLIDE 5

UPDATES: Insert ({A,D}, edge_weight)

F D E A 2

slide-6
SLIDE 6

Delete edge {E,F}

A F D E

slide-7
SLIDE 7

MST (resp. ST) Problem: Maintain a minimum spanning forest (resp., spanning forest) in a dynamic network

G F C D E A

slide-8
SLIDE 8

Main difficulty: How to find a replacement edge when a tree edge is deleted

G F C D E A

slide-9
SLIDE 9

Our contribution: A New Tool for finding, impromptu, a replacement edge w.h.p. for MST: an edge of min cost leaving a tree in a graph for ST: any edge leaving a tree in a graph

slide-10
SLIDE 10

Costs: MST / ST

Message complexity O(n log n) , O(n) (expected) Preprocessing Time NONE Update Time: O(diam(tree)*log n) , O(diam(tree)) expected. Local memory needed NONE between updates

slide-11
SLIDE 11

previous distributed dynamic MST:

Awerbuch, Cidon, Kutten:1990, 2008

O(n) messages--First dynamic updating in o(m) messages per update. But local memory= O(n* degree of node*logn) Stores the forest in each node ;

slide-12
SLIDE 12

Static MST/ST thought to require m messages!

Gallagher, Humblet and Spira(1983) O(m+ n log n) messages for building one from scratch (asynchronously) Our method yields O(n log2 n) messages for constructing an MST in the synchronous model. NOT KNOWN if m can be avoided for the asynchronous model.

slide-13
SLIDE 13

Talk outline:

  • 1. KEY IDEA
  • 2. The Odd hash function
  • 3. Updating MST
  • 4. Static MST
  • 5. Updating ST
  • 6. OPEN problems for distributed and

sequential dynamic graphs.

slide-14
SLIDE 14

KEY IDEA:

› C a maximally connected component of a graph.

àthe sum of the degrees of the nodes in C is even, since every edge incident to a node in C contributes 2.

› If C is not maximally connected,

à the sum of degrees of the nodes in C of a random subset of edges is odd with prob 1/2.

slide-15
SLIDE 15

basic communication step: broadcast and return

J H G F C D E A

slide-16
SLIDE 16

How do we randomly sample and report results efficiently?

J H G F C D E A

slide-17
SLIDE 17

Odd hash function F

For any set S, we design hash F:{weights}à{0,1} s.t. there is a constant probability (1/36) that an ODD number of its elements hash to 1, iff S is non empty. Else it is 0.

Recall: Goal is to find (min weight) edge with only

  • ne endpoint in the tree
slide-18
SLIDE 18

Applying the Odd hash function F

Let E’={edges incident to nodes in tree Tx } XOR F(e) (over all e is incident to a node in Tx =XOR F(e) (over all e with one endpoint in Tx) =1 with prob. 1/36 unless the cut is empty.

slide-19
SLIDE 19

Using the ODD Hash function: TEST if there is a Replacement edge

› When a tree edge {X,Y} is deleted, if X<Y › X becomes leader, broadcasts Odd hash F to

  • ther nodes in tree Tx.

› Each node applies F to their set of incident

edges and computes the XOR;

› XOR is taken over all nodes in Tx › Repeat in parallel O(log n) times to get prob

error 1/nc

› Output 1 iff any one XOR =1

slide-20
SLIDE 20

Find min wt replacement edge

(assuming distinct wts)

› Use binary search over the range of

possible weights, testing w.h.p each time if there is a replacemt edge in that wt range and narrowing the range.

› Return weight when only one is left.

slide-21
SLIDE 21

Analysis

› lg (Weight range) tests* cost of test › Cost of test = initial cost of sending

log n hash functions, + + 1 broadcast and return for each phase of the binary search

› Total =O(n log2 n) messages

slide-22
SLIDE 22

Constructing the Odd hash function

› Let U be the universe of elements. › S a subset of U. › F(x)à {0,1} › We want:

XOR{y in S} F(y) =1

iff S is non empty

slide-23
SLIDE 23

Odd hash function F

Obvious approach takes O(log n) hashes F has two parts,

› a 2-wise independent hash function

h: U à U

› t, a random element of U

DEF: F(s)=1 iff h(s) < t Note: F can be described in O(log n) bits.

slide-24
SLIDE 24

Why F is an Odd hash function

› h hashes UàU › Imagine 2|S| equal sized intervals.

Exactly one x in I, in middle third T lands in some I, in top third or bottom third

slide-25
SLIDE 25

CASE: F works if

Parity of elements hashed to intervals left of I is

› Odd and t is in bottom third or › Even and t is in top third

Exactly one x in I, x is in middle third T lands in some I, and either top third or bottom third of I

slide-26
SLIDE 26

Static synchronous MST alg

› While I < log n › Repeat: › Each component finds min wt edge incident

to it, sends messgage to other endpoint,and waits n time steps. Then the found edges are inserted to form larger components.

Log n phases, each takes log n broadcasts and returns, for a total of O(n log2 n) expected message communication.

slide-27
SLIDE 27

Find any edge in expected O(1) broadcasts and returns

STEP 1: (IF step) Determine if there is a replacement edge w.h.p.

› Use deterministic amplification to send out

O(log n) bits which can be used by individual nodes to deterministically generate log n Odd Hash functions s.t one is good w.h.p.

› Return log n outputs using ONE return

slide-28
SLIDE 28

STEP 2: (find) If there is a replacement edge, find it

› Broadcast a single 2-wise independent hash

function h

› For i=0,…, 2lg n, every node x computes one

word whose ith bit = XORy incindent to x h(y) ≤ 2i

› If XOR over tree ≠ 0, min ß first i ≠0 › Test if there is exactly one edge with

h(y) ≤ 2min. If so, return it.

› Else Repeat find.

slide-29
SLIDE 29

Open problem and discussion

› Can we avoid the O(m) communication costs

  • f Gallagher for the asynchronous static

model?

› Why this method is more complicated for

sequential dynamic graph problem

› How the sequential dynamic graph method

is not fully understood

slide-30
SLIDE 30

Open problems for Sequential dynamic ST

› How to apply it to MST › How to bring it down to O(log3 n)? › Can we remove the tiers?