Network Time and GSoC 2013 - Final Report

November 17, 2013 by Harlan Stenn

NTF had five successful projects in GSoC 2013. Watch Harlan’s interview by Google about the process.
These projects were:

  • NTF: General Timestamp Library and API, Chen Li

  • NTP: Unit Testing, Allen Zhong

  • NTP: scripts/ cleanup, Oliver Kindernay

  • NTP: Logging and Debugging API overhaul, Shubham Singhal

  • NTP: Startup Analysis, Rahul Katare

NTF: General Timestamp Library and API, Chen Li

In the summer of 2013 NTF launched the General Timestamp API Project. This GSoC project was designed as a “proof-of-concept” effort, and it was very successful. We learned a lot about the core data structure. We worked with UTC, GPS, and IERS-A timescales, and several leap-second methods. We implemented the new Timestamp structure as the core timekeeping element in a Linux kernel.

NTP: Unit Testing, Allen Zhong

Allen’s work has built on similar Unit Testing efforts that we’ve been working on every year starting with !GSoC 2010. In this 4th year, Allen focused on testing portions of libntp/. Specifically, he wrote a number of tests for the atolfp() and format_time_fraction() subroutines. He also wrote tests for get_systime(), adj_systime(), and the leap second code.

NTP: scripts/ cleanup, Oliver Kindernay

Over the years, the scripts/ subdirectory has been a place where a wide variety of scripts have been placed. Some of these scripts are used for the build process, some for installation, and some for example purposes. Oliver undertook to examine all of these files, group them together into appropriate subdirectories, and update many perl scripts to newer coding standards. He also improved a number of the AutoGen documentation translation scripts and world on some unit tests.

NTP: Logging and Debugging API overhaul, Shubham Singhal

The NTP codebase has used a few different methods for emitting logging and debugging messages, and there is no easy way to control how and where these messages are presented. Based on years of history and study, we’ve designed a new API for logging and debugging that will allow consistent and fine-grained control over the logging and debugging messages that the NTP software emits.

NTP: Startup Analysis, Rahul Katare

While there are situations where ntpd can be started and it will synchronize the system clock in about 11 seconds' time. But if this can’t be done, it can take 5 minutes or more for the system clock to be synchronized. This project is designed to study alternative ways to perform the initial synchronization of the clock.

Share on: