Theory for Sensor Networks …what is it good for?!

Download Report

Transcript Theory for Sensor Networks …what is it good for?!

Time-Optimal
Information Exchange
on Multiple Channels
Stephan Holzer
Yvonne Anne Pignolet
Jasmin Smula
Roger Wattenhofer
ETH Zurich – Distributed Computing Group
– www.disco.ethz.ch
Stephan Holzer
1
Time-Optimal Information
Exchange on Multiple Channels
Problem:
n:= # nodes
ETH Zurich – Distributed Computing Group
Stephan Holzer
2
Time-Optimal Information
Exchange on Multiple Channels
Problem:
n:= # nodes
k:= # information
Have information
?
Disseminate to all!
ETH Zurich – Distributed Computing Group
Stephan Holzer
3
Time-Optimal Information
Exchange on Multiple Channels
Problem:
?
Disseminate to all!
ETH Zurich – Distributed Computing Group
Stephan Holzer
4
Time-Optimal Information
Exchange on Multiple Channels
Problem:
?
Disseminate to all!
Easy: O(n)
Faster?
ETH Zurich – Distributed Computing Group
Stephan Holzer
5
Time-Optimal Information
Exchange on Multiple Channels
n:= # nodes
Problem:
1
5
2
Unique IDs 1…n
3
4
n
ETH Zurich – Distributed Computing Group
Stephan Holzer
6
Time-Optimal Information
Exchange on Multiple Channels
I can:
send / receive
reach each node
ETH Zurich – Distributed Computing Group
Stephan Holzer
7
Time-Optimal Information
Exchange on Multiple Channels
I can:
send / receive
reach each node
ETH Zurich – Distributed Computing Group
Stephan Holzer
8
Time-Optimal Information
Exchange on Multiple Channels
I can:
send / receive
reach each node
no collision detection
ETH Zurich – Distributed Computing Group
Stephan Holzer
9
Time-Optimal Information
Exchange on Multiple Channels
I can:
send / receive
reach each node
no collision detection
switch channels
ETH Zurich – Distributed Computing Group
101 Mhz
117 Mhz
132 Mhz
…
synchronus
Stephan Holzer
10
Time-Optimal Information
Exchange on Multiple Channels
I can:
complexity
computation: free
radio:
time 1
send / receive
reach each node
no collision detection
switch channels
synchronus
ETH Zurich – Distributed Computing Group
Stephan Holzer
11
Time-Optimal Information
Exchange on Multiple Channels
n:= # nodes
k:= # information
One Information / log n
bits per message
O(1)
=> Ω( k
ETH Zurich – Distributed Computing Group
)
Stephan Holzer
12
Time-Optimal Information
Exchange on Multiple Channels
n:= # nodes
k:= # information
𝜣(𝒌)
Multi channel
?
=> Ω( k + log n)
one channel
[Kushilevitz, Mansour SIAM JComp 1998]
ETH Zurich – Distributed Computing Group
Stephan Holzer
13
Time-Optimal Information
Exchange on Multiple Channels
n:= # nodes
k:= # information
What can I do?
TREE
ETH Zurich – Distributed Computing Group
Stephan Holzer
14
Time-Optimal Information
Exchange on Multiple Channels
n:= # nodes
k:= # information
Communicate in parallel
on different channels
1
TREE
2
4
8
5
9
10
3
7
6
11
12
13
14
15
16
ETH Zurich – Distributed Computing Group
Stephan Holzer
15
Time-Optimal Information
Exchange on Multiple Channels
n:= # nodes
k:= # information
Communicate in parallel
on different channels
2
TREE
4
8
ETH Zurich – Distributed Computing Group
9
Stephan Holzer
16
Time-Optimal Information
Exchange on Multiple Channels
n:= # nodes
k:= # information
TREE
ETH Zurich – Distributed Computing Group
Stephan Holzer
17
Time-Optimal Information
Exchange on Multiple Channels
n:= # nodes
k:= # information
TREE
ETH Zurich – Distributed Computing Group
Stephan Holzer
18
Time-Optimal Information
Exchange on Multiple Channels
n:= # nodes
k:= # information
TREE
ETH Zurich – Distributed Computing Group
Stephan Holzer
19
Time-Optimal Information
Exchange on Multiple Channels
n:= # nodes
k:= # information
TREE
ETH Zurich – Distributed Computing Group
Stephan Holzer
20
Time-Optimal Information
Exchange on Multiple Channels
n:= # nodes
k:= # information
TREE
ETH Zurich – Distributed Computing Group
Stephan Holzer
21
Time-Optimal Information
Exchange on Multiple Channels
n:= # nodes
k:= # information
TREE
O( k + log n)
ETH Zurich – Distributed Computing Group
Stephan Holzer
22
Time-Optimal Information
Exchange on Multiple Channels
n:= # nodes
k:= # information
n channels
What if k < log n?
TREE
O( k ) if k > log n
ETH Zurich – Distributed Computing Group
Stephan Holzer
23
Time-Optimal Information
Exchange on Multiple Channels
n:= # nodes
k:= # information
ETH Zurich – Distributed Computing Group
What if k < log n?
Stephan Holzer
24
Time-Optimal Information
Exchange on Multiple Channels
n:= # nodes
k:= # information
Assume: k known
ETH Zurich – Distributed Computing Group
Stephan Holzer
25
Time-Optimal Information
Exchange on Multiple Channels
n:= # nodes
k:= # information
Assume: k known
Balls into Bins
ETH Zurich – Distributed Computing Group
Stephan Holzer
26
Time-Optimal Information
Exchange on Multiple Channels
n:= # nodes
k:= # information
Assume: k known
k
ID=1…2
Balls into Bins
ETH Zurich – Distributed Computing Group
Stephan Holzer
27
Time-Optimal Information
Exchange on Multiple Channels
n:= # nodes
k:= # information
Assume: k known
k
ID=1…2
Balls into Bins
ETH Zurich – Distributed Computing Group
Stephan Holzer
28
Time-Optimal Information
Exchange on Multiple Channels
n:= # nodes
k:= # information
Assume: k known
k
ID=1…2
Listens on channel 1
Listens on channel 2
Listens on channel 3
Listens on channel 4
Balls into Bins
k
Send on random channel 1…2
ETH Zurich – Distributed Computing Group
Stephan Holzer
29
Time-Optimal Information
Exchange on Multiple Channels
n:= # nodes
k:= # information
Assume: k known
k
ID=1…2
Listens on channel 1
Listens on channel 2
Listens on channel 3
Listens on channel 4
Balls into Bins
k
Send on random channel 1…2
ETH Zurich – Distributed Computing Group
Stephan Holzer
30
Time-Optimal Information
Exchange on Multiple Channels
n:= # nodes
k:= # information
Assume: k known
k
ID=1…2
Pr no collision
Balls into Bins
ETH Zurich – Distributed Computing Group
Stephan Holzer
31
Time-Optimal Information
Exchange on Multiple Channels
n:= # nodes
k:= # information
Assume: k known
k
ID=1…2
Pr no collision
TREE
Balls into Bins
ETH Zurich – Distributed Computing Group
Stephan Holzer
32
Time-Optimal Information
Exchange on Multiple Channels
n:= # nodes
k:= # information
Assume: k known
k
ID=1…2
Pr no collision
TREE
Balls into Bins
ETH Zurich – Distributed Computing Group
Stephan Holzer
33
Time-Optimal Information
Exchange on Multiple Channels
n:= # nodes
k:= # information
Assume: k known
k
ID=1…2
Repeat k times
Pr no collision
Balls into Bins
ETH Zurich – Distributed Computing Group
Stephan Holzer
34
Time-Optimal Information
Exchange on Multiple Channels
n:= # nodes
k:= # information
Assume: k known
k
ID=1…2
What if 𝒌 <
𝒍𝒐𝒈 𝒏 ?
Repeat k times
1
Pr [no collision] > 1- 𝑛−𝑐
If 𝒌 >
𝒍𝒐𝒈 𝒏
k
2 channels
Balls into Bins
TREE
O( k ) if 𝒌 >
ETH Zurich – Distributed Computing Group
Stephan Holzer
𝒍𝒐𝒈 𝒏
35
Time-Optimal Information
Exchange on Multiple Channels
n:= # nodes
k:= # information
Assume: k known
𝑆𝑖𝑧𝑒:
What if 𝒌 <
𝒍𝒐𝒈 𝒏 ?
𝑛 log 𝑛
Unique Subset
Time: O( k )
ETH Zurich – Distributed Computing Group
Stephan Holzer
36
Time-Optimal Information
Exchange on Multiple Channels
n:= # nodes
k:= # information
Assume: k known
𝑆𝑖𝑧𝑒:
𝑛 log 𝑛
Unique Subset
ETH Zurich – Distributed Computing Group
Stephan Holzer
37
Time-Optimal Information
Exchange on Multiple Channels
n:= # nodes
k:= # information
Assume: k known
𝑆𝑖𝑧𝑒:
𝑛 log 𝑛
Unique Subset
ETH Zurich – Distributed Computing Group
Stephan Holzer
38
Time-Optimal Information
Exchange on Multiple Channels
n:= # nodes
k:= # information
Assume: k known
𝑆𝑖𝑧𝑒:
𝑛 log 𝑛
Unique Subset
log 𝑛
2𝑘
Send on random channel ∈ {1, … , 2
ETH Zurich – Distributed Computing Group
Stephan Holzer
}.
39
Time-Optimal Information
Exchange on Multiple Channels
n:= # nodes
k:= # information
Assume: k known
𝑆𝑖𝑧𝑒:
𝑛 log 𝑛
Unique Subset
log 𝑛
2𝑘
log 𝑛
2𝑘
on random
Send onSend
random
channelchannel
∈ {1, … ,∈2 {1, …
}. , 2
ETH Zurich – Distributed Computing Group
Stephan Holzer
}.
40
Time-Optimal Information
Exchange on Multiple Channels
n:= # nodes
k:= # information
Assume: k known
𝑆𝑖𝑧𝑒:
𝑛 log 𝑛
𝑚𝑎𝑝: 1, … , 𝑛 log 𝑛
log 𝑛
1, … , 2 2𝑘
𝑠𝑢𝑏𝑠𝑒𝑡𝑠 𝑜𝑓
𝑜𝑓 𝑠𝑖𝑧𝑒 𝑎𝑡 𝑚𝑜𝑠𝑡 𝑘
Pr[at most half messages collide] Unique Subset
1
> 1- 𝑛−𝑐
Not too big …
Not too small …
Just right!
log 𝑛
2𝑘
log 𝑛
2𝑘
on random
Send onSend
random
channelchannel
∈ {1, … ,∈2 {1, …
}. , 2
ETH Zurich – Distributed Computing Group
Stephan Holzer
}.
41
Time-Optimal Information
Exchange on Multiple Channels
n:= # nodes
k:= # information
Assume: k known
{1}
{2}
{3}
{1,2}
{1,3}
{2,3}
Example: 3 channels
Unique Subset
Channel 1
ETH Zurich – Distributed Computing Group
Channel 3
Stephan Holzer
42
Time-Optimal Information
Exchange on Multiple Channels
n:= # nodes
k:= # information
Assume: k known
{1}
{2}
{3}
{1,2}
{1,3}
{2,3}
Send k times
Example: 3 channels
Unique Subset
Channel 1
ETH Zurich – Distributed Computing Group
Channel 3
Stephan Holzer
43
Time-Optimal Information
Exchange on Multiple Channels
n:= # nodes
k:= # information
Assume: k known
{1}
{2}
{3}
{1,2}
{1,3}
{2,3}
Send k times
Example: 3 channels
Unique Subset
Channel 1
ETH Zurich – Distributed Computing Group
Channel 3
Stephan Holzer
44
Time-Optimal Information
Exchange on Multiple Channels
n:= # nodes
k:= # information
Assume: k known
{1}
{2}
{3}
{1,2}
{1,3}
{2,3}
Send k times
Example: 3 channels
Unique Subset
Channel 1
ETH Zurich – Distributed Computing Group
Channel 3
Stephan Holzer
45
Time-Optimal Information
Exchange on Multiple Channels
n:= # nodes
k:= # information
Assume: k known
?
{1}
?
{3}
?
Example: 3 channels
Unique Subset
{1,3}
Send k times
Channel 1
ETH Zurich – Distributed Computing Group
Channel 3
Stephan Holzer
46
Time-Optimal Information
Exchange on Multiple Channels
n:= # nodes
k:= # information
Assume: k known
Example: 3 channels
Unique Subset
{1,3}
Send k times
Channel 1
ETH Zurich – Distributed Computing Group
Channel 3
Stephan Holzer
47
Time-Optimal Information
Exchange on Multiple Channels
n:= # nodes
k:= # information
Assume: k known
Example: 3 channels
Unique Subset
{1,3}
Send k times
Channel 1
ETH Zurich – Distributed Computing Group
Channel 3
Stephan Holzer
48
Time-Optimal Information
Exchange on Multiple Channels
n:= # nodes
k:= # information
Assume: k known
Example: 3 channels
Unique Subset
{1,3}
Send k times
Channel 1
ETH Zurich – Distributed Computing Group
Channel 3
Stephan Holzer
49
Time-Optimal Information
Exchange on Multiple Channels
n:= # nodes
k:= # information
Assume: k known
Example: 3 channels
1
Pr[at most half messages collide]> 1- 𝑛−𝑐
Unique Subset
{1,3}
O( k )
ETH Zurich – Distributed Computing Group
Stephan Holzer
50
Time-Optimal Information
Exchange on Multiple Channels
n:= # nodes
k:= # information
Assume: k known
Example: 3 channels
1
Pr[at most half messages collide]> 1- 𝑛−𝑐
Unique Subset
{1,3}
O( k + k/2 + k/4 …
ETH Zurich – Distributed Computing Group
Stephan Holzer
51
Time-Optimal Information
Exchange on Multiple Channels
n:= # nodes
k:= # information
Assume: k known
Example: 3 channels
1
Pr[at most half messages collide]> 1- 𝑛−𝑐
2
O( k )
ETH Zurich – Distributed Computing Group
log 𝑛
2𝑘
= 𝒏 channels
Unique Subset
1
Pr[this works] > 1- 𝑛−𝑐
Stephan Holzer
52
Time-Optimal Information
Exchange on Multiple Channels
n:= # nodes
k:= # information
Assume: k known
Unique Subset
Balls into Bins
TREE
ETH Zurich – Distributed Computing Group
Stephan Holzer
𝑘<
log 𝑛
log 𝑛 ≤ 𝑘 < log 𝑛
log 𝑛 ≤ 𝑘
53
Time-Optimal Information
Exchange on Multiple Channels
n:= # nodes
k:= # information
Assume: k known unknown
𝑛 channels
Unique Subset
k
Balls into Bins
2 channels
n channels
n channels
ETH Zurich – Distributed Computing Group
TREE
𝑘<
log 𝑛
log 𝑛 ≤ 𝑘 < log 𝑛
log 𝑛 ≤ 𝑘
Future directions: deterministic
less channels
lower bounds
Stephan Holzer
54
Time-Optimal Information
Exchange on Multiple Channels
in Summary … Detect / Disseminate Information!
101 Mhz
117 Mhz
132 Mhz
…
{1,3}
𝜣(𝒌)
ETH Zurich – Distributed Computing Group
Stephan Holzer
55
Thank You!
Questions & Comments?
Stephan Holzer
Yvonne Anne Pignolet
Jasmin Smula
Roger Wattenhofer
ETH Zurich – Distributed Computing Group
– www.disco.ethz.ch
Stephan Holzer
56