1 / 27

Optimal Clock Synchronization in Networks

Optimal Clock Synchronization in Networks. Christoph Lenzen Philipp Sommer Roger Wattenhofer. Time in Sensor Networks. Synchronized clocks are essential for many applications:. Localization. Sensing. Duty-Cycling. TDMA. Time Synchronization (RBS, TPSN, FTSP, ...). rate. 1+ ². 1.

cachet
Download Presentation

Optimal Clock Synchronization in Networks

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Optimal Clock Synchronization in Networks Christoph Lenzen Philipp Sommer Roger Wattenhofer

  2. Philipp Sommer, ETH Zurich @ SenSys‘09 Time in Sensor Networks • Synchronized clocks are essential for many applications: Localization Sensing Duty-Cycling TDMA Time Synchronization(RBS, TPSN, FTSP, ...)

  3. Philipp Sommer, ETH Zurich @ SenSys‘09 rate 1+² 1 1-² t Hardware Clocks Experience Drift • 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) Mica2

  4. Philipp Sommer, ETH Zurich @ SenSys‘09 Messages Experience Jitter in the Delay • 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 1-10 ms 0-100 ms 0-500 ms timestamp Send Access Transmission timestamp Reception Receive 0-100 ms t frequency (%) time Expected delay T Jitter J

  5. Philipp Sommer, ETH Zurich @ SenSys‘09 Summary: Clock Synchronization • Goal: • Send time information (beacons) to synchronize clocks • Problems: • Hardware clocks exhibit drift • Jitter in the message delay Expected delay T Jitter J

  6. Philipp Sommer, ETH Zurich @ SenSys‘09 Preview: Experimental Results • Sychnronization error vs. hop distance FTSP PulseSync NEW!

  7. Philipp Sommer, ETH Zurich @ SenSys‘09 Outline • Introduction • Theory • Practice

  8. Philipp Sommer, ETH Zurich @ SenSys‘09 Synchronizing Nodes: Single-Hop • How do we synchronize the clocks of two sensor nodes? reference clock 1 0

  9. Philipp Sommer, ETH Zurich @ SenSys‘09 Synchronizing Nodes • Sending periodic beacons to synchronize nodes Beacon interval B 100 130 reference clock 0 t t=100 t=130 1 t T T J J

  10. Philipp Sommer, ETH Zurich @ SenSys‘09 How accurately can we synchronize two Nodes? • Message delay jitter affects clock synchronization quality y 0 r ^ ^ r y(x) = r·x + ∆y clock offset relative clock rate(estimated) ∆y x J J 1 Beacon interval B

  11. Philipp Sommer, ETH Zurich @ SenSys‘09 How accurately can we synchronize two Nodes? • Message delay jitter affects clock synchronization quality y 0 r ^ ^ ^ r r y(x) = r·x + ∆y relative clock rate(estimated) clock offset x ∆y J J 1 Beacon interval B

  12. Philipp Sommer, ETH Zurich @ SenSys‘09 Clock Skew between two Nodes • Lower Bound on the clock skew between two neighbors y 0 r • Error in the rate estimation: • Jitter in the message delay • Beacon interval • Number of beacons k • Synchronization error: ^ ^ r r x ∆y J J 1 (complete proof is in the paper) Beacon interval B

  13. Philipp Sommer, ETH Zurich @ SenSys‘09 Synchronizing Nodes: Multi-hop • How do we synchronize the clocks of multiple sensor nodes? reference clock 1 2 0

  14. Philipp Sommer, ETH Zurich @ SenSys‘09 Now we have a network of nodes! • 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., IPSN’07) ... 0 1 2 3 4 d

  15. Philipp Sommer, ETH Zurich @ SenSys‘09 Multi-hop Clock Synchronization • 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(J1 + J2 + J3 + J4 + J5 + ... Jd) = √d×stddev(J) ... 0 1 2 3 4 d J1 J2 J3 J4 J5 Jd Multi-hop: Single-hop: (proof is in the paper)

  16. Philipp Sommer, ETH Zurich @ SenSys‘09 Outline • Introduction • Theory • Practice

  17. Philipp Sommer, ETH Zurich @ SenSys‘09 Clock Synchronization in Practice • 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 • Maroti et al. (SenSys‘04) 2 3 4 1 0 5 root node 6

  18. Philipp Sommer, ETH Zurich @ SenSys‘09 Testbed Experiments (FTSP) • Measurement results from testbed with 20 Mica2 nodes • Synchronization error grows exponentially • Nodes far away from the root failed to synchronize with their parent node ... 20 4 0 1 3 2

  19. Philipp Sommer, ETH Zurich @ SenSys‘09 Linear Regression (FTSP) • FTSP uses linear regression to compensate for clock drift • Jitter is amplified before it is sent to the next hop y 0 r Example for k=2 synchronization error ^ r y(x) = r·x + ∆y ^ clock offset relative clock rate(estimated) ∆y x J J 1 Beacon interval B

  20. Philipp Sommer, ETH Zurich @ SenSys‘09 Linear Regression (FTSP) • Simulation of FTSP with regression tables of different sizes(k = 2, 8, 32) Log Scale!

  21. Philipp Sommer, ETH Zurich @ SenSys‘09 The PulseSync Protocol • Send fast synchronization pulses through the network • Speed-up the initialization phase • Faster adaptation to changes in temperature or network topology 0 0 Beacon time B Beacon time B 1 1 2 2 FTSP 3 3 4 4 Expected time = D·B/2 t PulseSync Expected time = D·tpulse t tpulse

  22. Philipp Sommer, ETH Zurich @ SenSys‘09 The PulseSync Protocol (2) • Remove self-amplification of synchronization error • Fast flooding cannot completely eliminate amplification y 0 r Example for k=2 synchronization error ^ r y(x) = r·x + ∆y ^ clock offset ^ r relative clock rate ∆y x J J The green line is calculated using kmeasurement points that are statistically independent of the red line (see paper). 1 Beacon interval B

  23. Philipp Sommer, ETH Zurich @ SenSys‘09 Evaluation • 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 Probe beacon ... 4 0 1 3 2 20

  24. Philipp Sommer, ETH Zurich @ SenSys‘09 Experimental Results • Global Clock Skew • Maximum synchronization error between any two nodes FTSP PulseSync

  25. Philipp Sommer, ETH Zurich @ SenSys‘09 Experimental Results (2) • Sychnronization Error vs. distance from root node FTSP PulseSync

  26. Philipp Sommer, ETH Zurich @ SenSys‘09 Outlook • 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 This is known as wireless broadcasting, a well-studied problem (in theory)

  27. Philipp Sommer, ETH Zurich @ SenSys‘09 Conclusions • 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

More Related