PTP 使用一種算法和方法在基于數據包的網絡上同步各種設備上的時鐘,以提供亞微秒精度。 NVIDIA Spectrum 支持一步和兩步模式的 PTP ,可以用作邊界或透明時鐘。
以下是交換機作為透明時鐘時,如何在一步模式下計算和同步時間。在這篇文章的后面,我回顧了 PTP 的整體準確性。
一步模式下計算和同步時間
在一步模式下,當用作透明時鐘時,交換機必須實時計算 PTP 數據包的駐留時間。它通過比較數據包到達的時間( t1 )和數據包離開的時間( t2 )來實現這一點。然后,交換機相應地更改數據包的校正字段。
要執行此計算,交換機使用多個硬件功能:
ASIC 上的同步時鐘
數據包進入交換機時的準確時間戳
數據包離開交換機的時間計算
ASIC 上的同步時鐘
由于入口處的 t1 和出口處的 t2 位于兩個不同的交換機端口上, ASIC 不同部分之間的時間同步必須具有高分辨率,以保持準確的比較。
在有時工作于不同頻率的不同硬件單元之間同步時間戳是一項挑戰。頻譜系列 ASIC 可以保持小于 4 納秒的同步誤差。
數據包進入交換機時的準確時間戳
為了實現準確的一步 PTP ,交換機必須記錄其接收數據包的準確時間。
當交換機從線路接收比特時,它必須將它們組合起來,然后將數據包解析并識別為 PTP 。這個過程需要時間,必須加以考慮,以便數據包上的時間戳和位進入交換機的實際時間之間沒有差異。
為了解決這個問題,交換機包括一個指定的硬件計數器,用于計算線路和數據包程序集之間的位數。該計數器可以根據協議轉換為延遲,然后從 t1 時間戳中減去,以確定數據包的準確到達時間。
數據包離開交換機的時間計算
計算數據包提前離開交換機的時間也是一個挑戰。這是因為延遲通常會受到隊列和交換機計算時間戳時無法訪問的其他參數的影響。
為了解決這個挑戰,交換機為數據包安排一個未來的出口時間,然后根據這個時間給數據包加時間戳。然后, PTP 數據包必須等待確切的出口時間。
圖 1.交換機中的 PTP 包修改
PTP 量表
其他供應商使用該軟件來匹配 PTP 數據包及其時間戳。 NVIDIA Spectrum-2 和更高版本的 ASIC 采用了不同的方法。它們完全通過硬件處理 PTP 流;軟件不需要任何東西。這種實現有很多優點。
頻譜方法可以更好地擴展 PTP 流,并且交換機有限的計算資源沒有負擔。當用作邊界時鐘時,規模僅受 CPU 主機功能的限制。對于一個不涉及軟件的透明時鐘,在技術上沒有規模限制。
軟件處理是串行的,比硬件慢。因此,如果需要軟件干預, PTP 數據包在交換機上的駐留時間會更長。該過程增加了網絡中主要實體和跟隨實體之間的延遲,并可能間接破壞同步過程,該過程假定網絡中點到點的遍歷時間恒定。
PTP 精度
NVIDIA Spectrum 交換機的總 PTP 精度約為 10 納秒。對于所有速度和 FEC 配置,均保持此精度。
下圖顯示了 Spectrum-3 交換機上的 PTP 精度。
圖 2.用于測量 PTP 精度的設置
圖 3.與主設備的偏移量(納秒)
這些結果來自于一個小時的測試,測試速度為 50 Gbps ,其中 IXIA 作為連接到 NVIDIA Spectrum-3 交換機的先導時鐘。交換機用作邊界時鐘。另一個 IXIA 端口充當跟隨器,測量每個數據包與主端口相比的時間偏移。
關于作者
Yam Gellis 是 NVIDIA 網絡小組的芯片架構師,負責以太網和 InfiniBand 交換機。任志剛目前在特拉維夫大學攻讀電氣和電子工程學士學位,已進入最后一年。
審核編輯:郭婷
-
以太網
+關注
關注
40文章
5376瀏覽量
171109 -
asic
+關注
關注
34文章
1193瀏覽量
120326 -
交換機
+關注
關注
21文章
2622瀏覽量
99257
發布評論請先 登錄
相關推薦
評論