deterministic communication in unknown networks
DESCRIPTION
Deterministic communication in unknown networks. Selectors, or selective families of sets Deterministic broadcasting in unknown networks Deterministic gossiping in unknown networks. Unknown topology: breaking symmetry. Break symmetry by random choices. Break symmetry using node labels. - PowerPoint PPT PresentationTRANSCRIPT
ACSS2006, T. Radzik 1
Deterministic communication in unknown networks
• Selectors, or selective families of sets
• Deterministic broadcasting in unknown networks
• Deterministic gossiping in unknown networks
ACSS2006, T. Radzik 2
Unknown topology: breaking symmetry
• Break symmetry by random choices.
• Break symmetry using node labels.
• “Round-Robin” approach: node with label i transmits in step i.
Expensive if we have large node labels.
• For efficient deterministic protocols use selectors.
• Break symmetry using the history of computation.
ACSS2006, T. Radzik 4
Selectors
• A set R selects x from a set Z if R ∩ Z = {x}.
• A family of sets F = {R1, R2, …, Rq} selects x from a set Z if Ri ∩ Z = {x}, for some Ri.
x
R2
Z
R3
R1
ACSS2006, T. Radzik 5
Selectors
• A set R selects x from a set Z if R ∩ Z = {x}.
• A family of sets F = {R1, R2, …, Rq} selects x from a set Z if Ri ∩ Z = {x}, for some Ri.
• Let F be a family of subsets of [N] = {1,2,…, N}.
• F is a k-selector, if it selects at least one element in each subset Z of [N] of size ≤ k.
• F is a (k,α)-selector, if it selects in each subset Z of [N] of size ≤ k at least α|Z| distinct elements.
ACSS2006, T. Radzik 6
Selectors as communication patterns
• F = <R1, R2, … , Ri, … , Rq > – a sequence of subsets of [N].
• F defines a q-step protocol:
node (label) x transmits at step i if and only if x is in Ri.
v1
v2 v3 vk
ACSS2006, T. Radzik 7
Selectors as communication patterns
• F = <R1, R2, … , Ri, … , Rq > – a sequence of subsets of [N].
• F defines a q-step protocol:
node (label) x transmits at step i if and only if x is in Ri.
• vi sends a message to v1 if and only if F selects vi from {v1, … , vk}.
v1
v2 v3 vk
: nodes selected by family F
vi
ACSS2006, T. Radzik 8
Strong selectors• (k,1)-selector is called a strong
selector: selects each element in each subset Z of [N] of size ≤ k.
• If all nodes follow a strong (k,1)-selector, then each node of degree less than k receives messages from all neighbours.
v1
v2 v3 vk
ACSS2006, T. Radzik 9
Strong selectors• (k,1)-selector is called a strong
selector: selects each element in each subset Z of [N] of size ≤ k.
• If all nodes follow a strong (k,1)-selector, then each node of degree less than k receives messages from all neighbours.
• Trivial strong selector of size N:
{ {1}, {2}, {3}, …, {N} }
Gives a “Round Robin” phase.
v1
v2 v3 vk
ACSS2006, T. Radzik 10
Strong selectors• (k,1)-selector is called a strong
selector: selects each element in each subset Z of [N] of size ≤ k.
• If all nodes follow a strong (k,1)-selector, then each node of degree less than k receives messages from all neighbours.
• There exists a strong selector of size :)log( 2 NkO
v1
v2 v3 vk
Nk ln2Consider a random family of sets F = {R1, R2, … , Rq}, q = such that each v belongs to Ri with prob. 1/k.
Prob. that there exists set Z of size ≤ k and x in Z such that F doesn’t select x from Z is < 1.
ACSS2006, T. Radzik 11
Strong selectors• (k,1)-selector is called a strong selector:
selects each element in each subset Z of [N] of size ≤ k.
• If all nodes follow a strong (k,1)-selector, then each node of degree less than k receives messages from all neighbours.
• There exists a strong selector of size
• Explicitly constructed strong selector of size [Kautz, Singleton, 1964].
• A strong selector must have size [Chaudhuri, Radhakrishnan, 1986] k < N1/3, [Clementi, Monti, Silvestri, 2001] k < N1/2.
• Strong selectors useful in deterministic gossiping protocols.
)log( 2 NkO
v1
v2 v3 vk
)log( 22 NkO
)log/log( 2 kNk
ACSS2006, T. Radzik 12
Weak selectors
• (k,1/2)-selector is called a weak selector: selects at least half of the elements from each subset Z of [N] of size ≤ k.
• If all nodes follow a weak (k,1/2)-selector, then each node of degree at most k receives messages from at least half of its neighbours.
• There exists a weak selector of size:
• A weak selector must have size [Clementi, Monti, Silvestri, 2001].
• Explicitly constructed weak selector of size [Indyk-2002]
• Weak selectors useful in deterministic broadcasting protocols.
)log( NkO
v1
v2 v3 vk
))/log(( kNk
)()})log(logpolyexp{( )1(okNONkO
ACSS2006, T. Radzik 13
Weak selectors from expanders
• G = (V, W, E) – a bipartite graph, V = [N], W = [M], deg(v) = d, for each v in V.
• G is a (k,ε)-lossless expander, if every subset Z of V of size at most k has at least (1 – ε) d |Z| neighbours.
V:
W:
ACSS2006, T. Radzik 14
Weak selectors from expanders
• G = (V, W, E) – a bipartite graph, V = [N], W = [M], deg(v) = d, for each v in V.
• G is a (k,ε)-lossless expander, if every subset Z of V of size at most k has at least (1 – ε) d |Z| neighbours.
• (k,1/4) lossless expander gives a weak (k,1/2)-selector of size M.
• Explicit construction of (k,ε)-lossless expanders with d = exp{poly log log(N)} and M = O(kd) [Capalbo, Reingold, Vadhan, Wigderson, 2002]
V:
W:
ACSS2006, T. Radzik 15
Deterministic broadcasting in unknown network [Chrobak, Gasieniec, Rytter, 2001]
• Directed network
• Iterated selector: concatenation of copies of a selector
• Protocol:
All active nodes (those who have the message) execute synchronously interleaved iterated weak (2i,1/2)-selectors, for i = 1, 2, … , log n.
(2,1/2)-selectors:
(4,1/2)-selectors: …
…
…
(2i,1/2)-selectors:…
…
ACSS2006, T. Radzik 16
Det. Broadcasting, unknown network (cont.)
v0 v1 v3v2 v4 v5 v6 v7
• Consider an arbitrary simple path (v0, v1, … , vq) from the source, and the (in)-neighbours of nodes v1, … , vq.
• Assign the nodes of the path and their neighbours to the layers. Node vi belongs to layer i. A neighbour w belongs to the highest layer i-1 so that (w,vi) is an edge.
• Show that the message M moves further from the current “front” layer in O(x log n log N) steps, x – size of front layer.
• M reaches the end of path in O(n log n log N) steps.
w
ACSS2006, T. Radzik 17
Deterministic gossiping in unknown network [Gasieniec, Radzik, Xin, 2004]
• Directed network
• O*(nΔ)-time protocol, Δ – maximum in-degree
• O*(n4/3)-time protocol
O*( ) hides a polylog(N) factor
• Could gossiping be done in unknown networks deterministically in O*(n)-time ?
• Randomized gossiping: O(n log4 n) time[Chrobak, Gasieniec, Rytter, 2001]
ACSS2006, T. Radzik 18
Trivial gossiping protocols
• Large labels, from { 1, 2, … , N}:
All nodes follow a strong n-selector n times.
steps.
• Small labels, N=O(n):
n times Round-Robin: node i transmits at step i in each round.
steps.
v
u
2n
)log()log( 32 NnONnOn
ACSS2006, T. Radzik 19
Collect and disperse
• The nodes keep collecting messages.
• Periodically the nodes which collected many new messages compete for the exclusive right to broadcast (disperse) them to all other nodes. Collecting resumes, when no node with many new messages.
• “Competing” for the right to broadcast is done by a “leader election” protocol, which is based on O(log N) applications of a broadcast protocol.
• Apply O(n log n log N) broadcast protocol.
• If each dispersing of collected messages involves at least k new (not dispersed previously) messages, then the total time for dispersing messages - (n/k) * O(n log n log2N) = O*(n2/k log2N).
• Nodes/messages change from active to dormant.
ACSS2006, T. Radzik 20
Gossiping in O*(nΔ) time
• Gossip1(n,Δ): Phase I: apply strong Δ-selector k times {messages moved along paths of length k}; Phase II: Disperse(k) {at least every k-th node of a path is dormant}.
• Gossip1(n,Δ) performs quasi-gossiping.
• Time:Phase I: n/Δ ×O(Δ2 log n) = O*(nΔ);Phase II: O(Δ) ×O(n log3 n) = O*(nΔ).
M1
Mi
M2
Mk
Before Phase I:
ACSS2006, T. Radzik 21
Gossiping in O*(nΔ) time
• Gossip1(n,Δ): Phase I: apply strong Δ-selector k times {messages moved along paths of length k}; Phase II: {at least every k-th node of a path is dormant}.
• Gossip1(n,Δ) performs quasi-gossiping.
• A dormant node: its initial messages has been delivered to all nodes (during the Disperse(k)).
M1
M1 – Mi
M1,M2
M1 – Mk
After Phase I:
ACSS2006, T. Radzik 22
Gossiping in O*(nΔ) time
• Gossip1(n,Δ): Phase I: apply strong Δ-selector k times {messages moved along paths of length k}; Phase II: Disperse(k) {at least every k-th node of a path is dormant}.
• Gossip1(n,Δ) performs quasi-gossiping.
• Time:Phase I: n/Δ ×O(Δ2 log n) = O*(nΔ);Phase II: O(Δ) ×O(n log3 n) = O*(nΔ).
M1
M1 – Mi
M1,M2
M1 – Mkdormant
After Phase II:
ACSS2006, T. Radzik 23
Gossiping in O*(nΔ) time
• Gossip1(n,Δ): Phase I: apply strong Δ-selector k times {messages moved along paths of length k}; Phase II: Disperse(k) {at least every k-th node of a path is dormant}.
• Gossip1(n,Δ) performs quasi-gossiping.
• Time:Phase I: n/Δ ×O(Δ2 log n) = O*(nΔ);Phase II: O(Δ) ×O(n log3 n) = O*(nΔ).
M1
M1 – Midormant
M1,M2
M1 – Mk
After Phase II:
ACSS2006, T. Radzik 24
Gossiping in O*(nΔ) time
• Gossip1(n,Δ): Phase I: apply strong Δ-selector k times {messages moved along paths of length k}; Phase II: Disperse(k) {at least every k-th node of a path is dormant}.
• Gossip1(n,Δ) has performed “quasi-gossiping:”
each remaining active message is in a dormant node.
M1
M1 – Midormant
M1,M2
M1 – Mk
After Phase II:
ACSS2006, T. Radzik 25
Quasi-gossiping principle
• Quasi-gossiping algorithm: on completion each active message is in a dormant node.
• Full gossiping:
A: quasi-gossiping;
B: repeat all steps from A.
M2
M4
M3
M5
M1
Before stage A:
1
5
4
3
2
ACSS2006, T. Radzik 26
Quasi-gossiping principle
• Quasi-gossiping algorithm: on completion each active message is in a dormant node.
• Full gossiping:
A: quasi-gossiping;
B: repeat all steps from A.
M2,M3,M4
M2,M3,M4,M5
M1,M2,M3,M4
M3,M4,M5
M1,M3,M4
After stage A:
1
5
4
3
2
ACSS2006, T. Radzik 27
Quasi-gossiping principle
• Quasi-gossiping algorithm: on completion each active message is in a dormant node.
• Full gossiping:
A: quasi-gossiping;
B: repeat all steps from A.
M2,M3,M4,M5
M1,M2,M3,M4
Before stage B:
1
5
4
3
2
ACSS2006, T. Radzik 28
Quasi-gossiping principle
• Quasi-gossiping algorithm: on completion each active message is in a dormant node.
• Full gossiping:
A: quasi-gossiping;
B: repeat all steps from A.
M1 – M5
After stage B:
1
5
4
3
2
M1 – M5
M1 – M5
M1 – M5
M1 – M5
ACSS2006, T. Radzik 29
Gossiping in O*(nΔ) time
• Gossip1(n,Δ): Phase I: apply strong Δ-selector k times {messages moved along paths of length k}; Phase II: Disperse(k) {at least every k-th node of a path is dormant}.
• Gossip1(n,Δ) performs quasi-gossiping.
• Number of steps, taking k = n/Δ:
Phase I: k×O*(Δ2) = O*(kΔ2) = O*(nΔ);
Phase II: O(n/k)×O*(n) = O*(n2/k) = O*(nΔ).
ACSS2006, T. Radzik 30
Reduction of in-degrees: 1st round
• After the following communication:
A: Run a weak (n,3/4)-selector,B: Disperse(n/4);
each node has less then n/2 active neighbours.
• After stage A:
ACSS2006, T. Radzik 31
Reduction of in-degrees: 1st round
• After the following communication:
A: Run a weak (n,3/4)-selector,B: Disperse(n/4);
each node has less then n/2 active neighbours.
• After stage B:
ACSS2006, T. Radzik 32
Reduction of in-degrees: next round
• Next perform the following communication:
A: Run a weak (n/2,3/4)-selector on active nodes only,B: Disperse(n/8);
and each node will have less then n/4 active neighbours.
• Before stage A:
ACSS2006, T. Radzik 33
Reduction of in-degrees: more rounds
• Perform more rounds, using weak selectors with geometrically decreasing sizes, until each node has less then k active neighbours.
• Time: All selectors: O*(n);
All disperse operations: (n/k) × O*(n) = O*(n2/ k).
• Apply next Gossip1(n,k) to complete gossiping.
• Total number of steps, taking k = n1/2 :
O*(n2/k) + O*(nk) = O*(n3/2).
ACSS2006, T. Radzik 34
Reduction of in-degrees: more rounds
• Perform more rounds, using weak selectors with geometrically decreasing sizes, until each node has less then k active neighbours.
• Time: All selectors: O*(n);
All disperse operations: (n/k) × O*(n) = O*(n2/ k).
• Apply next Gossip1(n,k) to complete gossiping.
• Total number of steps, taking k = n1/2 :
O*(n2/k) + O*(nk) = O*(n3/2).
ACSS2006, T. Radzik 35
Difficult structures:paths with many back edges
• Let each node have in-degree < k.
• Consider an active path from v to u of length k with all “back” edges.
• How much time is needed for the message from v to reach u along this path?
• If we run a strong k-selector k times, then the time is: O*(k3).
• Can we do this faster? v
u
ACSS2006, T. Radzik 36
Dealing with “blocking” paths
• < k/2 nodes need a selector stronger than (k,1/2)
(k,1/2)-selectors: …
Transmission pattern for a node x:
v
u
ACSS2006, T. Radzik 37
Dealing with “blocking” paths
• < k/2 nodes need a selector stronger than (k,1/2)
(k,1/2)-selectors: …
Transmission pattern for a node x:
v
u
ACSS2006, T. Radzik 38
Dealing with “blocking” paths
• < k/2 nodes need a selector stronger than (k,1/2)
• < k/4 nodes need a selector stronger than (k,3/4)
(k,1/2)-selectors:
(k,3/4)-selectors: …
…
Transmission pattern for a node x:
v
u
ACSS2006, T. Radzik 39
Dealing with “blocking” paths
• < k/2 nodes need a selector stronger than (k,1/2)
• < k/2i nodes need a selector stronger than (k,1-1/2i)
• Message from v reaches u in O*(k2) time.
(k,1/2)-selectors:
(k,3/4)-selectors: …
…
…
(k,1)-selectors: …
Transmission pattern for a node x:
v
u
ACSS2006, T. Radzik 40
Dealing with “blocking” paths
• < k/2 nodes need a selector stronger than (k,1/2)
• < k/2i nodes need a selector stronger than (k,1-1/2i)
• Message from v reaches u in O*(k2) time.
• k-path-selector: the O*(k2)-long prefix of the above pattern.
(k,1/2)-selectors:
(k,3/4)-selectors: …
…
…
(k,1)-selectors: …
Transmission pattern for a node x:
v
u
ACSS2006, T. Radzik 41
Gossiping in O*(n4/3)-time
• Phase I: reduce the active neighbourhood of each node to less then k using weak selectors.
• Phase II: reduce the active neighbourhood of each active path to less than k using path selectors.
• At the end of Phase II, quasi-gossiping is completed.
• Time: Phase I: (n/k) × O*(n) = O*(n2/k)
Phase II: log k × O*(k2) + O*(n2/k)
• If k = n2/3, then the total time is O*(n4/3).
ACSS2006, T. Radzik 42
Further work
• Can the O*(n4/3) upper bound on gossiping in directed ad-hoc radio networks be improved?We believe an O*(n) bound will be eventually shown. Some “clustering” (using information about the local structure of the network which the nodes have already learned) seems needed to achieve such a bound.
• Apply selective families taking into account some partial (local) knowledge of the network.
• There are other communication problems (e.g., the wake-up problem) and other variants of the model (e.g., nodes know their neighbours).
ACSS2006, T. Radzik 43
Wake-up problem
• Generalization of broadcasting.
• Nodes may “wake-up” spontaneously, at different times.
• When a node wakes up, it tries to wake-up its neighbours.
• Design a wake-up protocol: at the completion, all nodes must be active.
• The broadcasting problem is a special case of the wake-up problem: only one node (the source) wakes-up spontaneously.
wakes up at 0
wakes up at 7
wakes up at 3
wakes up at 3
ACSS2006, T. Radzik 44
Deterministic Wake-up protocols
• The Wake-up problem needs “shifting” selectors.
• There exists a shifting weak (k,1/2)-selector of size O(k polylog N).
• This implies existence of a deterministic wake-up protocol of length O(n polylog N).
• Can a shifting weak (k,1/2)-selector of size O(k N o(1)) be constructed in polynomial time?
• This would give and explicit wake-up protocol of length O(nN o(1)).