[time-nuts] White Rabbit, PTP, NTP and all kinds of time sync methods over networks and perhaps a fun time sync experiment

Ahmad Byagowi ahmadexp at gmail.com
Sat Aug 7 19:21:11 UTC 2021


Hello everyone,

We have an interesting talk this Wednesday (Aug 11) 11am PST about White Rabbit 🐇 and it's application. I am a fourth generation clock maker but happened to be interested in time sync in hyper scale. Last year, under the open compute project we established the time appliances project. We have every two weeks a guest speaker and the session gets recorded. You can find all the previous talks on www.ocptap.com (from there go to the wiki).
One thing I was wondering if this group is interested to do is, since everyone here is world class time keeping expert, why don't we practice to run the gossip algorithm between our machines on the internet. If more interested, here is more details;

You should get a NIC with hardware time stamping. Luckily, these days, most Intel NICs, even the one built into your motherboards are capable to do that. Mellanox NICs are also capable to do that.
Then we will form a VPN where all the participants can connect to each other. Then on each side we will sync the NICs with whatever time source/time keeping technology you have. To do this part, you can either use the time card (source code for hardware and software can be found on www.timingcard.com) or use can get a NIC with PPS output or input. For the Intel i210, I can show you how to hack the firmware and make one of the GPIOs on the NIC to do 1 PPS output.
Then comes the fun part which we will run an application with a list of all the participating IP address in our VPN. [This part is the gossip algorithm] each machine sends to the list of participating machines a packet with the transmit time. Every machine upon receiving a packet time stamps it on the arrival time. If all the machines are in sync within/less than the network latency, you should always have the arrival time later than the transmission time of a packet (this is called linearizability). I have the code written for this as well. This will contantly monitor your time keeping hardware with everyone else participating in this experiment.
Let me know what do you guys think and if you guys are interested.




More information about the Time-nuts_lists.febo.com mailing list