Facebook 去年下半年分享了名叫时间卡(Time Card )的硬件和软件设计,这是它用来保持其庞大数据中心以效率运行的设备。基于准确原子钟和导航卫星的授时技术帮助加快巨大规模互联网上效率运行的服务。
如今几乎每个数字设备都需要准确的时间,例如,在保存文件时正确记录。这就是为什么计算机可以利用已有数十年历史的网络时间协议接入公共服务器来广播信息的原因。但要以 Facebook 的规模协调跨数据中心的工作,社交网络需要更高的精度,因此它决定构建自己的授时设备。
时间卡听起来像是神秘博士用来修复 Tardis 的东西,但它在数据中心更有用。Facebook 的设计现在通过Open Compute Project共享,任何想要的人都可以以大约 300 到 2,000 美元的价格构建一个,具体取决于他们想要的外观。
此举显示了支撑大部分互联网的好奇合作精神。即使像 Facebook、微软和谷歌这样的公司经常竞争激烈,他们也为开源项目做出贡献,让他们的竞争对手受益。好的例子是 Linux,它是 Android 手机、SpaceX 、超级计算机和无数数据中心服务器的操作系统基础。
Facebook 工程师 Ahmad Byagowi 和 Oleg Obleukhov 在一篇博文中写道:“制造一种非常准确、便宜且不受供应商锁定的设备是一项成就,但他们希望通过开源这项工作来帮助更多的人。现在,“任何人都可以用常规时间设备的一小部分成本构建自己的时间卡。”
Time Cards 其实是一种电子板或者叫授时板卡、时间板卡,可以安装到服务器中,使用与插入显卡和其他设备相同的 PCI Express 扩展卡技术。Facebook 将插入时间卡并运行其计时软件的服务器称为时间设备。Facebook 表示, Orolia是一家已经销售用于计时、定位和导航产品的电子产品的公司,它将销售 Time Card 的版本。
考勤卡通过接收GNSS 导航卫星嵌入其无线电信号的时间信息来保持同步。时间卡潜伏在数据中心的深处,但它们连接到接收卫星信号的屋顶天线。其实和我们的授时板卡计时原理都差不多。
然后,包括微型原子钟在内的一套电子元件处理数据以供数据中心服务器使用。Facebook 表示,如果您不需要 Facebook 的准确度,您可以通过更换更传统的晶体振荡器来降低成本,从而将成本降至 300 美元左右。
准确时间数据让大量服务器共享工作,更像是一台机器。为此,每个服务器都需要准确地知道现在是什么时间,例如,当将数据存储在需要知道每个数据元素写入的准确顺序的中央存储系统上时。
通过了解,Facebook并没有说明这种时间卡或者时间板卡的具体精度,是能到达毫秒、微妙还是纳秒以至于准确到皮秒,个人认为应该能准确到微妙,要不然正常的服务器网络时间的精度用传统的NTP 服务器即可,精度已经能达到微妙了。因为互联网中大量数据同时传递,每个数据都应该有独自的标记,时间就是一个标记因素,比如在Facebook数据库内,全球可能有10亿条数据同时发布和传递,这就会还有先后顺序,和存储顺序,产生的时间传统的可能就不够用了,毕竟1秒内容的10数据产生和发送,每条数据的时间就是1除以10亿,这个 准确度就是需要更准确的授时技术进行做标记。