[ntp:questions] Dual-core systems - AMD - Windows Vista

David J Taylor david-taylor at blueyonder.not-this-bit.nor-this-bit.co.uk
Sun Dec 2 06:39:48 UTC 2007


Danny Mayer wrote:
> David J Taylor wrote:
>
>> NTP on Windows uses the RDTSC instruction.  Which CPU does it read
>> the time stamp counter from?  If NTP is multi-threaded, different
>> threads could be run on different CPUs with different TSCs.  Yes,
>> just the same issues arise with 4 CPUs, and I don't know how the
>> Windows version of NTP handles the multi-processor scenario.
>>
>
> How do you know that NTP on Windows uses the RDTSC instruction? The
> CPU on which the thread is running will be used to read the TSC. In
> the case of Windows NTP definitely *is* multithreaded. It needs to be
> to operate correctly. I cannot currently tell you how it
> interoperates with Windows with multiprocessors. That's a research
> topic and non-trivial at that.

Danny,

Thanks for your reply.  Perhaps my recollection is at fault here, but I 
recall that NTP on Windows uses some interpolation technique to overcome 
timer granularity, and that the interpolation used a CPU counter.

Now I think further into the topic, I realise that with Windows XP NTP 
works perfectly witha dual-core AMD or Intel system (once the multi-media 
timers are enabled for the duration), but the problem appears to be on 
Windows Vista.  So the question I should be asking is more: "How does 
Windows Vista differ from Windows XP so as to affect NTP, and is that 
anything to do with multi-processors or not?".

The performance I'm seeing is definitely much poorer and, at times, it 
looks almost like NTP is switching between two different times.  For 
example, look at yesterday around 10:00 UTC.

  http://www.david-taylor.myby.co.uk/mrtg/gemini_ntp.html

I may try rebooting that PC with dual-core disabled and see what happens.

Cheers,
David 





More information about the questions mailing list