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