Leap Second To Be Added End Of 2008 And Its Impact On Clustered Computers / Network

Posted on in Categories Hardware, High performance computing, Linux, News, Sys admin, Tips, UNIX, Windows server last updated December 31, 2008

Get ready for a minute with 61 seconds. Scientists are delaying the start of 2009 by the first ‘leap second’ a timing tweak meant to make up for changes in the Earth’s rotation.

The aged Earth is slowing down in its daily rotation, at least in the current epoch. So a leap second is added (a one-second adjustment added) to our time. This year will be exactly one second longer.

Precise time measurements are needed for high-speed communications systems among other modern technologies such as clusters, GPS, networks. You need to make sure that you are running updated version of ntpd that support leap second for UNIX and Windows computers.

More about leap second

A leap second will be added on December 31, 2008 at 23h 59m 60 – A positive leap second will be introduced at the end of December 2008. The sequence of dates of the UTC second markers will be:

       2008 December 31,     23h 59m 59s
       2008 December 31,     23h 59m 60s
       2009 January   1,      0h  0m  0s

Leap second impact and NTPD server

You may laugh think, that this may not have any impact due to NTP. This is true for normal systems. But, if your systems rely on absolutely precise timing connected over WAN may create problem as many apps can be marked as non-functional by the system due to an incorrect clock time. If millisecond level accuracy and resolution is the bare minimum, it is better to test all your application in advance for 1 second difference. Another option is to configure NTP server default limit of 1000 seconds offset. It is better to disable this offset limit. According to this page:

NTP is capable of dealing with leap seconds. Leap second announcements can be received from an upstream NTP server, an external radio clock or GPS receiver, or a leap second table file.

If an NTP daemon detects a leap second announcement it passes the announcement on to its clients, and notifies its own operating system clock of the upcoming leap second, if the operating system is aware of leap seconds. For OS support of leap seconds see below.

Please note that the time stamps NTP uses internally just counts the UTC seconds after the epoche, i.e. since year 1900. NTP does neither care about time zones, nor does it use human readable date and time as mentioned in the description of the refclock time strings above.

Of course the internal time stamps may be converted back to human readable format in log or debug messages, but since that conversion may be ambiguous (i.e. the inserted leap second and the next second may have the same time stamp) you will never observe the second counting from 59 to 60 and then 0.

Bottom line make sure your NTPD (NTP server) is updated and can handle leap second without a problem (XNTPD does this on Linux / UNIX without a problem). Here is workaround posted in xntpd man pages:

As provided by international agreement, an extra second is sometimes inserted in Coordinated Universal Time (UTC) at the end of a selected month, usually June or December. The National Institutes of Standards and Technology (NIST) provides an historic leapseconds file at time.nist.gov for retrieval via FTP. When this file, usually called ntp-leapseconds.list, is copied and installed in a directory. The leapfile configuration command specifies the path to this file. At startup, ntpd reads it and initializes three leapsecond values: the NTP seconds at the next leap event, the offset of UTC relative to International Atomic Time (TAI) after the leap and the NTP seconds when the leapseconds file expires and should be retrieved again.

If a host does not have the leapsecond values, they can be obtained over the net using the Autokey security protocol. Ordinarily, the leapseconds file is installed on the primary servers and the values flow from them via secondary servers to the clients. When multiple servers are involved, the values with the latest expiration time are used.

Also, test your application in advance for a leap second.

Set Your Desktop Computer Clock Via the Internet

The NIST Internet Time Service (ITS) allows users to synchronize computer clocks via the Internet. The time information provided by the service is directly traceable to UTC(NIST). The service responds to time requests from any Internet client in several formats including the DAYTIME, TIME, and NTP protocols.

Requests in these formats generally do not support authentication, and no keys or passwords are needed to use these services. This is great for Linux and Windows desktop systems, as well as single server owners without dedicated NTP server. Open your shell prompt and type:
$ sudo ntpdate time.nist.gov
Sample output:

[sudo] password for vivek:
 1 Jan 02:06:58 ntpdate[29163]: adjust time server offset 0.011757 sec

A note about Windows Vista / XP desktop system and NTP

See this article for Windows vista / xp desktop time adjustments via time.nist.gov.

Others can visit time.gov just before the update and click on their time zone to get more information about their system.

Further readings:

  • Excellent article about Leap seconds.
  • Leap second article from the wikipedia.
  • LEAP SECONDS – The aged Earth is slowing down in its daily rotation, at least in the current epoch. Civil time is occasionally adjusted by one second increments to ensure that the difference between a uniform time scale defined by atomic clocks does not differ from the Earth’s rotational time by more than 0.9 seconds.
  • Updated ntpd man page.
  • Leap second and UT1-UTC information.

Leave a Comment