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