Facebook on Wednesday shared hardware and software designs for its Time Cards, the devices it uses to keep its massive data centers working at peak efficiency. The timekeeping technology, based on ultra precise atomic clocks and navigation satellites, ultimately helps speed up services running at enormous internet scale.
Just about every digital device has to know what time it is, for example, to properly record when it saved a file. That's why computers can tap into public servers that broadcast the information using the decades-old Network Time Protocol. But to coordinate work across data centers at Facebook's scale, the social network needed more precision, so it decided to build its own timekeeping device.
A Time Card sounds like something Doctor Who would use to fix the Tardis, but it's of more use in a data center. With Facebook's design now shared through the Open Compute Project, anyone who wants one can build one for about $300 to $2,000, depending on how fancy they want it to be.
The move shows the curious spirit of cooperation that underpins much of the internet. Even as companies like Facebook, Microsoft and Google often compete fiercely, they also contribute to open-source projects that can benefit their rivals. The best example is Linux, the operating system foundation for Android phones, SpaceX spacecraft, supercomputers and countless data center servers.
"Building a device that is very precise, inexpensive, and free from vendor lock was an achievement," Facebook engineers Ahmad Byagowi and Oleg Obleukhov wrote in a blog post, but they wanted to help more people by open-sourcing the work. Now, "anyone can build their own Time Card for a fraction of the cost of a regular time appliance."
The Time Cards are electronics boards that fit into servers using the same PCI Express expansion card technology used to plug in graphics cards and other devices. Facebook calls a server with a Time Card plugged in and running its timing software a time appliance. Orolia, a company that already sells electronics used for timing, positioning and navigation products, will sell versions of the Time Card, Facebook said.
Time Cards stay in sync by listening for the timing information that GNSS embed into their radio signals. Time Cards lurk deep in the bowels of a data center, but they connect to roof-mounted antennas that pick up the satellite signals.
Then a suite of electronics components including miniature atomic clocks process the data for use by data center servers. If you don't need Facebook's level of precision, you can cut costs by swapping in more conventional crystal oscillators for timing to bring the cost down to about $300, Facebook said.
The precise timing data lets huge groups of servers share work to act more like a single machine. To do so, each server needs to know exactly what time it is, for example, when storing data on a central storage system that needs to know the precise order each data element was written.