Title: FineGrained Network Time Synchronization Using Reference Broadcasts
1Fine-Grained NetworkTime Synchronization Using
Reference Broadcasts
- Jeremy Elson, Lew Girod, and Deborah Estrin
- University of California, Los Angeles
- jelson_at_acm.org
- http//google.com/q?jeremyelson
OSDI 2002 - Boston, MA
2The bigger picture
- Isnt this a solved problem by now???
- NTP, many other clock agreement algorithms, MACs
with sync built in (802.11), time broadcasts
(GPS, WWVB), high-stability oscillators
(Rubidium, Cesium)
BUT...
- If this isnt the Internet
- Important assumptions no longer hold
- (fewer resources -- such as energy, good
connectivity, infrastructure, size, and cost --
are available ) - Sensor apps have stronger requirements
- (but we have to do better than the Internet
anyway)
3A palette of sync methods
Goal make the set rich enough to minimize waste
Time Sync Parameter Space (max error, lifetime,
scope, etc.)
Available Sync Methods
Better
Application Requirement
Better
4A palette of sync methods
Goal make the set rich enough to minimize waste
Time Sync Parameter Space (max error, lifetime,
scope, etc.)
Ideally, methods should be tunable
Better
Application Requirement
Better
5Traditional sync
Problem Many sources of unknown,
nondeterministic latency between timestamp and
its reception
Sender
Receiver
Send time
Receive Time
At the tone t1
NIC
NIC
Access Time
Propagation Time
Physical Media
6Reference Broadcasts
Sync 2 receivers with each other, NOT sender with
receiver
Sender
Receiver
Receiver
Receive Time
NIC
NIC
NIC
I saw it at t4
I saw it at t5
Propagation Time
Physical Media
7RBS reduces error by removing much of it from the
critical path
NIC
Sender
Receiver 1
Receiver 2
Critical Path
Traditional critical path From the time the
sender reads its clock, to when the receiver
reads its clock
RBS Only sensitive to the differences in receive
time and propagation delay
8Receiver Determinism
1st testbed Berkeley motes with narrowband
(19.2K) radios
9Well-Behaved Good
- Well behaved distributions are useful
- Error can be reduced statistically, by sending
multiple pulses over time and averaging - Also, easier to model/simulate
- Problem Clock skew
- It takes time to send multiple pulses
- By the time we do, clocks will have drifted
- So dont average fit a line instead
10Time
11Comparison to NTP
- Second implementation
- Compaq IPAQs (small Linux machines)
- 11mbit 802.11 PCMCIA cards
- Ran NTP, RBS-Userspace, RBS-Kernel
- NTP synced to GPS clock every 16 secs
- NTP with phase correction, too it did worse (!)
- In each case, asked 2 IPAQs to raise a GPIO line
high at the same time differences measured with
logic analyzer
12Clock Resolution
13Clock Resolution
RBS degraded slightly (6us to 8us) NTP degraded
severely (51us to 1542us)
14Multi-Hop RBS
- Some nodes broadcast RF synchronization pulses
- Receivers in a neighborhood are synced by using
the pulse as a time reference. (The pulse
senders are not synced.) - Nodes that hear both can relate the time bases to
each other
Red pulse 2 secafter blue pulse!
Here 3 sec after red pulse!
Here 1 sec after blue pulse!
Here 1 sec afterred pulse!
Here 0 sec after blue pulse!
15Time Routing
Consider a physical topology consisting of
broadcasters (A, B, C..) and receivers (1, 2, 3)
1
2
5
A
B
6
3
4
7
C
8
9
D
10
11
(In reality, a node can play both roles)
16Time Routing
The physical topology can be easily converted to
a logical topology links represent possible
clock conversions
1
2
5
A
B
6
3
4
7
C
8
9
D
10
11
Use shortest path search to find a time
route Edges can be weighted by error estimates
17Multi-Hop RBS
Error (and std dev) over multiple hops, in usec
3.68 /- 2.57
2.73 /- 2.42
2.73 /- 1.91
1.85 /- 1.28
18Summary
- RBS can improve accuracy by removing sender from
the critical path - Multi-hop algorithm can extend RBS property
across broadcast domains, and to external
standards such as UTC - Implemented on 4 different CPU/radio platforms
no MAC tinkering required - Facilitates post-facto sync (save energy by only
syncing after an event of interest) and peer to
peer sync (no global timescale)
19Applications
- Acoustic Ranging
- Collaborative Signal Detection
- etc...
- Future work
- Use higher precision clocks (e.g. Pentium TSC)
- Better outlier rejection, weighting
20Thank you!