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

Tobias Gierke tobias.gierke at voipfuture.com
Mon Jul 8 06:50:00 UTC 2019

Hi Mike,

>> Le 20 juin 2019 à 15:24, Tobias Gierke <tobias.gierke at voipfuture.com> a écrit :
>> 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
>> - 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
>> - 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
> I have also hit a similar issue, so I just modified the cron jobs to drop in a sleep command before running the compute command. Problem fixed. Since you are happy with offsetting your clocks, offsetting your post-processing startup shouldn't hurt.

Unfortunately this is not possible since the bulk of the workload is 
generated through ~150 SQL stored procedures triggered by pg_cron (a 
PostgreSQL extension running inside PostgreSQL) so we'd need to have 
configurable pg_sleep() calls in all those stored procedures.

Obviously we could introduce this offset as an application feature but 
then we'd still have to deal with the associated measurement/capturing 
systems (different VMs) that need to run with the same time as the 
database VMs. So not really feasible I'm afraid.


>> 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.
>> 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). 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).
>> Any ideas?
>> Thanks in advance,
>> Tobias
>> _______________________________________________
>> questions mailing list
>> questions at lists.ntp.org
>> http://lists.ntp.org/listinfo/questions
> «  What’s the point! »
> Jenny C.
Tobias Gierke
Software Developer

Voipfuture GmbH   Wendenstr. 4   20097 Hamburg   Germany
Phone +49 40 688 9001 64   Fax +49 40 688 9001 99   www.voipfuture.com
Managing Directors   Jan Bastian   Eyal Ullert
Commercial Court AG Hamburg   HRB 109896   VAT ID DE263738086

More information about the questions mailing list