I have worked on synchronization, and couldn't figure out what the article wants to say. If you're interested in the topic, read Wikipedia articles about NTP [1] or clock signal [2] and articles linked from them.
Your computer has way more than two hardware clocks.
Anyway, in Linux, clock_monotonic is nearly useless for distributed systems because NTP can arbitrarily screw up its speed.
Clock_monotonic_raw does what most distributed systems want, but for some reason it performed a kernel crossing last time I checked. (Clock_monotonic doesn’t do a kernel crossing.)
One possible solution is to use the TSC directly, but then apply an appropriate multiplier to get all the (heterogeneous) processors to run at the same speed.
4 comments
[ 3.4 ms ] story [ 20.5 ms ] thread[1] https://en.wikipedia.org/wiki/Network_Time_Protocol
[2] https://en.wikipedia.org/wiki/Clock_signal
Anyway, in Linux, clock_monotonic is nearly useless for distributed systems because NTP can arbitrarily screw up its speed.
Clock_monotonic_raw does what most distributed systems want, but for some reason it performed a kernel crossing last time I checked. (Clock_monotonic doesn’t do a kernel crossing.)
One possible solution is to use the TSC directly, but then apply an appropriate multiplier to get all the (heterogeneous) processors to run at the same speed.
I wish Linux’s clocks were better.