Title: Consensus and Collision Detectors in Wireless Ad Hoc Networks
1Consensus and Collision Detectors in Wireless
Ad Hoc Networks
2Consensus and Collision Detectors in Wireless
Ad Hoc Networks
3Consensus and Collision Detectors in Wireless
Ad Hoc Networks
4Wireless Ad Hoc Networks
5Wireless Ad Hoc Networks
- Challenges
- Unknown number
- No unique ids
- Fault-prone
- Collision-prone communication
6Wireless Ad Hoc Networks
- Challenges
- Unknown number
- No unique ids
- Fault-prone
- Collision-prone communication
7-
- How to solve problems
- in wireless ad hoc networks with
- unreliable communication?
8-
- How to solve consensus
- in wireless ad hoc networks with
- unreliable communication?
-
- Consensus
- Fundamental agreement problem
- in fault-tolerant computation
9Outline
- Introduction
- Collision-prone Networks
- Collision Detectors
- Algorithms and Lower Bounds
- Conclusions
10(No Transcript)
11-
- Single-hop network
- Synchronous rounds
- Unknown number of nodes
- No unique identifiers
12Single Broadcast
13Single Broadcast
14(No Transcript)
15Ethernet Collisions
16Ethernet Collisions
?
?
?
?
?
?
?
?
?
?
17More Realistic Collisions
18More Realistic Collisions
?
?
19Unfortunately
-
- Consensus is impossible with
- non-uniform collisions.
20Collision Detection
21Collision Detection
!
!
!
!
!
22Collision Detection
!
!
!
!
!
- Receiver-centric
- How many messages lost?
- Who sent lost message?
23Agreement with Collision Detectors
- Collision detectors provide hints about possibly
incomplete information - Know when it is not safe to decide
- When is it safe to decide?
- Acks Hear the same value from everybody
- Nacks Veto the decision if might lead to safety
violation - Question Acks or Nacks?
24Acks vs. Nacks
- Acks
- Everyone communicates
- Too much contention
- Nacks
- Only communicate if problem detected
- Less contention
- Nacks allow for adaptive algorithms
25Collision Detector Classes
If ?½ messages are lost, then report collision.
If all messages are lost, then report a collision.
Consensus is impossible with ?C
26Consensus with CD
V is the value domain
27Consensus with CD
(Always) Accurate
V is the value domain
28Consensus with CD
Eventually Accurate
V is the value domain
29Eventual Collision Freedom
- Eventually, if only 1 node broadcasts
30Eventual 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.
31Eventual 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
32Consensus with CD
V is the value domain
33Consensus with CD
V is the value domain
34Consensus with CD
V is the value domain
35Consensus with ?AC
- Algorithm executes in super-rounds
- Round 1
- Active nodes vote on a value.
- Round 2
- Veto round.
- Anybody can veto.
36Consensus with ?AC
v2
v1
v2
Round 1
37Consensus with ?AC
v2
v1
v2
Round 1
38Consensus with ?AC
v2
v1
v1
v2
Round 1
39Consensus with ?AC
v1
v1
v2
Round 1
40Consensus with ?AC
v1
v1
v2
v2
Round 1
41Consensus with ?AC
v1
v1
v2
Round 1
42Consensus with ?AC
v1
v1
v2
v2, ?
Round 1
43Consensus with ?AC
v1
v1
v1
v1
v2
v2
Round 1
Round 2
44Consensus with ?AC
v1
v1
veto
v1
v1
veto
v2
v2
Round 1
Round 2
45Consensus with ?AC
v1
v1
v2
Round 1
46Consensus with ?AC
v1
v1
v2
Round 1
47Consensus with ?AC
v1
v1
v1
v2
Round 1
48Consensus with ?AC
v1
v1
v2
Round 1
49Consensus with ?AC
v1
v1
v2
v1, ?
(false positive)
Round 1
50Consensus with ?AC
v1
v1
v1
v1
v2
v2
Round 1
Round 2
51Consensus with ?AC
v1
v1
veto
v1
v1
veto
v2
v2
Round 1
Round 2
52Consensus with ?AC
v1
v1
v2
Round 1
53Consensus with ?AC
v1
v1
v2
Round 1
54Consensus with ?AC
v1
v1
v1
v2
Round 1
55Consensus with ?AC
v1
v1
v2
Round 1
56Consensus with ?AC
v1
v1
v2
v1
Round 1
57Consensus with ?AC
v1
v1
v1
Round 1
58Consensus with ?AC
v1
v1
v1
v1
v1
v1
Round 1
Round 2
59Consensus with ?AC
v1
v1
Decides at most 3 rounds after stabilization S
tabilization accuracy and collision-freedom
v1
v1
v1
v1
Decide v1
Round 1
Round 2
60Consensus with CD
V is the value domain
61Consensus with CD
V is the value domain
62Consensus with ½-AC
If gt½ messages are lost, then report collision
- ½-complete, accurate collision detector
2r broadcast schedules for the first r rounds V
possible values For k lt log(V), at most V/2
broadcast schedules to follow ? Exists two values
resulting in the same broadcast schedule of
length k
v1
v2
63 Maj-?AC Consensus Simulations
64Global Agreement
- Local consensus as a building block
65Global Agreement
- Local consensus as a building block
- Solve locally
66Global Agreement
- Local consensus as a building block
- Solve locally
67Global Agreement
- Local consensus as a building block
- Solve locally
- Propagate outcome
68Global Agreement
- Local consensus as a building block
- Solve locally
- Propagate outcome
- Decide when heard from all cells
69Simulations of Global Agreement
Fixed Diameter 5 hops
70Simulations of Global Agreement
4 hops
10 hops
Fixed Density 0.02667 nodes/m2
71Conclusions
- Realistic framework for wireless networks
- Non-uniform collision patterns
- Eventual collision freedom
- Contention manager
- Collision detection
72Conclusions
(Always) Accurate is hard to implement
??
0-complete is easy to implement
V is the value domain
73Questions?
V is the value domain