PCI Express 多播功能
如圖 1 所示,通過多播將相同的數據傳輸給多個接收人,能夠降低開銷,實現系統資源的優化。在這個非常簡單的模型中,對比不支持多播的PCIe 交換器與支持多播的 PCIe 交換器。支持多播功能的系統或交換器可以利用一個由交換器管理的一個多播處理替代4個順序環路處理,從而使發起的 CPU 更方便地繼續其他任務,實現更有效的資源利用率。這種效率可以使系統計算資源承擔額外任務而充分提升性能,或者憑借所需的較低性能或較少的計算資源而節省系統成本和功耗。
本文引用地址:http://www.104case.com/article/93477.htm除了系統資源優化外,將環路單播處理轉換成一個多播處理器,可以縮短傳輸延遲,提高系統點與點之間的一致性。參照圖 1 中簡單的模型,假設數據的順序傳輸按編號發生,那么相對第一個端點而言,第四個端點是過時的,直到所有過程完成。在單主系統中,這樣的差距相對較小,因為大部分數據由一個主機傳輸,在進一步動作之前,將會完成四個處理描述。然而,在分布式智能和點對點流量系統中,這種由重復單播處理帶來的差距會產生潛在的數據排序問題,因為包可能在相對不同的時間傳輸到每個端點,而非環路單播包的每個端點。假設通過環路發送至端點的信息是將路由表更新到通信系統包處理線卡的每四個網絡處理單元(NPU),那么每個端點路由表的更新都會基于順序傳輸和完成來增加延遲,隨之產生的差距允許線卡等待更新,路由根據此刻過時的表繼續接收包。
另外,多播數據可帶來整個系統較好的鏈路利用率,通常可以消除增強的性能所帶來的瓶頸,或實現配置更小、更有效使用的鏈路,以節省功耗,降低電路板設計的復雜性。基于上述定義的 PCIe 多播協議只有在分支被占用才會進行數據備份。圖2 描述了通過一對 PCIe 交換器可能擁有多個層級 PCIe 互連結構。如圖左側所示,將相同的環路單播數據發送到端點 1、2、3 和 4,會導致同一數據多次通過鏈路 1 和 4。圖右側的系統利用 PCIe 多播功能,只需為每個需要邏輯復制數據的鏈路傳輸一次數據即可。
linux操作系統文章專題:linux操作系統詳解(linux不再難懂)
評論