Clock Synchronization Chapter 9 Ad Hoc and Sensor Networks Ad Hoc - - PowerPoint PPT Presentation

clock synchronization
SMART_READER_LITE
LIVE PREVIEW

Clock Synchronization Chapter 9 Ad Hoc and Sensor Networks Ad Hoc - - PowerPoint PPT Presentation

Clock Synchronization Clock Synchronization Chapter 9 Ad Hoc and Sensor Networks Ad Hoc and Sensor Networks Roger Wattenhofer Roger Wattenhofer 9/1 Rating Overview Area maturity Motivation Clock Sources &


slide-1
SLIDE 1

Ad Hoc and Sensor Networks – Roger Wattenhofer – 9/1 Ad Hoc and Sensor Networks – Roger Wattenhofer –

Clock Synchronization

Chapter 9 Clock Synchronization

Ad Hoc and Sensor Networks – Roger Wattenhofer – 9/3 Ad Hoc and Sensor Networks – Roger Wattenhofer –

Rating

  • Area maturity
  • Practical importance
  • Theory appeal

First steps Text book No apps Mission critical Boooooooring Exciting

Ad Hoc and Sensor Networks – Roger Wattenhofer – 9/4

  • Motivation
  • Clock Sources & Hardware
  • Single-Hop Clock Synchronization
  • Clock Synchronization in Networks
  • Protocols: RBS, TPSN, FTSP, GTSP
  • Theory of Clock Synchronization
  • Protocol: PulseSync

Overview

slide-2
SLIDE 2

Motivation

  • Synchronizing time is essential for many applications

– Coordination of wake-up and sleeping times (energy efficiency) – TDMA schedules – Ordering of collected sensor data/events – Co-operation of multiple sensor nodes – Estimation of position information (e.g. shooter detection)

  • Goals of clock synchronization

– Compensate offset* between clocks – Compensate drift* between clocks *terms are explained on following slides

Time Synchronization Sensing Localization Duty- Cycling TDMA Ad Hoc and Sensor Networks – Roger Wattenhofer – 9/6

Properties of Clock Synchronization Algorithms

  • External versus internal synchronization

– External sync: Nodes synchronize with an external clock source (UTC) – Internal sync: Nodes synchronize to a common time – to a leader, to an averaged time, or to anything else

  • One-shot versus continuous synchronization

– Periodic synchronization required to compensate clock drift

  • A-priori versus a-posteriori

– A-posteriori clock synchronization triggered by an event

  • Global versus local synchronization (explained later)
  • Accuracy versus convergence time, Byzantine nodes, …

Clock Sources

  • Radio Clock Signal:

– Clock signal from a reference source (atomic clock) is transmitted over a long wave radio signal – DCF77 station near Frankfurt, Germany transmits at 77.5 kHz with a transmission range of up to 2000 km – Accuracy limited by the distance to the sender, Frankfurt-Zurich is about 1ms. – Special antenna/receiver hardware required

  • Global Positioning System (GPS):

– Satellites continuously transmit own position and time code – Line of sight between satellite and receiver required – Special antenna/receiver hardware required

Clock Sources (2)

  • AC power lines:

– Use the magnetic field radiating from electric AC power lines – AC power line oscillations are extremely stable (10-8 ppm) – Power efficient, consumes only 58 μW – Single communication round required to correct phase offset after initialization

  • Sunlight:

– Using a light sensor to measure the length of a day – Offline algorithm for reconstructing global timestamps by correlating annual solar patterns (no communication required)

slide-3
SLIDE 3

Ad Hoc and Sensor Networks – Roger Wattenhofer – 9/9

Clock Devices in Sensor Nodes

  • Structure

– External oscillator with a nominal frequency (e.g. 32 kHz or 7.37 MHz) – Counter register which is incremented with oscillator pulses – Works also when CPU is in sleep state

32 kHz quartz

Mica2

32 kHz quartz 7.37 MHz quartz

TinyNode

Clock Drift

  • Accuracy

– Clock drift: random deviation from the nominal rate dependent on power supply, temperature, etc. – E.g. TinyNodes have a maximum drift of 30-50 ppm at room temperature

This is a drift of up to 50 μs per second

  • r 0.18s per hour

