Facebook 开源一款计时硬件设备“Time Appliance”,致力于增强系统整体安全性和可靠性

近日,Facebook的工程师宣布建立并开源了一个“开放的计算时间设备”(Open Compute Time Appliance),这是现代计时基础设施的一个重要组成部分。

早在 2020年3月,Facebook曾宣布正在将数据中心的服务器(连同 Facebook 的消费者产品)切换到基于网络时间协议(NTP)的新计时服务。新的服务是在内部建立的,后来开放了源代码,具有更强的可扩展性,将Facebook 基础设施的计时精度从10毫秒提高到100微秒。更准确的计时使我们的数据中心能够进行更先进的基础设施管理,以及提高分布式数据库的性能。

而新的基于NTP的时间架构使用Stratum 1--这是一个直接与权威的时间源,如全球导航卫星系统(GNSS)或铯钟相连的重要组件。

图中显示了第0层到第3层。第1层是一个重要的组成部分,它是一个直接与权威的时间源相连的设备,如全球导航卫星系统或铯钟。

许多公司依靠公共NTP池,如 time.facebook.com 来作为他们的 Stratum 1。然而,这种方法有其缺点。这些池子增加了对互联网连接的依赖性,并可能影响系统的整体安全性和可靠性。例如,如果连接丢失或外部服务中断,就会导致依赖系统的中断或时间漂移。

为了消除这些依赖性,Facebook 工程师建立了一个新的专用硬件,称为「时间设备」(Time Appliance),它由一个全球导航卫星系统接收器和一个小型化原子钟(MAC)组成。即使在GNSS连接丢失的情况下,使用时间设备(Time Appliance)的用户可以保持准确的时间。在建立我们的时间设备的同时,工程师们还发明了一个时间卡——一个PCIe卡,可以把任何商品服务器变成一个时间设备。

在OCP社区的帮助下,Facebook 建立了这个 开放计算时间设备项目,并对开放时间服务器的每一个方面进行开源。

更多详情技术架构信息可以查看 Facebook 工程师博客