[ntpwg] NTP interleaved modes
David L. Mills
mills at udel.edu
Sat Jul 5 01:56:18 UTC 2008
Guys,
NTP symmetric and broadcast interleaved modes as described in a previous
message have been implemented and tested in the development version. The
best performance shows reliable jitter after the clock filter in the
order of 20 us. The white paper at
http://www.eecis.udel.edu/~mills/onwire.html and briefing at
http://www.ecis.udel.edu/~mills/database/brief/onwire/onwire.ppt have
been updated. The documentation on the web has been updated as well.
The interleaved modes coexist with the normal modes just fine.
Interleaved broadcast can be operated simultaneously with ordinary
broadcasts, so prior versions will not be disturbed. Interleaved clients
will discover the new mode and automaticallyh switch. A symmetric peer
capable of interleaved mode will revert to ordinary mode if the other
peer cannot do interleave. Interleaved mode is activated by a new xleave
option in the broadcast and peer commands.
While the new modes reduce the output wait due to kernel and queueing
latencies from 16 us to over 1 ms, depeing on NIC hardware and driver,
obviously they are designed for hardware and/or driver timestamping.
I've been looking at ways to do that. I have a couple of IEEE 1588 NICs
from Meinberg and have looked over the driver and documentation. It uses
the AMD79C973 PCNET chip augmented by a FPGA that on command captures
the SOF timestamp. The pcn driver in FreeBSD can uses this chip. The
FPGA is treated as a separate read-only device triggered by the chip
interrupt.
The original motivation for this project was to use the protocol with
the CCSDS Proximity protocol designed for near-space links used on Mars
missions and soon on Moon missions. NASA won't let me have a rover for
experiment, so the next best thing might be an Ethernet project. I'm
somewhat over my head with Unix drivers, but I have had a long look at
the FreeBSD drivers and Ethernet interface code. I've even had a serious
experience with the AMD chip documentation (Wow, are those chips getting
fancy!). The Meingerg driver is for Linux and from previous ex;perience
I really don't want to use that system. The FreeBSD pcn driver could
easily be hooked to do the same thing as the Meinberg driver. My problem
is the FPGA driver, which shouldn't be hard for an experienced
driverologist.
So, I'm tossing out the challenge. Anybody want to take on the FPGA
driver? Make no mistake, this is not intended as a challenge to 1588,
but rather an interesting challenge with goal NTP performance over the
wire is as good as the PPS signal, which is in the 2-us range.
Dave
More information about the ntpwg
mailing list