590 likes | 720 Views
Consensus and Collision Detectors in Wireless Ad Hoc Networks. Consensus and Collision Detectors in Wireless Ad Hoc Networks. Consensus and Collision Detectors in Wireless Ad Hoc Networks. Wireless Ad Hoc Networks. Wireless Ad Hoc Networks. Challenges: Unknown number No unique ids
E N D
Consensus and Collision Detectorsin Wireless Ad Hoc Networks
Consensus and Collision Detectorsin Wireless Ad Hoc Networks
Wireless Ad Hoc Networks • Challenges: • Unknown number • No unique ids • Fault-prone • Collision-prone communication
Wireless Ad Hoc Networks • Challenges: • Unknown number • No unique ids • Fault-prone • Collision-prone communication
How to solve problems • in wireless ad hoc networks with • unreliable communication?
How to solve consensus • in wireless ad hoc networks with • unreliable communication? • Consensus: • Fundamental agreement problem • in fault-tolerant computation
Outline • Introduction • Collision-prone Networks • Collision Detectors • Algorithms and Lower Bounds • Conclusions
Single-hop network • Synchronous rounds • Unknown number of nodes • No unique identifiers
“Ethernet” Collisions ? ? ? ? ? ? ? ? ? ?
Unfortunately… • Consensus is impossible with • non-uniform collisions.
Collision Detection ! ! ! ! !
Collision Detection ! ! ! ! ! • Receiver-centric • How many messages lost? • Who sent lost message?
Collision Detector Classes If ½ messages are lost, then report collision. If all messages are lost, then report a collision. Consensus is impossible with C
Consensus with CD V is the value domain
Consensus with CD (Always) Accurate V is the value domain
Consensus with CD Eventually Accurate V is the value domain
Eventual Collision Freedom • Eventually, if only 1 node broadcasts…
Eventual Collision Freedom • Eventually, if only 1 node broadcasts, then no collision occurs. • Use a contention manager. • Outputs “active/passive” at each node. • Implementation: randomized backoff, e.g.
Eventual Collision Freedom • Eventually, if only 1 node broadcasts*, then no collision occurs. • Use a contention manager. • Outputs “active/passive” at each node. • Implementation: exponential backoff, e.g. • If ≤ b nodes broadcast, then no collisions. • b is an unknown MAC layer constant • b could be as low as 1
Consensus with CD V is the value domain
Consensus with CD V is the value domain
Consensus with CD V is the value domain
Consensus with AC • Algorithm executes in super-rounds: • Round 1: • Active nodes vote on a value. • Round 2: • Veto round. • Anybody can veto.
Consensus with AC v2 v1 v2 Round 1
Consensus with AC v2 v1 v2 Round 1
Consensus with AC v2 {v1} v1 v2 Round 1
Consensus with AC v1 v1 v2 Round 1
Consensus with AC v1 v1 {v2} v2 Round 1
Consensus with AC v1 v1 v2 Round 1
Consensus with AC v1 v1 v2 {v2, } Round 1
Consensus with AC v1 v1 v1 v1 v2 v2 Round 1 Round 2
Consensus with AC v1 v1 veto v1 v1 veto v2 v2 • Continue… Round 1 Round 2
Consensus with AC v1 v1 v2 Round 1
Consensus with AC v1 v1 v2 Round 1
Consensus with AC v1 v1 {v1} v2 Round 1
Consensus with AC v1 v1 v2 Round 1
Consensus with AC v1 v1 v2 {v1} Round 1
Consensus with AC v1 v1 v1 Round 1
Consensus with AC v1 v1 v1 v1 v1 v1 Round 1 Round 2
Consensus with AC v1 v1 Decides at most 3 rounds after stabilization* *Stabilization: accuracy and collision-freedom v1 v1 v1 v1 Decide v1 Round 1 Round 2