t rate

1 1+² 1-²

Ad Hoc and Sensor Networks – Roger Wattenhofer – 9/11

Sender/Receiver Synchronization

  • Round-Trip Time (RTT) based synchronization
  • Receiver synchronizes to the sender‘s clock
  • Propagation delay and clock offset can be calculated

2 2 2

4 3 1 2 3 4 1 2 2 3 1 4

) t (t + ) t (t = δ)) + (t (t δ)) + (t (t = θ ) t (t ) t (t = δ

  • t 1

t 2 t 3 t 4

B A

Time accor- ding to A Request from A

Answer from B

Time accor- ding to B

Ad Hoc and Sensor Networks – Roger Wattenhofer – 9/12

  • 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

Messages Experience Jitter in the Delay

Send Access Transmission Reception Receive

0-100 ms 0-500 ms 1-10 ms 0-100 ms

t

slide-4
SLIDE 4

Some Details

  • Different radio chips use different paradigms:

– Left is a CC1000 radio chip which generates an interrupt with each byte. – Right is a CC2420 radio chip that generates a single interrupt for the packet after the start frame delimiter is received.

  • In sensor networks propagation

can be ignored (<1¹s for 300m).

  • Still there is quite some variance

in transmission delay because of latencies in interrupt handling (picture right).

Ad Hoc and Sensor Networks – Roger Wattenhofer – 9/14 Ad Hoc and Sensor Networks – Roger Wattenhofer –

Symmetric Errors

  • Many protocols don’t even handle single-hop clock synchronization
  • well. On the left figures we see the absolute synchronization errors
  • f TPSN and RBS, respectively. The figure on the right presents a

single-hop synchronization protocol minimizing systematic errors.

  • Even perfectly symmetric errors will sum up over multiple hops.

– In a chain of n nodes with a standard deviation ¾ on each hop, the expected error between head and tail of the chain is in the order of ¾√n.

Ad Hoc and Sensor Networks – Roger Wattenhofer – 9/15

Reference-Broadcast Synchronization (RBS)

  • A sender synchronizes a set of receivers with one another
  • Point of reference: beacon’s arrival time
  • Only sensitive to the difference in propagation and reception time
  • Time stamping at the interrupt time when a beacon is received
  • After a beacon is sent, all receivers exchange their reception times to

calculate their clock offset

A B S

2

t

1

t

3

t

  • Post-synchronization possible
  • E.g., least-square linear regression to tackle clock drifts
  • Multi-hop?

) ( ) (

, , 3 2 , 1 3 , 1 2 B A B S A S B B S S S A A S S S

R R P P t t R P A S t t R P A S t t

  • Ad Hoc and Sensor Networks –

Roger Wattenhofer – 9/16

Time-sync Protocol for Sensor Networks (TPSN)

  • Traditional sender-receiver synchronization (RTT-based)
  • Initialization phase: Breadth-first-search flooding

– Root node at level 0 sends out a level discovery packet – Receiving nodes which have not yet an assigned level set their level to +1 and start a random timer – After the timer is expired, a new level discovery packet will be sent – When a new node is deployed, it sends out a level request packet after a random timeout Why this random timer?

1 2 1 2 2 1 2

slide-5
SLIDE 5

Ad Hoc and Sensor Networks – Roger Wattenhofer – 9/17 Ad Hoc and Sensor Networks – Roger Wattenhofer –

Time-sync Protocol for Sensor Networks (TPSN)

  • Synchronization phase

– Root node issues a time sync packet which triggers a random timer at all level 1 nodes – After the timer is expired, the node asks its parent for synchronization using a synchronization pulse – The parent node answers with an acknowledgement – Thus, the requesting node knows the round trip time and can calculate its clock offset – Child nodes receiving a synchronization pulse also start a random timer themselves to trigger their own synchronization

1 A 1 2 2 B 2

Time Sync ACK Sync pulse Ad Hoc and Sensor Networks – Roger Wattenhofer – 9/18

Time-sync Protocol for Sensor Networks (TPSN)

  • Time stamping packets at the MAC layer
  • In contrast to RBS, the signal propagation time might be negligible
  • Authors claim that it is “about two times” better than RBS
  • Again, clock drifts are taken into account using periodical

synchronization messages

  • Problem: What happens in a non-tree topology (e.g. grid)?

– Two neighbors may have bad synchronization?

2

t

3

t

1 A 1 2 2 B 2

1

t

4

t

2 ) ( ) ( ) ( ) (

, , , 3 4 , 1 2 A B A B B A B A B A A A B B B B B A A A

R R P P A A S S R P A S t t R P A S t t

  • Ad Hoc and Sensor Networks –

Roger Wattenhofer – 9/19 Ad Hoc and Sensor Networks – Roger Wattenhofer –

Flooding Time Synchronization Protocol (FTSP)

  • Each node maintains both a local and a global time
  • Global time is synchronized to the local time of a reference node

– Node with the smallest id is elected as the reference node

  • Reference time is flooded through the network periodically
  • Timestamping at the MAC Layer is used to compensate for

deterministic message delays

  • Compensation for clock drift between synchronization messages

using a linear regression table

4 6 1 2 3 5 7

reference node Ad Hoc and Sensor Networks – Roger Wattenhofer – 9/20 Ad Hoc and Sensor Networks – Roger Wattenhofer –

Best tree for tree-based clock synchronization?

  • Finding a good tree for clock synchronization is a tough problem

– Spanning tree with small (maximum or average) stretch.

  • Example: Grid network, with n = m2 nodes.
  • No matter what tree you use, the maximum

stretch of the spanning tree will always be at least m (just try on the grid figure right…)

  • In general, finding the minimum max

stretch spanning tree is a hard problem, however approximation algorithms exist

[Emek, Peleg, 2004].

slide-6
SLIDE 6

Variants of Clock Synchronization Algorithms

Tree-like Algorithms Distributed Algorithms e.g. FTSP e.g. GTSP

Bad local skew All nodes consistently average errors to all neigbhors

Ad Hoc and Sensor Networks – Roger Wattenhofer – 9/22 Ad Hoc and Sensor Networks – Roger Wattenhofer –

FTSP vs. GTSP: Global Skew

  • Network synchronization error (global skew)

– Pair-wise synchronization error between any two nodes in the network FTSP (avg: 7.7 μs) GTSP (avg: 14.0 μs)

Ad Hoc and Sensor Networks – Roger Wattenhofer – 9/23 Ad Hoc and Sensor Networks – Roger Wattenhofer –

FTSP vs. GTSP: Local Skew

  • Neighbor Synchronization error (local skew)

– Pair-wise synchronization error between neighboring nodes

  • Synchronization error between two direct neighbors:

FTSP (avg: 15.0 μs) GTSP (avg: 2.8 μs)

Ad Hoc and Sensor Networks – Roger Wattenhofer – 9/24 Ad Hoc and Sensor Networks – Roger Wattenhofer –

Global vs. Local Time Synchronization

  • Common time is essential for many applications:

– Assigning a timestamp to a globally sensed event (e.g. earthquake) – Precise event localization (e.g. shooter detection, multiplayer games) – TDMA-based MAC layer in wireless networks – Coordination of wake-up and sleeping times (energy efficiency)

slide-7
SLIDE 7

Ad Hoc and Sensor Networks – Roger Wattenhofer – 9/25 Ad Hoc and Sensor Networks – Roger Wattenhofer –

  • Given a communication network

1. Each node equipped with hardware clock with drift 2. Message delays with jitter

  • Goal: Synchronize Clocks (“Logical Clocks”)
  • Both global and local synchronization!

Theory of Clock Synchronization

worst-case (but constant)

Ad Hoc and Sensor Networks – Roger Wattenhofer – 9/26 Ad Hoc and Sensor Networks – Roger Wattenhofer –

  • Time (logical clocks) should not be allowed to stand still or jump
  • Let’s be more careful (and ambitious):
  • Logical clocks should always move forward
  • Sometimes faster, sometimes slower is OK.
  • But there should be a minimum and a maximum speed.
  • As close to correct time as possible!

Time Must Behave!

Ad Hoc and Sensor Networks – Roger Wattenhofer – 9/27 Ad Hoc and Sensor Networks – Roger Wattenhofer –

Formal Model

  • Hardware clock Hv(t) = s[0,t] hv(¿) d¿

with clock rate hv(t) 2 2 [1-²,1+²]

  • Logical clock Lv(·) which increases

at rate at least 1 and at most ¯

  • Message delays 2 [0,1]
  • Employ a synchronization algorithm

to update the logical clock according to hardware clock and messages from neighbors

Clock drift ² is typically small, e.g. ² ¼10-4 for a cheap quartz oscillator Neglect fixed share of delay, normalize jitter Logical clocks with rate less than 1 behave differently (“synchronizer”)

Time is 140 Time is 150 Time is 152

Lv?

Hv

Ad Hoc and Sensor Networks – Roger Wattenhofer – 9/28 Ad Hoc and Sensor Networks – Roger Wattenhofer –

Synchronization Algorithms: An Example (“Amax”)

  • Question: How to update the logical clock

based on the messages from the neighbors?

  • Idea: Minimizing the skew to the fastest neighbor

– Set the clock to the maximum clock value received from any neighbor (if larger than local clock value) – forward new values immediately

  • Optimum global skew of about D
  • Poor local property

– First all messages take 1 time unit… – …then we have a fast message!

Time is D+x Time is D+x

Clock value: D+x Old clock value: D+x-1 Old clock value: x+1 Old clock value: x Time is D+x

New time is D+x New time is D+x

skew D!

Allow ¯ = 1

Fastest Hardware Clock

slide-8
SLIDE 8

Ad Hoc and Sensor Networks – Roger Wattenhofer – 9/29

Synchronization Algorithms: Amax’

  • The problem of Amax is that the clock is always increased to the

maximum value

  • Idea: Allow a constant slack γ between the maximum neighbor clock

value and the own clock value

  • The algorithm Amax’ sets the local clock value Li(t) to

→ Worst-case clock skew between two neighboring nodes is still Θ(D) independent of the choice of γ!

  • How can we do better?

– Adjust logical clock speeds to catch up with fastest node (i.e. no jump)? – Idea: Take the clock of all neighbors into account by choosing the average value?

) ) ( max ), ( max( : ) (

  • t

L t L t L

j N j i i

i

Ad Hoc and Sensor Networks – Roger Wattenhofer – 9/30 Ad Hoc and Sensor Networks – Roger Wattenhofer –

Local Skew: Overview of Results

1 logD √D D …

Everybody‘s expectation, five years ago („solved“) Lower bound of logD / loglogD [Fan & Lynch, PODC 2004] All natural algorithms [Locher et al., DISC 2006] Blocking algorithm Kappa algorithm [Lenzen et al., FOCS 2008] Tight lower bound [Lenzen et al., PODC 2009] Dynamic Networks! [Kuhn et al., SPAA 2009]

Ad Hoc and Sensor Networks – Roger Wattenhofer – 9/31 Ad Hoc and Sensor Networks – Roger Wattenhofer –

Enforcing Clock Skew

  • Messages between two neighboring nodes may be fast in one

direction and slow in the other, or vice versa.

  • A constant skew between neighbors may be „hidden“.
  • In a path, the global skew may be in the order of D/2.

2 3 4 5 6 7 2 3 4 5 6 7 2 3 4 5 6 7 2 3 4 5 6 7 2 3 4 5 6 7 2 3 4 5 6 7 3

u v

Ad Hoc and Sensor Networks – Roger Wattenhofer – 9/32 Ad Hoc and Sensor Networks – Roger Wattenhofer –

Local Skew: Lower Bound (Single-Slide Proof!) Theorem: (log(¯-1)/²D) skew between neighbors

  • Add l0/2 skew in l0/(2²) time, messing with clock rates and messages
  • Afterwards: Continue execution for l0/(4(¯-1)) time (all hx = 1)

Skew reduces by at most l0/4 at least l0/4 skew remains Consider a subpath of length l1 = l0·²/(2(¯-1)) with at least l1/4 skew Add l1/2 skew in l1/(2²) = l0/(4(¯-1)) time at least 3/4·l1 skew in subpath

  • Repeat this trick (+½,-¼,+½,-¼,…) log2(¯-1)/²D times

Higher clock rates l0 = D

Lv(t) = x + l0/2 Lw(t) Lv(t) = x Lw(t) hv = 1+² hv = 1 hw = 1 hw = 1

slide-9
SLIDE 9

Ad Hoc and Sensor Networks – Roger Wattenhofer – 9/33 Ad Hoc and Sensor Networks – Roger Wattenhofer –

  • Surprisingly, up to small constants, the (log(¯-1)/²D) lower bound

can be matched with clock rates 2 2 [1,¯]

  • We get the following picture [Lenzen et al., PODC 2009]:
  • In practice, we usually have 1/² ¼ 104 > D. In other words, our initial

intuition of a constant local skew was not entirely wrong!

max rate ¯ 1+² 1+£(²) 1+√² 2 large local skew 1 £(log D) £(log1/² D) £(log1/² D) £(log1/² D)

Local Skew: Upper Bound

... because too large clock rates will amplify the clock drift ². We can have both smooth and accurate clocks!

Ad Hoc and Sensor Networks – Roger Wattenhofer – 9/34

  • Sending periodic beacon messages to synchronize nodes

Synchronizing Nodes

J

t=100 t=130

Beacon interval B

1

J

reference clock

t t

100 130

jitter jitter

Ad Hoc and Sensor Networks – Roger Wattenhofer – 9/35

  • Message delay jitter affects clock synchronization quality

How accurately can we synchronize two Nodes?

y(x) = r·x + ∆y

clock offset

^

relative clock rate (estimated)

1

x y

J J

∆y Beacon interval B r ^ r r ^

Ad Hoc and Sensor Networks – Roger Wattenhofer – 9/36

  • Lower Bound on the clock skew between two neighbors

Clock Skew between two Nodes

Error in the rate estimation: Jitter in the message delay Beacon interval Number of beacons k Synchronization error:

1

x y

J J

∆y Beacon interval B r ^ r r ^

slide-10
SLIDE 10

Ad Hoc and Sensor Networks – Roger Wattenhofer – 9/37

  • 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)

Multi-hop Clock Synchronization

J1 J2 J3

1 2 3 4 ...

J4 J5

d

Single-hop: Multi-hop:

Jd

Ad Hoc and Sensor Networks – Roger Wattenhofer – 9/38

  • FTSP uses linear regression to compensate for clock drift

Jitter is amplified before it is sent to the next hop

Linear Regression (e.g. FTSP) 1

x y r J J ∆y Beacon interval B Example for k=2 ^ r

synchronization error

y(x) = r·x + ∆y

clock offset

^

relative clock rate (estimated)

The PulseSync Protocol

  • Send fast synchronization pulses through the network
  • Speed-up the initialization phase
  • Faster adaptation to changes in temperature or network topology

Beacon time B t

1 2 3 4

t

1 2 3 4

FTSP PulseSync

Expected time = D·B/2 Expected time = D·tpulse

tpulse Beacon time B

The PulseSync Protocol (2)

  • Remove self-amplification of synchronization error
  • Fast flooding cannot completely eliminate amplification

synchronization error

^

The green line is calculated using k measurement points that are statistically independent of the red line.

1

x y r J J ∆y Beacon interval B Example for k=2 ^ r

y(x) = r·x + ∆y

clock offset relative clock rate (estimated)

slide-11
SLIDE 11

FTSP vs. PulseSync

  • Global Clock Skew
  • Maximum synchronization error between any two nodes

Synchronization Error FTSP PulseSync Average (t>2000s) 23.96 µs 4.44 µs Maximum (t>2000s) 249 µs 38 µs

FTSP PulseSync FTSP vs. PulseSync

  • Sychnronization Error vs. distance from root node

FTSP PulseSync

Ad Hoc and Sensor Networks – Roger Wattenhofer – 9/43

Open Problem

  • As listed on slide 9/6, clock synchronization has lots of parameters.

Some of them (like local/gradient) clock synchronization have only started to be understood.

  • Local clock synchronization in combination with other parameters

are not understood well, e.g.

– accuracy vs. convergence – fault-tolerance in case some clocks are misbehaving [Byzantine] – clock synchronization in dynamic networks