Facebook shared yesterday the hardware and software design of its “Time Cards”, a device used to keep its massive data centers running at peak efficiency. This timekeeping technology, based on extremely accurate atomic clocks and navigation satellites, will ultimately help speed up the various services that operate at the scale of the Internet.
Every computing device needs to know what time it is. With the dimension of time, the device can properly provide various services and record various types of logs; without it backups will fail, financial transactions will go wrong, and many basic network services will not work.
Accurate time data allows huge clusters of servers to work together, making them more like one machine. To do this, each server needs to know exactly what time it is. For a social network the size of Facebook, with billions of users, it is impossible to coordinate data centers and provide better service to users without accurate time, so Facebook decided to build its own timekeeping device.
Today, most companies rely on public NTP pools (such as time.facebook.com) as their layered clock. However, when an Internet connection goes down, your device’s ability to stay in sync with all other remote servers and services is also reduced.
Time Card was created to eliminate these dependencies, and with Time Card it is possible to keep accurate time within 1 microsecond every 24 hours, even without an Internet or reliable GNSS connection.
Time Cards are essentially electronic boards that are installed on servers using the same PCI Express expansion card technology that is inserted into devices such as video cards. Facebook refers to servers with Time Cards plugged in and running their timing software as time devices. Although the Time Cards are installed in the deepest part of the data center, they are connected to antennas mounted on the roof to receive satellite signals. Afterwards, a set of electronic components, including a miniature atomic clock, processes the resulting data for use by the data center servers.
The specifications, schematics, bill of materials (BoM), and source code for the Time Card are all hosted on the GitHub repository. In short, if you can deal with printed circuit boards (PCBs) and soldering tiny parts, you can make your own Time Card at a very low cost.
Facebook says that if the average developer doesn’t need the level of time accuracy that Facebook does, they can get the cost down to about $300 by switching to a more traditional crystal oscillator.
And if developers aren’t as hands-on, don’t worry, Facebook is partnering with Orolia, a company that sells electronics for timekeeping, positioning and navigation, to sell Time Cards.