Navigator Runtime 幫助您最大限度提高多內核效率
圖 3 主要展示 Navigator Runtime 概念及其與多內核導航器的互動。
圖 3:Navigator Runtime 與多內核導航器的互動
多內核性能可使用加速性進行測量,加速性的定義是用單內核串行執行時間除以多內核執行時間。在理想條件下,8 內核系統的加速性等于 8。但在實際中,由于多內核總線判優、存儲器訪問時延、高速緩存一致性管理、同步以及 IPC 等多內核開銷的影響,典型加速性與理想條件相距甚遠。Navigator Runtime 消耗的開銷極少,以盡量接近理想加速性,實現多內核性能的最大化。
以 LTE 上行鏈路物理層處理為例,串行代碼可細分為 1,024 個工作任務用于實現天線數據處理、通道估算以及均衡等。平均每個工作任務有 4K 輸入數據及 2K 輸出數據駐留在共享存儲器中。Navigator Runtime 將用于調度這些工作任務并分配給 8 個不同的內核,故加速性的計算如下:
8 內核加速性 = 采用本地 L2 存儲器中的數據單內核串行執行代碼的時間 ÷ 采用共享 DDR3 存儲器中的數據 8 內核并行執行的時間
在并行 8 內核執行示例中,在處理前可分配多個導航器數據包 DMA 通道將 DDR3 中的數據預加載到本地 L2 存儲器中,并在處理后將數據從 L2 返回至 DDR3,就像為降低存儲器訪問時延的 CPU 高速緩存運行一樣。結果所測得的 KeyStone 器件的加速性為:在 3.2 萬個周期的工作任務中,從 8 內核 KeyStone 器件中測得的基準數據可實現 7.8 的加速性,而在 1.6 萬個周期的工作任務中,其則可實現 7.7 的加速性,非常接近理想的 8 加速性。與 KeyStone I 相比,KeyStone II 中的導航器已得到了明顯的改進:4倍uRISC 引擎數量可實現更多的調度資源,而數據包 DMA 通道、硬件隊列以及描述符數量翻番,則可提高執行吞吐量。
圖 4 為 KeyStone Navigator Runtime 在各種工作任務量情況下,2 至 8 內核的實際加速性與理想加速性的比較。
圖 4:采用 Navigator Runtime 實現的多內核加速性
此外,TI KeyStone II 架構還可為所有異構內核提供 6MB 的片上共享存儲器(MSMC 存儲器)容量。MSMC 的存儲器訪問性能非常接近 L2 存儲器訪問性能。當數據存儲在 MSMC 中時,無需使用導航器預加載和后存儲數據,便可實現與上面情況類似的加速性。與其它可選解決方案相比,大型片上共享存儲器可利用低系統時延為多內核性能帶來獨特的優勢。
評論