[time-nuts] An embedded NTP server

Michael Tharp gxti at partiallystapled.com
Tue Dec 25 20:44:06 UTC 2012


On 12/25/2012 02:51 PM, David J Taylor wrote:
> I think you should be able to do better on the jitter as your algorithms
> develop.

Yes, for starters something is causing a silly amount of extra latency 
hence the 2.4ms round-trip. I managed to cut that in half by changing 
compiler options but talking to someone using the same stack I should be 
able to get it down to ~ 400us round-trip, at worst. I have some ideas 
on how to achieve that but I want to get all the functionality working 
before I start optimizing.

The main lack of functionality, which may or may not be the cause of the 
jitter, is that I haven't actually integrated the PLL/disciplining stuff 
yet. I just have a timer that resets with each GPS pulse, and runs at 
whatever nominal frequency the oscillator has. Not great but it 
succeeded at getting results fast. Not up to time-nuts standards though. 
Now I'm going back and adding the PLL.

> "SNTP" does imply something else, so perhaps avoid calling it that,
> although if it doesn't respond to all the NTP management calls I'm
> unsure what it should be called!

I suppose that I could call it NTP and still sleep at night since, while 
not a traditional NTP implementation, it does still feature control 
loops similar to those found in purely software-based NTP. I have not 
yet looked at what administrative/query functionality I could implement. 
Some of it like listing peers does not make sense but perhaps other 
commands could be mapped to make it more complete. I would also like to 
expose some of the internal statistics via SNMP or some other means for 
graphing.

> Oh, and your Windows box 172.24.0.68 is either poorly configured or
> broken - they can work much, much better than yours illustrates as I
> expect you know.

Yes, it's not healthy. I installed Meinberg's NTP build and configured 
it using defaults other than the server list but it seems to not be 
tracking well. Right now it's "only" 30ms off but as shown in the forum 
snippet it makes excursions into the hundreds. Still an improvement over 
default Windows timekeeping but I'd love for it to work properly.

-- m. tharp




More information about the time-nuts mailing list