Facebook工程师开发开源自计时设备 仅需一个PCIe插槽即可工作
大多数人可能没有意识到我们的设备在多大程度上是由时间驱动的,无论是你的手机、你的笔记本电脑还是网络服务器。在大多数情况下,设备保持准确的时间一直是一个深奥的苦差事,由有限的硬件制造商负责处理。虽然这些设备达到了它们的目的,但几位Facebook的工程师认为必须有一个更好的方法。
因此,他们建立了一个新的更准确的计时设备,它只需要一个PCI Express(PCIe)接口,Facebook将其作为一个开源项目贡献给了开放计算项目。
Facebook的生产工程师Olag Obleukhov说,在一个基本的层面上,所有的设备只是对NTP计时服务器进行访问操作,以确保每个设备都报告相同的时间。他解释说:"今天几乎所有的电子设备都使用NTP--网络时间同步协议--你的手机、手表、笔记本电脑,到处都有,它们都连接到这些NTP服务器,它们只是会问服务器,'现在是什么时间',随后NTP服务器提供时间,"。
在Facebook开发出一种新的方法之前,基本上有两种方法来检查时间。如果你是一个开发者,你可能会使用像NTP这样的东西作为时间检查机制,但是像Facebook这样的公司,在大规模工作时需要一些即使在没有互联网连接的情况下也能工作,运行这种封闭式数据中心的公司会有一个叫Stratum One的硬件设备,这是一个大盒子,放在数据中心里,除了充当时间保持者没有其他工作。
因为这些记时盒是由少数几家公司自行制作的,它们很牢固也很好用,但很难获得新的功能。更重要的是,像Facebook这样的公司无法控制这些盒子,因为它们具有专利性质。Obleukhov和他的同事研究科学家Ahmad Byagowi开始着手解决这个问题,他们寻找一种方法,用现成的部件建立一个PCIe卡,可以把它插入任何有开放插槽的PC中,从而实现同样的功能。
他们在iPad上画出了第一个设计图,并开始将这一设想制作成原型。一个时间装置依赖于几个关键部件:一个GNSS接收器和所谓的高稳定性振荡器。在一篇描述该项目的博文中,Obleukhov和Byagowi维解释了这两个部分的作用。
"这一切都从一个GNSS接收器开始,它提供一天中的时间(ToD)以及每秒1个脉冲(PPS)。当接收器得到高稳定性振荡器(如原子钟或烤箱控制的晶体振荡器)的支持时,它可以提供纳秒级精度的时间。这使得在PCIe卡上放一个计时装置成为可能的一件事是原子钟/振荡器的微型化进展。
当设计开始形成时,工程师们决定使其具有灵活性,以使工程师们能够发挥基本设计的作用,并将符合他们需要的任何部件放入其中。有些人可能需要高度复杂的昂贵部件,但根据需求的不同也可以用更便宜的部件。
他们还在早期决定将设计过程开源,并让开放计算项目参与进来,以便其他公司和工程师能够为设计做出贡献。现在已经有十几家供应商参与了这个项目,并有许多种类似的计时器被制造出来,包括由奥Obleukhov设计的这种PCIe卡片。
相关文章
- 在 Go 里用 CGO?这 7 个问题你要关注!
- 9款优秀的去中心化通讯软件 Matrix 的客户端
- 求职数据分析,项目经验该怎么写
- 在OKR中,我看到了数据驱动业务的未来
- 火山引擎云原生大数据在金融行业的实践
- OpenHarmony富设备移植指南(二)—从postmarketOS获取移植资源
- 《数据成熟度指数》报告:64%的企业领袖认为大多数员工“不懂数据”
- OpenHarmony 小型系统兼容性测试指南
- 肯睿中国(Cloudera):2023年企业数字战略三大趋势预测
- 适用于 Linux 的十大命令行游戏
- GNOME 截图工具的新旧截图方式
- System76 即将推出的 COSMIC 桌面正在酝酿大变化
- 2GB 内存 8GB 存储即可流畅运行,Windows 11 极致精简版系统 Tiny11 发布
- 迎接 ecode:一个即将推出的具有全新图形用户界面框架的现代、轻量级代码编辑器
- loongarch架构介绍(三)—地址翻译
- Go 语言怎么解决编译器错误“err is shadowed during return”?
- 敏捷:可能被开发人员遗忘的部分
- Denodo预测2023年数据管理和分析的未来
- 利用数据推动可持续发展
- 在 Vue3 中实现 React 原生 Hooks(useState、useEffect),深入理解 React Hooks 的