亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Industrial Internet of Things >> 嵌入式

Facebook工程师开源数据中心高精度时间设备

Facebook工程团队设计并发布了一款高精度时间设备,这是现代数据中心计时基础设施的关键要素。通过创建时间卡——一张将任何商品服务器转变为Stratum-1时间源的PCIe卡——并与开放计算项目(OCP)合作,我们已将开放时间服务器的每个组件在开源许可下公开。

2020年3月,Facebook宣布将其数据中心和消费级产品服务器迁移至新的自研网络时间协议(NTP)服务。此升级将计时精度从10ms提升至100μs,实现更精细的基础设施控制和更快的分布式数据库性能。

新NTP架构依赖Stratum-1源——直接链接权威时钟,如全球导航卫星系统(GNSS)或铯原子钟:

Facebook工程师开源数据中心高精度时间设备

公共NTP池(如time.facebook.com)虽方便,但引入互联网连接依赖,并暴露于潜在中断或漂移风险。为消除这些风险,我们构建了专用硬件设备,集成GNSS接收器与微型原子钟(MAC)。时间卡将此功能封装在PCIe板上,使任何配备硬件时间戳NIC的x86服务器成为Stratum-1源。

为何需要新时间设备?

商用时间设备历经实战检验且通常稳定,却有显著缺点:

这些限制迫使许多组织接受妥协。我们决定探索替代方案:基于x86硬件的专用开源时间设备。

时间设备原型

初始概念将GNSS接收器、高稳定振荡器和基于FPGA的处理集成在单张PCIe卡上——见下图框图:

Facebook工程师开源数据中心高精度时间设备

GNSS模块提供时间-of-day(ToD)和每秒一脉冲(PPS)信号。搭配高稳定振荡器(如铷钟或恒温晶振),系统可达纳秒级精度。PPS和ToD馈送至高性能NIC(如NVIDIA Mellanox ConnectX-6 Dx),支持硬件时间戳和PPS输入/输出。

使用ts2phc工具,我们将NIC物理时钟同步至GNSS PPS,误差在几十纳秒内,验证了方案:

Facebook工程师开源数据中心高精度时间设备

为增强可靠性,我们将设计分为两个逻辑块:载荷(精密时间引擎)和投递(NIC)。载荷用FPGA引擎和本地振荡器在连续PPS脉冲间插值时间。GNSS丢失时,引擎依赖原子钟固有稳定性。

Facebook工程师开源数据中心高精度时间设备

时间引擎实现滤波、同步、错误检查和PCIe子系统。持续校准MAC,将其计数器与GNSS PPS比对,长期达亚纳秒精度。

Facebook工程师开源数据中心高精度时间设备

利用10MHz参考(来自铷钟或外部SMA输入),上变频至125MHz(8ns周期),将亚秒增量关联至250ps步进。比例积分环路通过12.5倍PLL微调频率,必要时直接调整振荡器。

保持——GNSS不可用时的时间精度损失——是关键指标。原型在24小时内漂移<300ns,远优于SA.53s MAC规格。

时间设备实战

安装后,时间卡将任何兼容x86服务器变为Stratum-1时间源,独立于NTP、PTP、SyncE或其他协议。系统精度足以满足大多数企业时间同步需求。

Facebook工程师开源数据中心高精度时间设备

设置简单:安装Linux内核5.15+(或从OCP GitHub在内核5.12+构建驱动)。驱动在/sys/class/timecard/ocp0/暴露PHC、GNSS、PPS和MAC设备:

$ ls -l /sys/class/timecard/ocp0/ lrwxrwxrwx. 1 root 0 Aug 3 19:49 device -> ../../../0000:04:00.0/ -r--r--r--. 1 root 4096 Aug 3 19:49 gnss_sync lrwxrwxrwx. 1 root 0 Aug 3 19:49 i2c -> ../../xiic-i2c.1024/i2c-2/ lrwxrwxrwx. 1 root 0 Aug 3 19:49 pps -> ../../../../../virtual/pps/pps1/ lrwxrwxrwx. 1 root 0 Aug 3 19:49 ptp -> ../../ptp/ptp2/ lrwxrwxrwx. 1 root 0 Aug 3 19:49 ttyGNSS -> ../../tty/ttyS7/ lrwxrwxrwx. 1 root 0 Aug 3 19:49 ttyMAC -> ../../tty/ttyS8/ 

配置chrony或PTP守护进程使用PHC作为参考时钟:

# chrony refclock PHC /dev/ptp2 tai poll 0 trust 

Calnex Sentinel验证显示48小时内NTP稳定性±40μs,PTP偏移亚纳秒级。时间卡与Sentinel的PPS综合误差在±200ns内。

Facebook工程师开源数据中心高精度时间设备
Facebook工程师开源数据中心高精度时间设备
Facebook工程师开源数据中心高精度时间设备

模块化设计也允许用成本效益高的OCXO或TCXO替换MAC,以保持性能换取预算。

开源设计

为扩大影响,我们与开放计算项目合作启动时间设备项目(TAP)。所有规格、原理图、BOM、机械图和源代码公开于TAP GitHub仓库。Orolia和NVIDIA等厂商已分别生产时间卡和精密计时NIC。

我们的开放时间服务器规范详述如何组装硬件和软件栈以创建稳健、完全可控的时间设备。拥有整个系统,工程师获得更深可见性、更紧安全性和更简维护。

当前设备代表重大飞跃,我们将继续优化精度、扩展Facebook全球基础设施同步,并与开放计算社区分享进展。

嵌入式

  1. 最大化生产力:维护软件如何降本增效
  2. 沙漏:历史、工艺与现代魅力
  3. Crescent Crown借DocStar ECM AP自动化提效降本
  4. 掌握RC与RL电路时间常数计算
  5. 单稳态多谐振荡器 (单发):设计、定时与工业应用
  6. 重思库存管理:制造商现代化策略指南
  7. 供应链领袖须拥抱进攻性战略:以增长韧性双赢
  8. 数字孪生助力西海岸主线准点率提升
  9. 工业4.0时代的人机界面(HMI):从按钮面板到可穿戴未来
  10. 精简制造与发货:削减成本提升效率的实证策略
  11. 精通 Python time.sleep():最佳实践、多线程与实战案例
  12. Python 日期时间处理实战:time 与 calendar 模块完全指南