Trending
Sponsored: From alarm overload to action: How AI is improving service performance today Oklahoma cryptomine condemned after 3.8m gallon water leak ASC cable break causes connectivity disruption between Perth and Singapore Playing their part in a sustainable AI era: How businesses can tap into data center power without spiking emissions GLP begins development of 200MW data center in Foshan, China Oil leak from data center contaminates water in Bangkok, Thailand Using waste heat from data centers GPU Lifespan in Data Centers: Physical vs. Economic Qualcomm and AWS partner on custom silicon for large-scale AI data centers Oracle issues RFP for 2GW of new renewable capacity in New Mexico GSMA urges regulators to back upper 6GHz spectrum for next-gen networks Google pledges €13bn investment in digital infrastructure in Finland Corvex targets 8MW of AI cloud capacity by end of 2026 Bitcoin hosting firm Bitari files for $30m Nasdaq IPO Sponsored: The race to secure power without burdening the grid

A Beginner’s Guide to Clocks, Causality, and Ordering in Distributed Systems

Why does something as simple as reading the time become a hard problem for distributed systems?. On a single computer, every event can be measured against one clock, so the order of the events is never in doubt. However, a distributed system, where work is spread across many independent machines, lacks a shared reference.

Each machine can read time from its own hardware clock, but those clocks do not stay aligned. Network Time Protocol (NTP) tries to bring the clocks together, but it cannot eliminate the problem.. This becomes a real problem whenever correctness depends on the order in which things happened.

If events on different machines are ordered by comparing timestamps, a small difference in the wrong direction can change the result. For example:. An update that happened later can be discarded in favor of an earlier one, because clock differences gave the earlier write the larger timestamp, and the newer data disappears with no error raised..

Logs gathered from several machines can place an effect before its cause, which makes tracing a problem much harder.. An operation that depends on a correct order, such as granting access only after the change that authorized it, can act on stale information.. In this article, we look at these ideas in detail:.

Why a machine’s own clock is a poor basis for ordering events, and how close synchronization can realistically get. What it means for one event to have happened before another, and why some pairs of events have no defined order. Logical clocks and vector clocks, and what each one can and cannot determine.

Why the order of events matters in practice, for replication, auditing, and debugging. Hybrid logical clocks and the problem they were designed to solve. How a globally distributed database such as Google Spanner approaches ordering at scale

 

Join the conversation

Your email address will not be published. Required fields are marked *