Windows Time gets accuracy improvements and leap second support
Microsoft plans to integrate improvements in the upcoming Windows 10 version 1809 and Windows Server 2019 operating systems that improve the accuracy of time.
The upcoming versions of Windows include compliant leap second support, a new time synchronization protocol called Precision Time Protocol (PTP), software timestamping, clock source stability improvements, and traceability support.
Leap seconds are needed to keep UTC in-sync with mean solar time. Current regulation makes it necessary to adjust the time accordingly but also make sure to maintain accuracy during a leap second.
Leap seconds get added in a very specific way. A clock runs the seconds from 0 to 59 usually for a total of 60 seconds. Leap seconds add an extra second and this has to be reflected somehow. When a leap second occurs, it is added to the last minute of the UTC day; the clock goes from 0 to 60 which results in a total of 61 seconds being counted at the time.
Microsoft did even add support for negative leap seconds. While they never occurred before, Windows is prepared for the event that this is going to happen.
Negative leap seconds are counted in similar fashion, only that a second is removed and not added so that only 59 seconds are counted and not 60 as usually.
Microsoft made the decision to not use leap second smearing as an option. Leap second smearing refers to a technique in which the extra second is split into much smaller units and added to the time throughout the day.
The reason why the technique is not added is that it has an error of order +/- 0.5 seconds with respect to the definition of UTC.
Precision Time Protocol
The coming versions of Windows will include time accuracy improvements next to that. Microsoft plans to include the Precision Time Protocol in Windows Server 2019 (Windows 10 also? Microsoft does not say) which won't replace the current standard Network Time Protocol (NTP) but will be an option for industries that require more accurate time syncing between network devices.
The main issue with NTP is that it assumes that the round-trip delay is symmetric in the network. PTP on the other hand supports latency per device which is more accurate.
Enter Precision Time Protocol (IEEE 1588v2). PTP enables network devices to add the latency introduced by each network device into the timing measurements thereby providing a far more accurate time sample to the endpoint (Windows Server 2019 or Windows 10, host or virtual machine).
Software Timestamping
Another new concept that Microsoft will introduce in the coming versions of Windows is Software Timestamping.
Since timing packets need to be processed by the operating system's networking stack prior to being used by the time service, latency that is added by these processes need to be accounted for as well.
Latency introduced by the networking stack may add up to 200µs in extreme scenarios which alone is higher than the sub-100µs target of some government regulations.
Microsoft records the timestamp of packets before and after they have been processed by Windows Networking Components to make time more accurate.
Other improvements
Microsoft revealed one additional accuracy-based improvement and options to better trace accuracy:
Clock Source StabilityÂ
Attempts to make the clock source more stable by changing how time samples are processed.
It’s important to understand that a host system receives time “samples†from its time server, however it does not immediately apply these samples to the clock.
[..] we take multiple time samples, eliminate the outliers, and discipline the clock with the goal of bringing the system closer and closer to synchronization with the time server.
Traceability
Microsoft will add options to prove and trace the accuracy of time sources. Windows Server 2019 will include "additional logging capabilities that can be used to audit the actions taken by the Windows Time service".
The logs may answer the following questions among others:
- What is the chosen time server and synchronization frequency
- When was the last synchronization and results of that synchronization
- What actions were taken after the synchronization (did we discipline the clock?)
The operating system supports new performance counters and admins may use a SCOM management pack to get notifications when NTP Offset thresholds are exceeded. (via Deskmodder)
Because I avoid as much as I possibly can connections to Microsoft servers, native Windows 7 time retrieval is disabled, replaced by the ‘NetTime’ application (http://www.timesynctool.com/), free, reliable, well built.
now you know precisely what time Windows 10 decides to wreck your install with a forced update.
I suspect most users, including myself, prefer the default time to be local time. That is a good reason for a default. I agree it is clearer in some circumstances to use UTC directly, as when a forum post gets timestamped in the forum local time.
Any word on keeping the system clock in UTC, rather than local time by default?
sure set you’re time zone to utc,
right click on the clock -> adjust date/time -> set time zone to [ (UTC) coordinated universal time ]
UTC without + or – 00:00 otherwise you can get summer/wintertime settings.
but your clock always work in UTC only displays it differently.
but don’t forget to set you ntp provider correct and apply a better sync period.
My question should’ve been clearer. By “system clock”, I meant the computer’s real-time clock (RTC), rather than the time displayed by Windows.
I.e. the behaviour you get when setting the RealTimeIsUniversal registry key to 1.
http://www.cl.cam.ac.uk/~mgk25/mswish/ut-rtc.html
Nice, and now please Microsoft put a single option to show the seconds on the taskbar. “More accuracy time” and I have never seen the seconds nowhere. More hilarious impossible.
A nice piece of history and confidence building way to show seconds in the taskbar is described at
https://www.howtogeek.com/325096/how-to-make-windows-10s-taskbar-clock-display-seconds/ .
While the howtogeek approach I referenced works well for me, I have concluded when I actually want time to the second, clicking on the taskbar date – day – year area shows the long time in seconds, (as well as two other time zones in short time I have defined). Thus this the best approach for me, rather than a registry change.
i
Thanks for the ‘howtogeek’ reference! Very interesting! :)
You can do a easy registry tweak to show seconds if you want.
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced
ShowSecondsInSystemClock DWORD
0 = Hide seconds
1 = Show seconds
This worked for me, thank you very much. :)
in your control panel in windows 10, go to “Change time and date formats”
then in the “long time” dropdown, choose h:mm:ss t
that will now show seconds in the taskbar
I guess this should be the right way, however it doesn’t work for me. :/
* Windows 10 1709 Home
AFAIK windows never supported NTP, only the abbreviated SNTP and preset to their own unreliable server. You’ve always had to run proper ntpd, chronyd on the router and query the time from there, to have a proper solution. Only I guess nobody did it.
Sooo… now introducing a new high-precision time protocol, the windows users surely aren’t going to notice it but it’s definitely another big move towards establishing economic hegemony for M$.
[quote]AFAIK windows never supported NTP[/quote]
strange: what have I been doing then all those decades ?
setting reliable time sync servers , syncing them with the atomic clocks around the world.
making sure that stray DB-servers don’t sync in a large step (more then 5 mins)
Windows never had a real clock, for obvious reasons, and can only count in ticks (cpu cycles) that’s why your clock runs quicker when overclocking Yuliya
I have a bad feeling whenever Microsoft messes with time in Windows. Remember Windows 8, if you had your CPU overclocked (and pretty much everyone with a Sandy or Ivy Bridge CPU would overclock them to like 4GHz at that time), Windows would start counting seconds faster.
Now I won’t have any excuse left for being late anymore…