Navigator Runtime 幫助您最大限度提高多內(nèi)核效率
引言
本文引用地址:http://www.ex-cimer.com/article/149132.htm多內(nèi)核處理器給編程人員帶來了新的挑戰(zhàn)。在多內(nèi)核項目中,半數(shù)以上的成本來自軟件開發(fā)。多內(nèi)核編程的具體挑戰(zhàn)是非對稱多內(nèi)核處理器 (AMP),因為其中相同的器件中駐留著 RISC 與 DSP 內(nèi)核等不同類型的處理單元。這主要是因為操作系統(tǒng) (OS) 對資源管理與負(fù)載均衡的支持非常薄弱甚至根本沒有,導(dǎo)致可擴(kuò)展性差與資源利用率低。德州儀器 (TI) 創(chuàng)新型 KeyStone II 多內(nèi)核架構(gòu)提供專用硬件幫助實現(xiàn)調(diào)度與負(fù)載均衡功能,可簡化多內(nèi)核可編程性。KeyStone II通過這些措施實現(xiàn)了多內(nèi)核編程的性能突破。
AMP 編程挑戰(zhàn)
隨著多內(nèi)核技術(shù)的演進(jìn),越來越多的 SoC 提供對稱多內(nèi)核架構(gòu)實現(xiàn)低成本以及更高的性能。典型的 AMP 具有運(yùn)行在不同操作系統(tǒng)上的異構(gòu)內(nèi)核、硬件加速器以及非所有內(nèi)核共享的分布式存儲器。在對稱多內(nèi)核處理器 (SMP) 應(yīng)用中,內(nèi)核完全相同并運(yùn)行支持相同共享存儲器架構(gòu)的相同操作系統(tǒng),因此使用操作系統(tǒng)帶來的內(nèi)核間通信、調(diào)度以及負(fù)載均衡功能相對而言更為直接。AMP 器件的編程需要更高的并行編程技能,才能通過控制和協(xié)調(diào)不同的內(nèi)核及操作系統(tǒng)實現(xiàn)可滿足單內(nèi)核或 SMP 編程需求的高穩(wěn)定性及高性能。
傳統(tǒng)非對稱多內(nèi)核處理要求在編譯時對多內(nèi)核資源進(jìn)行靜態(tài)分區(qū)。這樣做難度往往較大,因為運(yùn)行時的軟件加載不能提前判別,尤其是 4G LTE、LTE Advanced 以及云計算等尖端技術(shù)。一般解決辦法是預(yù)留額外的空間,以確保系統(tǒng)在最惡劣應(yīng)用條件下也能正確運(yùn)行。資源過度分配的不利影響是資源利用不足,最終會導(dǎo)致產(chǎn)品成本上升。另一方面,首次使用時或者引入新功能、需要現(xiàn)場強(qiáng)化或需求改更時,手動重新分區(qū)及軟件優(yōu)化會帶來大量的軟件工作。
同步性及處理器間通信 (IPC) 的效率在多內(nèi)核編程過程中至關(guān)重要。缺乏對各種同步性與 IPC 機(jī)制的適當(dāng)硬件支持,會因過多的軟件開銷而導(dǎo)致多內(nèi)核利用低下,降低系統(tǒng)性能。
這對 AMP 多內(nèi)核系統(tǒng)而言尤為如此,因為難以實現(xiàn)軟件可擴(kuò)展性與靈活性。
多內(nèi)核導(dǎo)航器助力實現(xiàn)創(chuàng)新
多內(nèi)核導(dǎo)航器是一種基于數(shù)據(jù)包的創(chuàng)新基礎(chǔ)設(shè)施,支持?jǐn)?shù)據(jù)傳輸與多內(nèi)核控制。TI 異構(gòu) KeyStone 架構(gòu)完美整合了 DSP Core-Pac、ARM® CorePac、硬件 AccelerationPac 以及 I/O 外設(shè)。它們不但可通過 TeraNet 進(jìn)行物理互連,而且可通過多內(nèi)核導(dǎo)航器進(jìn)行邏輯互連。在 TI KeyStone II 架構(gòu)中,多內(nèi)核
導(dǎo)航器不但包含可容納 1.6 萬個硬件隊列的隊列管理器,通常存放指向各種數(shù)據(jù)包(由描述符及數(shù)據(jù)有效負(fù)載組成)的指針,而且還包含 8 個 3,200 MIPS uRISC、用于傳輸數(shù)據(jù)的數(shù)據(jù)包 DMA 以及支持 100 萬個描述符的硬件數(shù)據(jù)結(jié)構(gòu)。此外,還可在 AccelerationPac 與 I/O 子系統(tǒng)中構(gòu)建數(shù)據(jù)包 DMA,這樣多內(nèi)核導(dǎo)航器無需內(nèi)核干預(yù),便可將數(shù)據(jù)從任何單元傳輸至任何端點。
多內(nèi)核導(dǎo)航器為 CorePac、AccelerationPac 以及 I/O 提供統(tǒng)一接口,可將硬件隊列用于圖 1 所示的不同系統(tǒng)端點。這可為所有 IP 塊提供支持通用通信方式的 AMP 系統(tǒng)。多內(nèi)核導(dǎo)航器可充分利用內(nèi)建在隊列管理器中的 uRISC 內(nèi)核來管理流量路由、IPC、資源管理、調(diào)度以及負(fù)載均衡,從而可優(yōu)化和加速數(shù)據(jù)流。各種任務(wù)可由隊列管理器按需派送和分配給負(fù)載最輕的內(nèi)核或 IP 子系統(tǒng)。
圖 1:多內(nèi)核導(dǎo)航器子系統(tǒng)
評論