330 likes | 423 Views
Communication Algorithms for Ad-hoc Radio Networks. Tomasz Radzik Kings Collage London. Radio Networks. If a node v transmits, then the signal from v goes to all nodes within the range of v.
E N D
Communication Algorithms for Ad-hoc Radio Networks Tomasz Radzik Kings Collage London
Radio Networks • If a node v transmits, then the signal from v goes to all nodes within the range of v. • If u listens, then it receives transmission from v if and only if v is the only transmitting node which has u in its range. • If u is in the range of more than one transmitting node: collision, no data received (no collision detection). • Unknown topology. z v x y u
Radio Networks • If a node v transmits, then the signal from v goes to all nodes within the range of v. • If u listens, then it receives transmission from v if and only if v is the only transmitting node which has u in its range. • If u is in the range of more than one transmitting node: collision, no data received (no collision detection). • Unknown topology. v u a b
Radio Networks • If a node v transmits, then the signal from v goes to all nodes within the range of v. • If u listens, then it receives transmission from v if and only if v is the only transmitting node which has u in its range. • If u is in the range of more than one transmitting node: collision, no data received. • Unknown topology. v u a b
Broadcasting • Initially, a source node has a message M. M source
Broadcasting M • Initially, a source node has a message M. • We want to distribute message M to all nodes in the network. M M M M source M M M M M M M M M
M2 M1 M3 M4 M5 Mj Mi Mn Gossiping • Initially, each node i has its own message Mi.
Gossiping M1,…, Mn • Initially, each node i has its own message Mi. • We want to distribute all these messages to all nodes in the network. M1,…, Mn M1,…, Mn M1,…, Mn M1,…, Mn M1,…, Mn M1,…, Mn M1,…, Mn
Radio Networks – different variants • Directed or undirected network • Known network, unknown network, or partially known network (for example, each node knows its neighbours) • No node labels (anonymous nodes), small node labels – from { 1, 2, …, O(n) }, or large node labels – from { 1, 2, …, O(N) } where N is an independent parameter. • Randomized or deterministic protocol • Bounded or unbounded messages • Collision detection or no collision detection
Topics • Randomized broadcasting in unknown networks and deterministic broadcasting in known networks • Deterministic communication in unknown networks • Selectors or selective families of sets • Deterministic broadcasting in unknown networks • Deterministic gossiping in unknown networks.
Broadcasting Radius-2 networks Randomized O(log2n) protocol – unknown net. Deterministic O(log2n) protocol – known net. Ω(log2n) lower bound General networks Randomized O(D log(n/D) + log2n) protocol (optimal) unknown network O(D + log3n) deterministic and O(D + log2n) randomized protocols – known networks
Broadcasting in radius-2 networks source L1: L2: • First round: the source sends the message to • all nodes in L1 • Subsequent rounds: nodes from L1 try to send • the message to the nodes in L2.
Randomized O(log2n) protocol • Repeatclogntimes following phase fori = 1to logn do each w in L1 transmits with prob. 2-i • For a v in L2 with degree 2i-1 ≤ d(v) < 2i: P(v gets M in phase r) ≥P(v gets M in iter. i of phase r ) = d(v)2-i(1 – 2-i)d(v)-1 ≥ 1/8 • P(v doesn’t get M in clogn phases) ≤ 1/n2 • P(all v in L2 get M in clogn phases) ≥ 1-1/n
Deterministic O(log2n) protocol[Chlamtac, Weinstein, 1987] • Known network • De-randomize by conditional expectations • Consider the first phase, iteration i • X – { v in L2: 2i-1 ≤ d(v ) < 2i } • Y – nodes in X which get M in this iteration • In randomized algorithm: E|Y| = ∑ { P(v gets M): v in X } ≥ 1/8 |X| • In deterministic algorithm: select nodes from L1 for transmission such that |Y| ≥ E|Y| ≥ 1/8 |X|
Deterministic O(log2n) protocol (cont.) • At the end of phase 1, the number of nodes in L2 without M is at most (7/8) |L2|. • Generally, each phase reduces the number of nodes in L2 without M at least by factor 7/8, so after O(logn) phases all nodes in L2 have M. • Deciding nodes for transmission in iter. i : Π = { } // decisions made so far calculate E(|Y|) = E(|Y| | Π) for each w in L1 do if E(|Y| | Π and w transmits) ≥ E(|Y| | Π) thenΠ ← Π U { “w transmits” } elseΠ ← Π U { “w doesn’t transmit” } // E(|Y| | Π) ≥ E(|Y|)
X: v w1 w2 w3 X: X: Deterministic O(log2n) protocol (cont.) Calculate E(|Y| | decisions made so far) • E(|Y|) = ∑ { d(v) 2-i (1 – 2-i)d(v)-1 : v in X } • E(|Y| | w1, w2, w3 decided) = ∑ { P(v gets M) : blue v in X } + ∑ { P(v gets M) : green v in X }
L1: L2: Ω(log2n) lower bound[Alon, Bar-Noy, Linial, Peleg, 1991] • L1 = { 1,2, … , n } • Network: H = {S1, S2, .. , Sm}, Si - subset of L1 • Protocol: F = {R1, R2, .. , Rt}, Ri - subset of L1 • Fix a protocol F of length t = εlog2n and consider a random network H • Show: Prob( F is good for H ) < exp{ - nlog2n } • There are ≤ exp{ nlog2n } different protocols, so some fixed network H has no length t protocol.
Ω(log2n) lower bound (cont.) • H = UHq, where for q = 1, 2, … , logn, Hq = { S1, S2, … , Sm} – random network such that for each 1 ≤ i ≤ n and 1 ≤ k ≤ m = n7, Prob( i in Sk ) = 2-q, independently • Sk – random subset of {1, … , n} of size ≈ n/2-q • For a set R in protocol F, • if |R| ≈ 2q,|R ∩ Sk| = 1 with constant prob. • if |R| << 2q,|R ∩ Sk| = 0 with high prob. • if |R| >> 2q,|R ∩ Sk| ≥ 2 with high prob. • F needs Ω(logn) sets of size ≈ 2q, for each q. Or otherwise for some q, F is bad for Hq w.h.p.
Ω(log2n) lower bound (cont.) • Combinatoria lemma: For each family F of εlog2n subsets of {1,…,n}, there is an index q*, (1/4) logn ≤ q* ≤ (1/2) logn, such that F = { A1, A2, … , Ax, B1, B2, … , By }, where (i) |U Ai| ≤ 2q* logn (ii) |Bj \ (U Ai)| ≥ 2q* (iii) ∑ 2q*/ |Bj \ (U Ai)| ≤ logn • F is not good for Hq*: for each set S in Hq*, Prob( |S ∩ R| ≠ 1 for all R in F ) ≥ 1/n5 • Prob(F is good for Hq*) ≤ (1-1/n5)↑n7 ≤ exp{-n2}
Ω(log2n) lower bound (cont.) • F – an arbitrary protocol of length εlog2n. • q* and F = { A1, A2, … , Ax, B1, B2, … , By }, as in the lemma, and A = UAi. • S – a randon set in Hq*. • Prob( |S ∩ Ai| = 0, for all Ai ) ≥ (1 – 1/2q* )|A| ≥ 1/n2 (use (i)) • Prob( |S ∩ (Bi \ A)| ≥ 2 ), putting b = |Bi \ A| ≥ 1 – (1 – 1/2q*)b – (b/2q*)(1 – 1/2q*)b ≥ 1 – 0.9 ∙ 2q*/ b (use (ii)) • Prob( |S ∩ (Bi \ A)| ≥ 2, for all Bi ) ≥ Π(1 – 0.9 ∙ 2q*/ |Bi \ A|) ≥ 1/n3 (use (iii))
Ω(log2n) lower bound (cont.) • Prob( |S ∩ R| ≠ 1, for each set R in F ) ≥ Prob( |S ∩ Ai| = 0, for all Ai and |S ∩ (Bi \ A)| ≥ 2, for all Bi ) = Prob( |S ∩ Ai| = 0, for all Ai ) ∙ Prob( |S ∩ (Bi \ A)| ≥ 2, for all Bi ) ≥ (1/n2) ∙ (1/n3) = 1/n5. • Prob( for each S in H, exists R in F: |S ∩ R| = 1) ≤ (1 – 1/n5)↑n7 ≤ exp{ – n2 } • There are ≤ exp{ nlog2n } different protocols of length εlog2n. • Hence there is a radius-2 network H with n8 nodes without a protocol of length εlog2n.
v source Broadcasting in general network • Network with diameter D • O(Dlog2n) protocol • O(Dlogn + log2n) protocol [Bar-Yehuda, Goldreich, Itai, 1992]: Processors with M repeat (synchronized) phases: fori = 1to log n do transmits with prob. 2-i • With constant probability, in one phase, message M is send to the next node. • Large D: expected D phases → O(D) phases w.h.p.
Shortest path: v source Unknown undirected network, randomized alg. • Ω(Dlog(n/D) + log2n) lower bound [Kushilevitz, Mansour, 1998] • O(Dlog(n/D) + log2n) algorithm [Czumaj, Rytter, 2003] • Average node degree: O(n/D). • If each node degree is O(n/D), then the transmission probabilities < D/n not needed, so only log(n/D) iterations in one phase. • General case: keep steps with transmission probabilities < D/n, but make them less frequent.
3 1 1 2 1 1 3 1 1 2 1 2 1 1 2 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 Known undirected network, deterministic alg.[Gasieniec, Peleg, Xin, 2005] 3 ( ≤ logn ) source • BFS tree: 1 • Rank the nodes from the leaves: increase the rank of the parent, if two children have same max rank.
3 1 1 2 1 1 3 1 1 2 1 2 1 1 2 1 1 2 1 1 2 1 1 1 1 1 1 1 1 1 1 Deterministic algorithm (cont.) 3 source no cross edge r r r r 1 simultaneous transmissions possible • Can find a BFS tree so that no two egdes (r,r) between layers i and i+1 have a cross edge.
3 1 1 2 1 1 3 1 1 2 1 2 1 1 2 1 1 1 1 1 1 1 1 1 Deterministic algorithm (cont.) 3 source no cross edge r r r r 1 simultaneous transmissions possible 2 1 1 2 1 1 1 • Can find a BFS tree so that no two egdes (r,r) between layers i and i+1 have a cross edge.
1 1 1 1 1 1 1 Deterministic algorithm (cont.) 3 source 3 1 1 2 2 no cross edge r r 1 3 1 1 2 2 r r 2 1 1 2 1 1 2 simultaneous transmissions possible 2 1 1 2 1 1 1 • Can find a BFS tree so that no two egdes (r,r) between layers i and i+1 have a cross edge.
… 1 1 2 2 2 3 3 … 1 1 1 2 2 2 3 Pipelining rmax … 1 2 1 1 2 2 2 3 • A node at layer i with rank q transmits at step i + q + krmax , for k = 0, 1, 2, …
… 1 1 2 2 2 3 3 … 1 1 1 2 2 2 3 Pipelining rmax … 1 2 1 1 2 2 2 3 • A node at layer i with rank q transmits at step i + q + krmax , for k = 0, 1, 2, …
… 1 1 2 2 2 3 3 … 1 1 1 2 2 2 3 Pipelining rmax … 1 2 1 1 2 2 2 3 • A node at layer i with rank q transmits at step i + q + krmax , for k = 0, 1, 2, …
… 1 1 1 2 2 2 3 1 1 1 Pipelining rmax … 1 1 2 2 2 3 3 4 4 … 2 2 2 2 3 1 1 1 • A node at layer i with rank q transmits at step i + q + krmax , for k = 0, 1, 2, …
Deterministic algorithm (cont.) source r r • Separate transmissions from consecutive layers, so that only one in every three consecutive layers transmits. • If M is at the first node of the same-rank length d path at step t, then M is send to the end of this path in O(logn) + d steps. • How can we pass messages between node of different ranks? • For each pair of consecutive layers, repeatedly run the protocol for radius-2 networks. Interleave this with the pipeline. r r’ r’ r’ r’ r” r” r” r” v r”
Deterministic algorithm (cont.) source r r • Number of steps required: fast (green) transmissions: D + O(logn) ∙ O(logn) slow (red) transmissions: O(log n) ∙ O(log2n), if deterministic alg. O(log2n) w.h.p, if randomized alg. • Total running time: D + O(log3n), deterministic alg. D + O(log2n), randomized alg. r r’ r’ r’ r’ r” r” r” r” v r”