Goal
Make `content/distributed-systems/ordering-events-in-distributed-systems.md` a clean, source-grounded explanation of happened-before, total-order extensions, and physical clock synchronization.
Current gaps
- The title/frontmatter says “Clock Synchronization,” while most of the page is Lamport ordering. Choose a clear title and split physical-clock synchronization into a separate note or a clearly bounded final section.
- Correct the order-theory language: happened-before is an irreflexive partial order; a total-order extension is an arbitrary tie-break that preserves causality, not a reconstruction of real-world time.
- The notation section currently contains malformed or contradictory definitions (for example, (a \Rightarrow b) is defined as “before or concurrent” but then implies (a\to b)). Replace it with a small, consistent notation table.
- Give the Lamport mutual-exclusion algorithm as a standalone algorithm with exact request/reply/release rules, then cross-link the mutual-exclusion note instead of duplicating an incomplete version.
- State the channel assumptions and liveness boundary: FIFO/reliable delivery and eventual delivery are required; arbitrary delay or a crashed participant can block this algorithm.
- Add a three-process event diagram showing concurrent events, happened-before edges, Lamport timestamps, and a deterministic total-order tie-break.
- Correct the external-events example: an event outside the modeled system cannot be ordered from the system trace alone; an actual causal message can establish order once it enters the model.
- Rework the physical-clock section around clock rate, offset, drift, message delay, maximum error, and uncertainty. The current derivation uses a bound (\mu) without making the network/timing model explicit.
- Cite the original papers for logical clocks and physical-clock synchronization, and remove unsupported “forward direction” claims unless they are explained with a concrete algorithm.
Sources to add
Acceptance criteria
- The notation is internally consistent and every relation is defined once.
- The note clearly distinguishes causal partial order, arbitrary total-order extension, and wall-clock synchronization.
- A worked diagram/trace demonstrates the difference.
- The physical-clock equations state assumptions and cite their source.
- Frontmatter is normalized and cross-links to clocks and mutual exclusion are coherent.
Goal
Make `content/distributed-systems/ordering-events-in-distributed-systems.md` a clean, source-grounded explanation of happened-before, total-order extensions, and physical clock synchronization.
Current gaps
Sources to add
Acceptance criteria