White Rabbit – sub-nanosecond synchronization for large distributed systems (ohwr.org)

159 points by michaelsbradley 2 days ago

pjdesno 13 hours ago

If you run "make" in the papers/IBIC2013 directory you'll get this paper: https://cds.cern.ch/record/1743073/files/thbl2.pdf

It's quite interesting - this isn't ethernet as we know it. Instead of each NIC using its own free-running clock, all the physical layers are sync'ed to each other at layer 1. (note that gigabit ethernet, which is what it uses, sends data at all times - when idle it sends the idle symbol)

morphle 4 hours ago

there are several 10 gbps implementations made in Europe https://gitlab.com/ohwr/project/10G-wr-nic/-/blob/f_ltgt_spe...

skulk 16 hours ago

Haven't looked into this in depth but sub-nanosecond sync for systems up to 10km apart is interesting since 10km is about 33 light microseconds. There is some trickery going on.

nuccy 10 hours ago

In our lab tests phase lock jitter between WR client and master is about 10ps (picoseconds) over 50km fiber (with temperature change of the fiber, so WR actively compensates elongations), so relative clock of one system can be transmitted with about that accuracy to another.

P.S. There is WR workshop this week with some talks being publicly available on CERN's indico website.

xxs 9 hours ago

Even though you're commenting on While Rabbit post, it took some time to understand "WR" is white rabbit, esp. since describing the pico seconds in brackets.

elromulous 15 hours ago

It's totally possible to achieve synchronization better than light transmission time. For the purposes of synchronization, the speed of light delay, and any other delay are indistinguishable, and need not be distinguished.

ooterness 15 hours ago

Two-way time transfer measures the round-trip propagation time. As a result, it's not directly relevant to the accuracy.

catoc 12 hours ago

So then you need to know distance / roundtrip-length within centimeter precision as well (below 29.98 cm for sub-nanosecond precision… to be precise).

Since cm precision is often not possible, is roundtrip-length an estimated average from prior roundtrips?

fsh 11 hours ago

RossBencina 8 hours ago

Gravityloss 8 hours ago

netjiro 11 hours ago

numpad0 8 hours ago

colechristensen 15 hours ago

The gravity well time dilation is about 3.5 nanoseconds per meter per year near the surface of the earth. (time changes rate with altitude in a gravity well)

Sub-nanosecond synchronization is getting into the relativity is measurable realm.

mike_hock 14 hours ago

That means you get a free clock cycle every 2-3 hours on top of a mountain compared to sea level!

brookst 13 hours ago

UltraSane 15 hours ago

Yes, it uses phased locked loops and measures phase difference between the master clock and the local clock.

geerlingguy 11 hours ago

Similar to the much smaller scale Wi-Wi setup that was on HN a few days ago (which came after WR): https://news.ycombinator.com/item?id=48209055

SiempreViernes 11 hours ago

yes, it needs custom built hardware to work.

zamadatix 13 hours ago

Some may find https://gitlab.com/ohwr/project/white-rabbit/-/wikis/home an easier starting point. Particularly the "Synchronization" page.

In short, it's about giving PTP and SyncE some extra smarts.

SiempreViernes 11 hours ago

Probably even better to start at the collaboration website https://www.white-rabbit.tech/wr-technology/

upghost 3 hours ago

If this wasn't CERN tech I would think I was being taken for a ride. Conventional wisdom is that distributed consensus is not possible at this kind of performance, does anyone have a sense for how this is different and how my mental model is wrong?

tempay 35 minutes ago

> Conventional wisdom is that distributed consensus is not possible at this kind of performance

I'm not sure why you would think that? If you can assume the fiber is the same in both directions you know the round trip time is exactly double the latency of the connection. Then you know to phase shift your start time by that much when you get a start signal and you're in sync.

Obviously it's not trivial in practice, but it's not a fundamentally insurmountable problem.

roughly 14 hours ago

Haven't dug in on the technicals, but this is coming out of CERN, it looks like - and in that light, the links to "We're hiring" on that page almost feel like a flex...

kikimora 9 hours ago

What is significance of this?

perfmode 5 hours ago

Distributed systems spend most of their effort on one problem: agreeing on the order of events across machines. Without synchronized physical clocks you have two options. Logical clocks (Lamport, vector) give you causal order but not wall-clock truth, so you can’t answer “did A really happen before B” for events that don’t have a happens-before relationship. Or you run consensus, which gives total order but costs round trips. At geographic scale that’s tens of milliseconds per decision, and the floor is set by the speed of light.

Tight clock sync collapses this. If clock uncertainty ε is small and bounded, you can timestamp a write, wait ε, and trust the global order without talking to anyone. Spanner’s external consistency works because TrueTime’s ε was a few milliseconds, so commit-wait was tolerable. The latency cost of planet-scale serializability stops depending on how far apart your replicas are and starts depending on how good your clocks are.

That’s the real significance. Time sync converts a coordination problem (bounded by physics) into a local computation (bounded by clock quality). Spanner proved this is possible but required GPS receivers and atomic clocks in every datacenter, which kept the capability inside Google for years. White Rabbit-class sync pushes ε from milliseconds toward sub-nanoseconds over commodity Ethernet hardware, and it’s now in IEEE 1588 as a standard PTP profile. If sub-nanosecond sync becomes baseline network infrastructure, the long-held assumption that strong consistency has to be slow at geographic scale stops holding, and a meaningful chunk of what databases currently work around (HLCs, weak isolation defaults, application-level reconciliation) becomes unnecessary.

hermitShell 3 hours ago

Very good explanation and interesting take on the 'humanity scale' or internet scale significance. I work on a phased array system so significance of white rabbit for me was always sample alignment. Assumed CERN had a similar use case of needing to order (sensor data of) physical events happening far apart.

But if we imagine the vast majority of internet and telecom infrastructure is also implemented this way, we can reason about information over time in general. Makes me think of 'earth is a big computer' type of sci fi trope. Neat!

Galanwe 5 hours ago

Used quite a bit by stock exchanges to ensure consumers and publishers have a reasonably aligned time.

dkdcdev 8 hours ago

it is useful e.g. to align the phase of signals being sent from different locations

LowLevelKernel 13 hours ago

Not on GitHub?

boguscoder 13 hours ago

Its on gitlab but even there I failed to find sources, documentation/presentations are there though

Wololooo 10 hours ago

If I remember everything is open hardware, CERN should have those repo accessible, last time I used it it was still very much in dev, especially their PCIe cards with custom kernel. This being said, I haven't touched it since ~6 years ago...

goofymiron 11 hours ago

https://www.white-rabbit.tech/wr-technology/

Note that this is also for a large part a hardware-based technology