2021 年 8 月 11 日,Facebook 分享了其 Time cards 硬件和软件设计。
2021 年 8 月 11 日,Facebook 工程师分享他们已经构建了一个用于网络同步的时间设备 Time cards 并开源了整个规范,该设备基于超精确原子钟和导航卫星的计时技术,将有助于在大规模互联网上加速服务。
每一台数字设备都需要知道现在是什么时间,有了时间这个维度,设备才能正确提供各种服务并记录各种类型的日志。尤其对于 Facebook 这种拥有几十亿用户规模的社交网络而言,没有精确的时间就无法协调数据中心的工作,因此 Facebook 决定打造自己的计时设备。
NTP 和 Stratum One 各有不足
在 Time cards 被分享之前,基本上有两种方法来检查时间。开发者会使用 NTP(Network TimeProtocol,网络时间协议)作为时间检查机制,但是这种公共 NTP 池增加了对互联网连接的依赖,并可能影响系统的整体安全性和可靠性。
运行封闭式数据中心的公司会由一个叫 Stratum One 的硬件设备来充当时间保持者。但它们是由少数几家公司多年来建造的,所以很难获得新的功能,并且因为它们具有专利性质,所以像 Facebook 这样的公司无法控制这些盒子。
新的 Time cards 更准确、更便宜
Time Cards 本质上是使用与插入图形卡和其他设备相同的 PCI Express 扩展卡技术安装到服务器中的电子板。Facebook 把插有 Time Card 并运行其计时软件的服务器称为时间设备。
Time Card 通过监听嵌入在 GNSS 导航卫星无线电信号中的计时信息而保持同步。时间卡潜伏在数据中心的深处,但它们连接到屋顶安装的天线,以接收卫星信号。之后,包括微型原子钟在内的一套电子元件会处理获得的数据,以供数据中心服务器使用。
目前,Time Card 的规格、原理图、材料清单(BoM)和源代码等都已托管至 GitHub 仓库。如果普通开发者不需要 Facebook 那么高的时间精度水平,可以通过换上更传统的晶体振荡器使成本降至约 300 美元。
Facebook 工程师表示:希望通过开源工作来帮助更多人
Facebook 表示,打造一款非常精确、价格低廉且不受供应商限制的设备本身就是一项成就。
他们在早期就决定将设计过程开源,以便其他公司和工程师能够为设计做出贡献。此举显示了互联网大部分公司的合作精神。即使像 Facebook、微软和谷歌这样的公司之间会有激烈竞争,他们也会为可以使竞争对手受益的开源项目做出贡献。这方面,最好的例子是全球范围内规模最大的开源软件项目 Linux,它是 Android 手机、SpaceX 航天器、超级计算机和无数数据中心服务器操作系统的基础。可以说开源使全球信息技术领域发生了全局性、持续性的重大变化,在社会基础设施建设方面也发挥着越来越重要的作用。
参考链接:https://engineering.fb.com/2021/08/11/open-source/time-appliance/
评论