Download presentation
Presentation is loading. Please wait.
Published byMarquise Sloper Modified over 10 years ago
1
Christoph Lenzen Philipp Sommer Philipp Sommer Roger Wattenhofer Roger Wattenhofer Optimal Clock Synchronization in Networks
2
Synchronized clocks are essential for many applications: Philipp Sommer, ETH Zurich @ SenSys09 Time in Sensor Networks Time Synchronization (RBS, TPSN, FTSP,...) Sensing Localization Duty- Cycling TDMA
3
Hardware clock Counter register of the microcontroller Sourced by an external crystal (32kHz, 7.37 MHz) Clock drift Random deviation from the nominal rate dependent on ambient temperature, power supply, etc. (30-100 ppm) Philipp Sommer, ETH Zurich @ SenSys09 Hardware Clocks Experience Drift t rate 1 1+ ² 1- ² Mica2
4
Problem: Jitter in the message delay Various sources of errors (deterministic and non-deterministic) Solution: Timestamping packets at the MAC layer (Maróti et al.) Jitter in the message delay is reduced to a few clock ticks Philipp Sommer, ETH Zurich @ SenSys09 Messages Experience Jitter in the Delay SendAccessTransmission ReceptionReceive 0-100 ms 0-500 ms 1-10 ms 0-100 ms timestamp t Expected delay T Jitter J time frequency (%)
5
Goal: Send time information (beacons) to synchronize clocks Problems: Hardware clocks exhibit drift Jitter in the message delay Philipp Sommer, ETH Zurich @ SenSys09 Summary: Clock Synchronization Expected delay T Jitter J
6
Sychnronization error vs. hop distance Philipp Sommer, ETH Zurich @ SenSys09 Preview: Experimental Results FTSPPulseSync NEW!
7
Introduction Theory Practice Philipp Sommer, ETH Zurich @ SenSys09 Outline
8
How do we synchronize the clocks of two sensor nodes? Philipp Sommer, ETH Zurich @ SenSys09 Synchronizing Nodes: Single-Hop 0 1 reference clock
9
Sending periodic beacons to synchronize nodes Philipp Sommer, ETH Zurich @ SenSys09 J t=100t=130 Beacon interval B TT 1 0 J reference clock Synchronizing Nodes t t 100130
10
Message delay jitter affects clock synchronization quality Philipp Sommer, ETH Zurich @ SenSys09 How accurately can we synchronize two Nodes? 0 1 x y r y(x) = r·x + y relative clock rate (estimated) clock offset JJ y Beacon interval B ^ ^ r
11
Message delay jitter affects clock synchronization quality Philipp Sommer, ETH Zurich @ SenSys09 How accurately can we synchronize two Nodes? 0 1 x y y(x) = r·x + y clock offset JJ y Beacon interval B r ^ ^ relative clock rate (estimated) r r ^
12
Lower Bound on the clock skew between two neighbors Philipp Sommer, ETH Zurich @ SenSys09 Clock Skew between two Nodes 0 1 x y r JJ y Beacon interval B Error in the rate estimation: Jitter in the message delay Beacon interval Number of beacons k Synchronization error: (complete proof is in the paper) ^ r r ^
13
How do we synchronize the clocks of multiple sensor nodes? Philipp Sommer, ETH Zurich @ SenSys09 Synchronizing Nodes: Multi-hop 0 1 reference clock 2
14
How does the network diameter affect synchronization errors? Examples for sensor networks with high diameter Bridge, road or pipeline monitoring Deployment at Golden Gate Bridge with 46 hops (Kim et al., IPSN07) Philipp Sommer, ETH Zurich @ SenSys09 Now we have a network of nodes! 01234... d
15
Nodes forward their current estimate of the reference clock Each synchronization beacon is affected by a random jitter J Sum of the jitter grows with the square-root of the distance stddev(J 1 + J 2 + J 3 + J 4 + J 5 +... J d ) = d×stddev(J) Philipp Sommer, ETH Zurich @ SenSys09 Multi-hop Clock Synchronization J1J1 J2J2 J3J3 01234... J4J4 J5J5 d Single-hop: Multi-hop : JdJd (proof is in the paper)
16
Introduction Theory Practice Philipp Sommer, ETH Zurich @ SenSys09 Outline
17
Flooding Time Synchronization Protocol (FTSP) Nodes synchronize to a root (leader) node Leader-election phase (by smallest id) Periodic synchronization beacons (unaligned) Linear-regression table to correct clock drift Philipp Sommer, ETH Zurich @ SenSys09 Clock Synchronization in Practice Maroti et al. (SenSys04) 0 42 5 1 3 6 root node
18
Measurement results from testbed with 20 Mica2 nodes Philipp Sommer, ETH Zurich @ SenSys09 Testbed Experiments (FTSP) 01 2 3 4 20... Synchronization error grows exponentially Nodes far away from the root failed to synchronize with their parent node
19
FTSP uses linear regression to compensate for clock drift Jitter is amplified before it is sent to the next hop Philipp Sommer, ETH Zurich @ SenSys09 Linear Regression (FTSP) 0 1 x y r y(x) = r·x + y clock offset JJ y Beacon interval B Example for k=2 ^ ^ r synchronization error relative clock rate (estimated)
20
Simulation of FTSP with regression tables of different sizes (k = 2, 8, 32) Philipp Sommer, ETH Zurich @ SenSys09 Linear Regression (FTSP) Log Scale!
21
Send fast synchronization pulses through the network Speed-up the initialization phase Faster adaptation to changes in temperature or network topology Philipp Sommer, ETH Zurich @ SenSys09 The PulseSync Protocol Beacon time B t 0 1 2 3 4 t 0 1 2 3 4 FTSP PulseSync Expected time = D·B/2 Expected time = D · t pulse t pulse
22
Remove self-amplification of synchronization error Fast flooding cannot completely eliminate amplification Philipp Sommer, ETH Zurich @ SenSys09 The PulseSync Protocol (2) 0 1 x y r JJ y Beacon interval B Example for k=2 ^ r synchronization error y(x) = r·x + y relative clock rate clock offset ^ The green line is calculated using k measurement points that are statistically independent of the red line (see paper). r ^
23
Testbed setup 20 Crossbow Mica2 sensor nodes PulseSync implemented in TinyOS 2.1 FTSP from TinyOS 2.1 Network topology Single-hop setup, basestation Virtual network topology (white-list) Acknowledgments for time sync beacons Philipp Sommer, ETH Zurich @ SenSys09 Evaluation 01 2 3 4 20... Probe beacon
24
Global Clock Skew Maximum synchronization error between any two nodes Philipp Sommer, ETH Zurich @ SenSys09 Experimental Results Synchronization ErrorFTSPPulseSync Average (t>2000s)23.96 µs4.44 µs Maximum (t>2000s)249 µs38 µs FTSPPulseSync
25
Sychnronization Error vs. distance from root node Philipp Sommer, ETH Zurich @ SenSys09 Experimental Results (2) FTSPPulseSync
26
Extension to more general network topologies Schedule synchronization beacons without collisions Time information has to propagate quickly through the network Avoid loss of synchronization pulses due to collisions Philipp Sommer, ETH Zurich @ SenSys09 Outlook This is known as wireless broadcasting, a well-studied problem (in theory)
27
Theoretical insights into clock synchronization Lower bound on the global clock skew PulseSync: a novel clock synchronization algorithm Flooding sync pulses at high speed through the network Matches the lower bound on the global skew (shown in the paper) Testbed experiments on a 20-node line topology Prototype implementation of PulseSync PulseSync outperforms FTSP for this setting Philipp Sommer, ETH Zurich @ SenSys09 Conclusions
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.