
Huygens: Scalable, Fine-grained Clock Synchronization [pdf] - otterley
https://www.usenix.org/system/files/conference/nsdi18/nsdi18-geng.pdf
======
xfs
I like the topic of clock synchronization, so I read the paper. It's about
three ideas:

1\. "Coded probes," or a group of temporally structured packets that are
robust against random queuing delays and timestamping noise. The paper
proposes that the sender sends two packets with a fixed time interval so if
the receiver gets some other interval this data pair must have been corrupted.
I didn't find any argument on why the scheme is good at identifying noise
points besides a note about a 4-5x improvement. I don't think this scheme
necessarily identifies all noise points but it should be able to eliminate
some of the true positive noise points because of the temporal constraint.
More temporally sophisicated structures may have even better performance at
this task.

2\. So they collected a bunch of the coded probes and plotted them and found
out it somehow looked like the classic plot of the linear SVM, or actually the
error model of the measurement scheme being a stable lower bound of
transmission time plus a positive somewhat exponentially distributed error.
They use a SVM to identify the lower bound because the data fits the SVM
perfectly. I think more sophisticated models can also apply here given proper
probabilistic accounting of the error model.

3\. Cooperative network synchronization. In essence getting better accuracy by
averaging several clocks but in a network you can't average them directly so
it becomes message-passing on a probabilistic graphical model. As an analogy
think of a network of springs, and the network is optimized/converged when all
springs are at their lowest energy levels.

------
chrispeel
I guess hardware-based techniques like 1588 and SyncE will come down in price
in a few years. It seems natural that consumer-premises equipment will start
offering 1588 in, say, 2 years. Cheap 1588 can get you within 3ns, fancy
switches can get you to within .3ns.

~~~
profquail
Many (all?) Intel network adapters from the last decade have support for
ieee1588; that includes embedded options like the i219-LM (and earlier models
in that family): [https://ark.intel.com/products/82185/Intel-Ethernet-
Connecti...](https://ark.intel.com/products/82185/Intel-Ethernet-
Connection-I219-LM)

