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