10 likes | 170 Views
Improving Clock Synchronization under KURT-Linux. T1. Client. d1. d2. Server. T2 T3. Solution Features. Driving Problem. Synchronization accuracy using NTP is dependent on the variance in transmission delay, and the accuracy of the timestamps taken.
E N D
Improving Clock Synchronization under KURT-Linux T1 Client d1 d2 Server T2 T3 Solution Features Driving Problem • Synchronization accuracy using NTP is dependent on the variance in transmission delay, and the accuracy of the timestamps taken. • NTP derives an offset between client and server clocks using these timestamps, assuming that the transmission delays d1 and d2 are equal. • Timestamps taken by NTP are recorded at the user-level. Our modifications reduce d1 and d2 variance by taking timestamps in the OS, as close to the hardware level (Ethernet interface) as possible. • On LANs the variance in message transmission delay is much smaller than the variance introduced by these three factors: • Non-determinism of interrupt response time. • Variable network protocol processing time of NTP messages. • OS variance in scheduling the synchronization daemon. • Reducing variance arising from these factors permits us to vastly increase clock synchronization accuracy • In combination time standard calibration to reduce drift rate • Distributed real-time and embedded systems need fine-grained clock synchronization for control and evaluation purposes • NTP synchronization provides insufficient resolution for our interests, including: • Distributed computation performance evaluation • Industrial automation coordinating actions by multiple machines • Time division multiplexing of Ethernet use by multiple machines T4 • T[1-4] are timestamps recording send and receive times of the NTP messages exchanged between the client and server. • d1 and d2 represent the transmission delay of the messages exchanged. Results The Role of KURT-Linux • KURT-Linux properties allow us to improve clock synchronization in two ways: • Calibration of client machine time standard • Reduction of variance in d1 and d2 • After KURT-Linux clock calibration period, client clock tick rate typically differs from master by at most 30-40 parts per billion. • Vastly reduced drift rate makes maintaining clock synchronization both cheaper and easier • Two factors reduce variance of NTP message delays d1 and d2 • KURT-Linux reduces interrupt response latency, thus reducing factor 1. • NTP packet timestamps T[1-4] are taken within the OS under KURT-Linux, as early as possible after the packet arrival interrupt, thus reducing factors 2 & 3. • Clock synchronization within single switch improved ~50 fold • Client clock offset vs. time. Our calibration techniques produce a worst case synchronization of client with master of +/- 20 microseconds. • Synchronization with NTP and vanilla Linux is on the order of 1 millisecond. • Our methods improved synchronization on a single switch LAN by a factor of ~50 040405