450 likes | 596 Views
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.
E N D
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. • “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.
Selectors • Set R selects x from a set Z if R ∩ Z = {x}. Z R x
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. R1 R2 x Z R3
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.
Selectors as communication patterns • F = <R1, R2, … , Ri, … , Rq > – a sequence of subsets of [N]. • F definesa q-stepprotocol: node (label) x transmits at step i if and only if x is in Ri. v1 v3 vk v2
Selectors as communication patterns • F = <R1, R2, … , Ri, … , Rq > – a sequence of subsets of [N]. • F definesa q-stepprotocol: 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 vi v3 vk v2 : nodes selected by family F
Strong selectors v1 • (k,1)-selectoris 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. v3 v2 vk
Strong selectors v1 • (k,1)-selectoris 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. v3 v2 vk
Strong selectors v1 • (k,1)-selectoris 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 v3 v2 vk Consider 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.
Strong selectors v1 • (k,1)-selectoris 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. v3 v2 vk
v1 vk v3 v2 Weak selectors • (k,1/2)-selectoris 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.
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:
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:
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, … , logn. … (2,1/2)-selectors: … (4,1/2)-selectors: … … (2i,1/2)-selectors: …
Det. Broadcasting, unknown network (cont.) • 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(nlognlogN) steps. w v0 v1 v2 v3 v4 v5 v6 v7
Deterministic gossiping in unknown network[Gasieniec, Radzik, Xin, 2004] • Directed network • O*(nΔ)-time protocol, Δ – maximum in-degree • O*(n4/3)-timeprotocol 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]
u v 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.
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 logn log2N) = O*(n2/k log2N). • Nodes/messages change from active to dormant.
Mk Mi M2 M1 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(Δ2log n) = O*(nΔ); Phase II: O(Δ)×O(n log3 n)= O*(nΔ). Before Phase I:
M1 – Mk M1 – Mi M1,M2 M1 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)). After Phase I:
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(Δ2log n) = O*(nΔ); Phase II: O(Δ)×O(n log3n)= O*(nΔ). After Phase II: M1 – Mk dormant M1 – Mi M1,M2 M1
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(Δ2log n) = O*(nΔ); Phase II: O(Δ)×O(n log3 n)= O*(nΔ). After Phase II: M1 – Mk M1 – Mi dormant M1,M2 M1
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. After Phase II: M1 – Mk M1 – Mi dormant M1,M2 M1
1 5 4 3 2 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. Before stage A: M2 M1 M3 M4 M5
1 5 2 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. After stage A: M2,M3,M4 M1,M3,M4 M1,M2,M3,M4 3 M2,M3,M4,M5 4 M3,M4,M5
1 5 2 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. Before stage B: M1,M2,M3,M4 3 M2,M3,M4,M5 4
1 5 4 3 2 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. After stage B: M1 – M5 M1 – M5 M1 – M5 M1 – M5 M1 – M5
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Δ).
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:
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:
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:
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).
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).
u v 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 alongthis path? • If we run a strong k-selector k times, then the time is: O*(k3). • Can we do this faster?
u v Dealing with “blocking” paths Transmission pattern for a node x: • < k/2 nodes need a selector stronger than (k,1/2) … (k,1/2)-selectors:
u v Dealing with “blocking” paths Transmission pattern for a node x: • < k/2 nodes need a selector stronger than (k,1/2) … (k,1/2)-selectors:
Dealing with “blocking” paths Transmission pattern for a node x: • < k/2 nodes need a selector stronger than (k,1/2) • < k/4 nodes need a selector stronger than (k,3/4) u … (k,1/2)-selectors: … (k,3/4)-selectors: v
… (k,1/2)-selectors: u … (k,3/4)-selectors: … … (k,1)-selectors: v Dealing with “blocking” paths Transmission pattern for a node x: • < 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: u … (k,3/4)-selectors: … … (k,1)-selectors: v Dealing with “blocking” paths Transmission pattern for a node x: • < 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.
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).
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).
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 7 wakes up at 0 wakes up at 3 wakes up at 3
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)).
Nodes know their neighbours source • Broadcasting in depth 2 undirected networks. • Lower bound Ω(n1/2) [BGV-2004]. • Upper bound O*(n2/3)[KP-2002] • Selective families together with “clustering” and “local gossiping” might lead to an O*(n1/2)upper bound.