> Physical clocks can't capture causality.
Does a 'physical clock' with sufficiently accurate inter-node synchronisation and sufficiently good time resolution not meet the 'logical clock' definition?
> Physical clocks can't capture causality.
Does a 'physical clock' with sufficiently accurate inter-node synchronisation and sufficiently good time resolution not meet the 'logical clock' definition?
No, because a logical clock is a clock that is logically guaranteed to capture (I would prefer “bound”, but “capture” is the article’s term) causality, while a physical clock may or may not happen to do so with sufficient synchronization and resolution, but this is (unless I misunderstand) impossible to verify as a necessary condition regardless of how good the clock is.
https://cseweb.ucsd.edu/classes/sp16/cse291-e/applications/l...
> In distributed systems, it is frequently unnecessary to know when something happened in a global context. Instead, it is only necessary to know the order of events. And often times it is only necessary to know the order of certain events, such as those that are visible to a particular host.
They are talking about logical clock implementations as a way to avoid having to build a potentially expensive sychronised 'physical clock' system with sufficient accuracy and security for the application.
The notes also talk about ways to get higher accuracy synchronisation.
Thus, physical clocks, no matter how well synchronized, will never agree everywhere.
A perfectly synchronized physical clock totally works here.
Clocks have improved to the point where a 2 centimeter difference in height in the same room results in an observable difference in time. If you take into effect the gravity of the Sun and Moon, no two points on earth experience the same amount of gravity over time.
Now, if you have a logical clock, you might be able to pull consistency out of this, but the real world doesn't work that way, unless you lower the observation quanta to hours, minutes, seconds, on Earth only, and use UTC which isn't consistent across time.
That's why we have TAI[0]