[ntp:questions] Running NTP servers with different time offsets relative to some common "root" server?

Martin Burnicki martin.burnicki at meinberg.de
Thu Jun 27 12:23:52 UTC 2019

Hi Tobias,

sorry for the late reply. Your email via the mailing list just arrived
in my mailbox.

Tobias Gierke wrote:
> Hi everyone,
> I'm facing a NTP-relateded challenge at work and hope that somebody on
> this list has maybe solved a similar problem already:
> - Our product is a system consisting of multiple components that may or
> may not run on the same host and all parts require time synchronization
> at all times because we're processing timestamped measurement data

A basic question is: Which accuracy is required for your application?

> - Our application does a lot of heavy computation triggered at the start
> of every minute (by crond)
> - Since a lot of different application versions are deployed in the
> field and customers are slow to upgrade, we need to test many different
> versions of our application in our lab
> - To ease hardware requirements for testing we run all those different
> versions of our application inside virtual machines, currently all
> synced to the same NTP server

The next question is: Which virtualization software do you use?

How accurately the system time can be synchronized depends strongly on
the type and version of the virtualization software.

> - Since all those VMs are synchronized to the same server, all cron jobs
> on those VMs kick in at the same time, overloading the VM host periodically

Yes, and the the VMs can easily loose time.

> I already looked into a simple solution (like being able to pass some
> magic "--offset XX seconds" option to ntpd) but it seems there is no
> such thing.

There is no such thing when you specify remote NTP servers. It is
possible, however, to specify a time offset for hardware reference
clocks (i.e. server 127.127.x.y).
> So my current idea is to
> 1.) have 4 different time servers that each are offset from all the
> others by 15 seconds (so server #1 would have offset 00 seconds, server
> #2 would have offset 15 seconds, etc.)
> 2.) configure those servers with ULC w/ PPS and hook-up the same PPS to
> all 4 servers OR have one PPS source for each server and have all of
> them sync to a common source (like a DCF77 time signal)
> My problems are with the second step: I don't have a PPS source, I only
> have a Meinberg DCF600 USB
> (https://www.meinbergglobal.com/english/products/usb-dcf77-clock.htm),
> but I couldn't find any documentation on how to use it as  a PPS source
> only (and ignore the actual "time" part of the synchronization).

Actually, the DCF600USB doesn't provide a 1 PPS output by default
because the accuracy derived from the standard DCF77 AM signal is anyway
about a few milliseconds only.

You get this level of accuracy also via the driver software, and unlike
with GPS receivers an additional 1 PPS signal doesn't significantly
improve the accuracy in this case.

> Furthermore I don't really want to buy 3 more of those clocks if I can
> help it (especially considering the fact that we might need even more
> different "time domains" as the number of VMs increases).

The DCF600USB provides a 1 PPS signal internally, which can be easily
made available to the outside world. If you want you can give me a phone
call so we can discuss how you could do this.

Please find my phone number below.


Martin Burnicki

Senior Software Engineer

MEINBERG Funkuhren GmbH & Co. KG
Email: martin.burnicki at meinberg.de
Phone: +49 5281 9309-414
Linkedin: https://www.linkedin.com/in/martinburnicki/

Lange Wand 9, 31812 Bad Pyrmont, Germany
Amtsgericht Hannover 17HRA 100322
Geschäftsführer/Managing Directors: Günter Meinberg, Werner Meinberg,
Andre Hartmann, Heiko Gerstung
Websites: https://www.meinberg.de  https://www.meinbergglobal.com
Training: https://www.meinberg.academy

More information about the questions mailing list