TI Navigator Runtime 幫助提升多核處理器效率

發(fā)布時(shí)間:2012-5-7 10:02    發(fā)布者:eechina
關(guān)鍵詞: KeyStone , Navigator , Runtime , TI , 多核
作者:
Eric Biscondi, 德州儀器系統與架構經(jīng)理
Tom Flanagan, 德州儀器技術(shù)戰略總監
Frank Fruth, 德州儀器軟件開(kāi)發(fā)總監
Zhihong Lin, 德州儀器戰略市場(chǎng)營(yíng)銷(xiāo)經(jīng)理
Filip Moerman, 德州儀器通信基礎設施及多內核高級系統架構師

多內核處理器給編程人員帶來(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:多內核導航器子系統

多內核導航器可提供高效率內核間通信機制。硬件隊列與數據包 DMA 是 IPC 的基本構建塊。某些隊列經(jīng)過(guò)精心設計,可對 IPC 內核產(chǎn)生中斷。多內核導航器內部的 uRISC 內核使用可編程中斷通知功能實(shí)現自動(dòng)隊列監控與管理。多內核導航器可充分限制軟件開(kāi)銷(xiāo),降低同步時(shí)延,并可提高 IPC 吞吐量。此外,它還支持無(wú)鎖編程模型。圖 2 是使用多內核導航器的 IPC 示意圖。


圖 2:使用多內核導航器實(shí)現處理器間的通信

雖然采用 TI KeyStone II 硅芯片架構已經(jīng)解決了多內核挑戰,但只有應用軟件開(kāi)發(fā)人員充分發(fā)揮多內核性能,才能真正實(shí)現這種硬件架構的各種優(yōu)勢。在軟件方面,TI 正在投資標準編程方法,讓支持多內核導航器的 KeyStone II 的各項優(yōu)勢充分體現在應用中。行業(yè)中及學(xué)術(shù)界已經(jīng)涌現出大量有望成為標準的多內核編程趨勢。所有這些方法的共同之處在于應用軟件開(kāi)發(fā)人員先通過(guò)語(yǔ)言表達,采用特定手段描述其應用的并行性,然后再映射至底層運行時(shí)。該運行時(shí)可掌控將過(guò)程映射至底層硬件架構。

Navigator Runtime 是一個(gè)可擴展薄軟件層,可幫助多內核導航器實(shí)現更高水平的并行編程性能,提高可擴展性、移植性及效率。對 AMP 編程挑戰而言,多內核導航器和 Navigator Runtime 的完美結合是一款功能強大的獨特解決方案。

Navigator Runtime 的主要功能是將工作任務(wù)分配給多個(gè)內核。先將工作任務(wù)放入待執行的虛擬隊列,然后由嵌入在多內核導航器硬件中的 uRISC 內核執行中央調度。調度器根據優(yōu)先級、原子性以及本地性選擇工作任務(wù),然后分配給軟件分配器。軟件分配器是駐留在每一個(gè)內核中的 Navigator Runtime 的必備部件。分配器隨即將每項工作任務(wù)發(fā)送至處理元件執行,處理元件可能是內核、AccelerationPac 或 I/O 端點(diǎn)中的線(xiàn)程。

充分發(fā)揮多內核導航器的作用,工作任務(wù)制定者及使用者的抽象可由 Navigator Runtime 完成。將嵌入式 uRISC 內核用于集中調度工作(無(wú)需消耗主 DSP 或 ARM® 內核的 MIPS),可實(shí)現低開(kāi)銷(xiāo)、低時(shí)延以及每個(gè)內核 25 萬(wàn)個(gè)任務(wù)的高吞吐量,實(shí)現無(wú)與倫比的并行編程性能。

圖 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)勢。

Navigator Runtime 不但可支持各種系統應用,而且還能夠與 OpenMp 等高級多內核編程范式集成。

OpenMP 是一款支持多平臺共享存儲器多處理編程的應用編程接口 (API),由編輯器指令、運行時(shí)庫程序以及環(huán)境變量構成。在 OpenMP 中,用戶(hù)可使用語(yǔ)言指令(例如編譯器指令)來(lái)識別其軟件中的并行性,也可使用工具幫助識別。使用兼容 OpenMP 的編譯器可讀取編譯指令,其可將編譯指令所注釋的串行代碼轉換成并行代碼,并在 OpenMP 運行時(shí)中插入調用。對在特定器件上運行的應用而言,多內核編程方法的運行時(shí)時(shí)延及開(kāi)銷(xiāo)性能將會(huì )限制可實(shí)現的并行性。更低的時(shí)延與開(kāi)銷(xiāo)可在應用中實(shí)現并行化創(chuàng )造更好的條件,進(jìn)而實(shí)現更高的多內核效率。

開(kāi)始已經(jīng)為共享存儲器架構指定了 OpenMP。我們現在討論分布式存儲器及異構處理器架構支持。TI Navigator Runtime 可用作 OpenMP 的運行時(shí)系統。多內核同步與 IPC 可使用導航器中的數據包 DMA 引擎有效處理。前面的基準顯示,將 Navigator Runtime 用作 OpenMP 運行時(shí)不但可顯著(zhù)降低編譯器指令的構建開(kāi)銷(xiāo),而且還可顯著(zhù)提升多內核系統內的并行性,讓編程人員專(zhuān)注于識別并行任務(wù)。調度及負載均衡由 Navigator Runtime 自動(dòng)管理,不但可簡(jiǎn)化編程,而且還可最大限度地提高多內核效率。

下頁(yè)圖 5 顯示的是使用 Navigator Runtime 與 OpenMP 的 KeyStone AMP 編程流程。隨同 Code Composer Studio™ 集成開(kāi)發(fā)環(huán)境提供的 Code Gen Tool 7.4 版是一款立即可用于 OpenMP 的編譯器。該編程流程具有通用性,不但可用于各種多內核應用,而且還可通過(guò)擴展支持各種不同內核及系統規模。其目的是以單內核編程的便捷性實(shí)現多內核的高性能。
本文地址:http://selenalain.com/thread-91230-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页