Abstract
In a distributed system, a common time reference allows each component to associate the same timestamp to events that occur simultaneously. It is a design option with benefits and drawbacks since it simplifies and makes more efficient a number of functions, but requires additional resources and control to keep component clocks synchronized. In this paper, we quantify how much power is spent to implement such a function, which helps to solve the dilemma in a system of low-power sensors. To find widely applicable results, the formal model used in our investigation is agnostic of the communication pattern that components use to synchronize their clocks, and focuses on the scheduling of clock synchronization operations needed to correct clock drift. This model helps us to discover that the dynamic calibration of clock drift significantly reduces power consumption. We derive an optimal algorithm to keep a software defined clock (SDCk) synchronized with the reference, and we find that its effectiveness is strongly influenced by hardware clock quality. To demonstrate the soundness of formal statements, we introduce a proof of concept. For its implementation, we privilege low-cost components and standard protocols, and we use it to find that the power needed to keep a clock within 200 ms from UTC (Universal Time Coordinate) as on the order of 10−5 W . The prototype is fully documented and reproducible.
Highlights
A shared time reference simplifies the coordination of a system of autonomous components; for instance, it allows for coordinating activities by scheduling them at given times, reducing communication overhead
Sensor networks require a fine-grained time reference in order to associate with a proper time events that are not related with component interactions, for instance to timestamp a sensor read operation
Summarizing, given a Software Defined Clock (SDCk) that uses an hardware clock with a frequency known with an uncertainty σ, that can synchronize with proper time with an uncertainty, using Equation (5), it is possible to optimize the scheduling of synchronization events in order to keep smaller than max the uncertainty for the timestamps returned by the SDCk
Summary
A shared time reference simplifies the coordination of a system of autonomous components; for instance, it allows for coordinating activities by scheduling them at given times, reducing communication overhead. We indicate as σ the uncertainty for the drift, in order to obtain a more realistic expression for the range that contains the proper length of a certain time interval, given the length δ measured on the hardware clock δ ∈ [δ(1 + ρ − σ), δ(1 + ρ + σ)] This expression is used to define the uncertainty of timestamps at times following a synchronization event. Summarizing, given a SDCk that uses an hardware clock with a frequency known with an uncertainty σ, that can synchronize with proper time with an uncertainty , using Equation (5), it is possible to optimize the scheduling of synchronization events in order to keep smaller than max the uncertainty for the timestamps returned by the SDCk
Published Version (
Free)
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have