知识卡片

IEEE1588硬件打时间戳为何更精确

专业/工作 · 1112.b

内容

给报文打时间戳看似只是记录一个数字,但时间同步协议对精度要求极高——若靠软件在收到包之后再读取时钟、写入时间戳,从”包真正到达”到”软件读到时钟”之间必然存在处理链路上的不确定延迟,这段延迟本身就会污染时间戳的准确性。硬件卸载的做法是在尽量接近物理层的地方直接打时间戳,把”感知包到达”和”记录时间”这两个动作在硬件电路里几乎同时完成,绕开软件调度、中断、缓存等不确定因素。这说明硬件卸载的价值不只是省CPU,有些场景软件天生做不到硬件能做到的确定性。

参考来源

《深入浅出DPDK》第9章《硬件加速与功能卸载》