[LEAPSECS] Google, Amazon, now Microsoft

Brooks Harris brooks at edlmax.com
Wed Jun 3 10:17:54 EDT 2015


On 2015-06-02 04:25 PM, Poul-Henning Kamp wrote:
> --------
> In message <556D8C59.9040309 at edlmax.com>, Brooks Harris writes:
>
>>> A lot of Windows machines are doing things where you would expect
>>> people to care about leap-seconds:  Nuclear power plants control
>>> systems, Air Traffic Control computers, Surgery robots, Patient
>>> Monitors, Power grid disturbance detectors etc.  etc. etc.
>> In many of those uses the PC is not doing the mission critical timing.
>> No event-driven multitasking OS can do precise timing [...]
> You're saying this to the bloke who implemented a prototype adaptive
> optics solution for the ESO ELT on a plain, unmodified FreeBSD
> kernel ?
I didn't know that, very impressive. Is there information anywhere how 
it was done?

I bring the RT aspect up because its not often mentioned in the 
discussion. It seems LEAPSECS is inhabited mostly by Linux folks, at 
least the conversaions seem to revolve around it more. The discussion 
often seems to treat PCs as if they are RTOS. I know Windows (and as I 
said elsewhere, I hate it, but here I am :-) ) and the possible 
differences in timekeeping in various OSs (and applications) are part of 
the complexity of the topic. The nature and performance of them and how 
timekeeping is implemented in each is of interest to me.

>
> Anyway, the PC doesn't need to do the RT parts directly in order
> to mess them up with wrong timestamps.
Right. This thread started on the topic of Azure's possibly treating the 
application of the Leap Second to local time differently than the POSIX 
spec, as stated by the "The Register" article -

The time on Microsoft Azure will be Different by a second, everywhere
http://www.theregister.co.uk/2015/05/29/windows_azure_second_out_of_sync/

As I said earlier - A) Where did they get this information? B) Is it 
true? C) Is that how Windows is behaving?

Investigating, including running some c++ tests of the Windows time APIs 
to observe the counting, I think that article is dead wrong, or, at 
least, misstates the situation. My tests suggest the counting is the 
same as POSIX (or maybe like NTP, that is freeze v.s. reset), and 
another link to a blog from a Microsoft guy who states -

"Contrary to one post I recently read, Microsoft doesn’t implement a 
leap second time zone by time zone – in other words, in a rolling 
fashion, like the way we watch new year celebrations count down around 
the world. Essentially, the leap second occurs at the same time everywhere."

Another look at the impact of the coming 2015 leap second (not much)
http://blogs.msdn.com/b/mthree/archive/2015/06/01/2015-leap-second-060115.aspx

-Brooks

>
>>> But this is not something they are happy about doing, much less
>>> proud of doing, but weighing the risks of "heterogeneous" leap-second
>>> handling and the risk of being up to half a second wrong about time
>>> for most of a day, they picked the second risk.
>>>
>> The failures folks are frightened of are bugs evoked by the Leap Second.
>> At least some of which are just "stupid" bugs, like threading races when
>> outputting the Leap Second event to the system log, not basic
>> timekeeping calculation errors. If all parts of the system did POSIX and
>> NTP correctly the timekeeping would not reflect UTC correctly because
>> neither POSIX or NTP do that anyway, but the systems wouldn't hang or
>> crash. As it is they have to "smear" to minimize the problems.
> Which is like saying that if only 50% of all programmers weren't
> below the skill-median, we wouldn't have the problem.
>



More information about the LEAPSECS mailing list