英特尔修订版在Linux的定时I/O PPS功能上工作

2023年 12月 21日 39.8k 0

英特尔修订版在Linux的定时I/O PPS功能上工作-1
早在一月份我就写过 英特尔正在为Linux开发定时I/O驱动程序使用PPS(每秒脉冲)来帮助实现多个设备之间的时间同步。外界对这一定时I/O/PPS功能的讨论并不多,而今天,当我们接近年底时,发布了一组新的Linux内核补丁,用于连接这一英特尔PPS生成器功能。

Intel Timed I/O PPS功能旨在确保多个设备之间更准确的时间同步。这些补丁证实,自2019年以来,英特尔平台一直支持英特尔定时I/O PPS,而且这一功能已经在谷歌和Facebook(Meta)等公司中使用。

英特尔修订版在Linux的定时I/O PPS功能上工作-2

发出了一份新的“征求意见书”新的补丁。英特尔工程师Lakshmi Sowjanya将这项工作总结为:

PPS(每秒脉冲)硬件/软件的目标是在电线上从系统产生信号,以便一些第三方硬件可以观察到该信号,并判断系统的时间与另一个系统或硬件的距离有多近。

现有的方法(如并行端口)需要软件在正确的时间翻转比特以创建PPS信号。很多事情都可以阻止软件准确地做到这一点。这种(定时I/O)方法更好,因为软件只是提前“武装”硬件,然后依靠硬件“启动”并在正确的时间翻转信号。

为了使用这种新硬件生成PPS信号,内核每秒唤醒两次,一次用于1- 0边缘,另一次用于0- 1边缘。它在需要进行信号的实际改变之前不久(~ 10 ms)完成此操作。它计算边缘将发生的TSC值,转换为硬件理解的值,并将该值编程到定时I/O硬件。实际的边缘过渡发生时,内核没有任何进一步的动作。

这里的结果是系统输出的信号比旧方法精确大约1,000倍。如果系统负载很重,则在旧方法中精度的差异更大。Facebook和Google是使用此功能的客户。

应用程序界面:

使用Timed I/O的API非常简单。通过向与定时I/O PPS设备关联的sysfs启用属性写入“1”或“0”值来启用和禁用该功能。每个定时I/O引脚由一个PPS器件表示。使能时,定时I/O引脚会持续产生与系统时钟同步的每秒脉冲数(PPS),否则会拉低。

主板上的定时I/O信号在BIOS设置中启用。”

所以我们看看 这些补丁 lead and hopefully it won't be another 12 months before next hearing about this Intel Timed I/O PPS functionality. Granted the uses for this are rather nice but interesting to note the "roughly 1,000 times more accurate than the old methods."

相关文章

塑造我成为 CTO 之路的“秘诀”
“人工智能教母”的公司估值达 10 亿美金
教授吐槽:985 高校成高级蓝翔!研究生基本废了,只为房子、票子……
Windows 蓝屏中断提醒开发者:Rust 比 C/C++ 更好
Claude 3.5 Sonnet 在伽利略幻觉指数中名列前茅
上海新增 11 款已完成登记生成式 AI 服务

发布评论