《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 解決方案 > Navigator Runtime幫助您最大限度提高多內核效率

Navigator Runtime幫助您最大限度提高多內核效率

2012-05-04
作者:德州儀器

作者:

Eric Biscondi  德州儀器系統與架構經理

Tom Flanagan  德州儀器技術戰略總監

Frank Fruth  德州儀器軟件開發總監

Zhihong Lin  德州儀器戰略市場營銷經理

Filip Moerman   德州儀器通信基礎設施及多內核高級系統架構師

引言
   多內核處理器給編程人員帶來了新的挑戰。在多內核項目中,半數以上的成本來自軟件開發。多內核編程的具體挑戰是非對稱多內核處理器 (AMP),因為其中相同的器件中駐留著 RISCDSP 內核等不同類型的處理單元。這主要是因為操作系統 (OS) 對資源管理與負載均衡的支持非常薄弱甚至根本沒有,導致可擴展性差與資源利用率低。德州儀器 (TI) 創新型 KeyStone II 多內核架構提供專用硬件幫助實現調度與負載均衡功能,可簡化多內核可編程性。KeyStone II通過這些措施實現了多內核編程的性能突破。    

AMP 編程挑戰
    隨著多內核技術的演進,越來越多的 SoC 提供對稱多內核架構實現低成本以及更高的性能。典型的 AMP 具有運行在不同操作系統上的異構內核、硬件加速器以及非所有內核共享的分布式存儲器。在對稱多內核處理器 (SMP) 應用中,內核完全相同并運行支持相同共享存儲器架構的相同操作系統,因此使用操作系統帶來的內核間通信、調度以及負載均衡功能相對而言更為直接。AMP 器件的編程需要更高的并行編程技能,才能通過控制和協調不同的內核及操作系統實現可滿足單內核或 SMP 編程需求的高穩定性及高性能。

    傳統非對稱多內核處理要求在編譯時對多內核資源進行靜態分區。這樣做難度往往較大,因為運行時的軟件加載不能提前判別,尤其是 4G LTE、LTE Advanced 以及云計算等尖端技術。一般解決辦法是預留額外的空間,以確保系統在最惡劣應用條件下也能正確運行。資源過度分配的不利影響是資源利用不足,最終會導致產品成本上升。另一方面,首次使用時或者引入新功能、需要現場強化或需求改更時,手動重新分區及軟件優化會帶來大量的軟件工作。

    同步性及處理器間通信 (IPC) 的效率在多內核編程過程中至關重要。缺乏對各種同步性與 IPC 機制的適當硬件支持,會因過多的軟件開銷而導致多內核利用低下,降低系統性能。

    這對 AMP 多內核系統而言尤為如此,因為難以實現軟件可擴展性與靈活性。

多內核導航器助力實現創新
多內核導航器是一種基于數據包的創新基礎設施,支持數據傳輸與多內核控制。TI 異構 KeyStone 架構完美整合了 DSP Core-Pac、ARM® CorePac、硬件 AccelerationPac 以及 I/O 外設。它們不但可通過 TeraNet 進行物理互連,而且可通過多內核導航器進行邏輯互連。在 TI KeyStone II 架構中,多內核導航器不但包含可容納 1.6 萬個硬件隊列的隊列管理器,通常存放指向各種數據包(由描述符及數據有效負載組成)的指針,而且還包含 8 個 3,200 MIPS uRISC、用于傳輸數據的數據包 DMA 以及支持 100 萬個描述符的硬件數據結構。此外,還可在 AccelerationPac 與 I/O 子系統中構建數據包 DMA,這樣多內核導航器無需內核干預,便可將數據從任何單元傳輸至任何端點。

    多內核導航器為 CorePac、AccelerationPac 以及 I/O 提供統一接口,可將硬件隊列用于圖 1 所示的不同系統端點。這可為所有 IP 塊提供支持通用通信方式的 AMP 系統。多內核導航器可充分利用內建在隊列管理器中的 uRISC 內核來管理流量路由、IPC、資源管理、調度以及負載均衡,從而可優化和加速數據流。各種任務可由隊列管理器按需派送和分配給負載最輕的內核或 IP 子系統。
 多內核導航器子系統
圖 1:多內核導航器子系統

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

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

Navigator Runtime 幫助您最大限度提高多內核效率                     

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

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

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

充分發揮多內核導航器的作用,工作任務制定者及使用者的抽象可由 Navigator Runtime 完成。將嵌入式 uRISC 內核用于集中調度工作(無需消耗主 DSP 或 ARM® 內核的 MIPS),可實現低開銷、低時延以及每個內核 25 萬個任務的高吞吐量,實現無與倫比的并行編程性能。圖 3 主要展示 Navigator Runtime 概念及其與多內核導航器的互動。


 Navigator Runtime 與多內核導航器的互動
圖 3:Navigator Runtime 與多內核導航器的互動

    多內核性能可使用加速性進行測量,加速性的定義是用單內核串行執行時間除以多內核執行時間。在理想條件下,8 內核系統的加速性等于 8。但在實際中,由于多內核總線判優、存儲器訪問時延、高速緩存一致性管理、同步以及 IPC 等多內核開銷的影響,典型加速性與理想條件相距甚遠。Navigator Runtime 消耗的開銷極少,以盡量接近理想加速性,實現多內核性能的最大化。

    以 LTE 上行鏈路物理層處理為例,串行代碼可細分為 1,024 個工作任務用于實現天線數據處理、通道估算以及均衡等。平均每個工作任務有 4K 輸入數據及 2K 輸出數據駐留在共享存儲器中。Navigator Runtime 將用于調度這些工作任務并分配給 8 個不同的內核,故加速性的計算如下:

    8 內核加速性 = 采用本地 L2 存儲器中的數據單內核串行執行代碼的時間 ÷ 采用共享 DDR3 存儲器中的數據 8 內核并行執行的時間

在并行 8 內核執行示例中,在處理前可分配多個導航器數據包 DMA 通道將 DDR3 中的數據預加載到本地 L2 存儲器中,并在處理后將數據從 L2 返回至 DDR3,就像為降低存儲器訪問時延的 CPU 高速緩存運行一樣。結果所測得的 KeyStone 器件的加速性為:在 3.2 萬個周期的工作任務中,從 8 內核 KeyStone 器件中測得的基準數據可實現 7.8 的加速性,而在 1.6 萬個周期的工作任務中,其則可實現 7.7 的加速性,非常接近理想的 8 加速性。與 KeyStone I 相比,KeyStone II 中的導航器已得到了明顯的改進:4倍uRISC 引擎數量可實現更多的調度資源,而數據包 DMA 通道、硬件隊列以及描述符數量翻番,則可提高執行吞吐量。

圖 4 為 KeyStone Navigator Runtime 在各種工作任務量情況下,2 至 8 內核的實際加速性與理想加速性的比較。
 
圖 4:采用 Navigator Runtime 實現的多內核加速性


    此外,TI KeyStone II 架構還可為所有異構內核提供 6MB 的片上共享存儲器(MSMC 存儲器)容量。MSMC 的存儲器訪問性能非常接近 L2 存儲器訪問性能。當數據存儲在 MSMC 中時,無需使用導航器預加載和后存儲數據,便可實現與上面情況類似的加速性。與其它可選解決方案相比,大型片上共享存儲器可利用低系統時延為多內核性能帶來獨特的優勢。

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

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

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

    下頁圖 5 顯示的是使用 Navigator Runtime 與 OpenMP 的 KeyStone AMP 編程流程。隨同 Code Composer Studio™ 集成開發環境提供的 Code Gen Tool 7.4 版是一款立即可用于 OpenMP 的編譯器。該編程流程具有通用性,不但可用于各種多內核應用,而且還可通過擴展支持各種不同內核及系統規模。其目的是以單內核編程的便捷性實現多內核的高性能。

 
圖 5:使用 Navigator Runtime 的 KeyStone AMP 編程流程

結論
     多內核導航器是一款面向 KeyStone 器件的創新型智能芯片基礎設施,可推動多內核編程的發展。多內核導航器與 Navigator Runtime 可為每個硬件組件帶來抽象性,通過資源管理、調度以及動態負載均衡功能實現平臺虛擬化,從而可最大限度地提高多內核效率,以更低的系統成本實現更高的硬件利用率。將 Navigator Runtime 與 OpenMP 等高級多內核編程模式相結合,可簡化 AMP 多內核軟件設計,提高多內核程序的可擴展性與靈活性,并能夠以更低的成本快速部署新技術。
 

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲国产视频一区二区| 国产日韩一区二区三区| 亚洲一区二区免费| 欧美在线二区| 日韩性生活视频| 国产三级欧美三级日产三级99| 久久久久九九九| 亚洲视频观看| 亚洲国产欧美一区二区三区同亚洲 | 亚洲精品之草原avav久久| 香蕉乱码成人久久天堂爱免费| 99综合电影在线视频| 在线观看精品视频| 国产亚洲欧洲997久久综合| 欧美色区777第一页| 久久久久国产精品一区二区| 亚洲欧美日韩综合国产aⅴ| 一二三区精品| 日韩视频一区二区三区在线播放| 欧美一区91| 亚洲一区二区在线| 亚洲女ⅴideoshd黑人| 午夜精品视频在线| 亚洲图片欧洲图片av| 99re66热这里只有精品4| 亚洲国产欧美一区二区三区丁香婷| 国产真实乱偷精品视频免| 国产精品视频免费一区| 国产精品mm| 欧美专区在线| 久久精品91| 亚洲综合视频网| 一区二区三区视频在线看| 91久久线看在观草草青青| 亚洲免费不卡| 欧美一级精品大片| 亚洲理论电影网| 影音先锋日韩资源| 国外视频精品毛片| 国产亚洲一级高清| 狠狠狠色丁香婷婷综合久久五月| 亚洲狠狠婷婷| 狠狠色丁香婷婷综合影院| 国产喷白浆一区二区三区| 国产精品久久一卡二卡| 国产精品激情av在线播放| 国产精品99一区二区| 亚洲片在线资源| 亚洲在线视频| 在线亚洲欧美| 一区二区三区国产精华| 亚洲高清在线视频| 亚洲第一在线| 亚洲欧美日韩国产成人| 亚洲激精日韩激精欧美精品| 亚洲网站视频| 亚洲欧美日韩一区二区在线 | 久久成人免费网| 久久国产一二区| 狼人天天伊人久久| 欧美高清免费| 欧美片在线观看| 欧美午夜在线| 国产精品视频内| 国内成+人亚洲+欧美+综合在线| 激情久久五月| 亚洲国产精品精华液2区45| 亚洲精品国产无天堂网2021| 宅男噜噜噜66一区二区66| 日韩亚洲欧美一区| 亚洲午夜精品17c| 欧美一区二区在线免费播放| 亚洲国产一区二区三区a毛片 | 亚洲第一福利视频| 欧美freesex8一10精品| 欧美成人午夜激情| 欧美色123| 国产日韩欧美在线| 一区二区在线观看视频| 亚洲精品影院| 欧美一区二区三区日韩视频| 欧美在线你懂的| 亚洲精品综合精品自拍| 一区二区三区黄色| 欧美一区二区三区喷汁尤物| 老司机精品福利视频| 欧美日韩亚洲一区二区三区四区| 国产免费观看久久| 亚洲福利免费| 亚洲视频999| 亚洲国产精彩中文乱码av在线播放 | 亚洲高清网站| 亚洲视频免费在线| 亚洲国产成人高清精品| 亚洲视频一二区| 久久久久看片| 欧美日韩中文在线观看| 国产亚洲欧美一区在线观看| 亚洲激情校园春色| 午夜精品久久久久久久| 亚洲免费播放| 久久精品夜色噜噜亚洲aⅴ| 欧美精品国产| 韩国一区电影| 在线亚洲一区二区| 欧美专区第一页| 亚洲桃花岛网站| 另类国产ts人妖高潮视频| 国产精品激情av在线播放| 亚洲第一偷拍| 午夜精品久久久久久久男人的天堂| 亚洲精品欧美日韩| 亚洲欧美日韩国产精品| 久久久国产视频91| 欧美性猛交xxxx乱大交退制版| 国产综合第一页| 亚洲少妇诱惑| 一区二区三区鲁丝不卡| 蜜桃av一区| 韩国成人福利片在线播放| 亚洲先锋成人| 亚洲手机视频| 欧美+亚洲+精品+三区| 国产日韩一区欧美| 在线亚洲欧美| 亚洲最新合集| 欧美成人综合| 好吊成人免视频| 午夜精品国产| 亚洲欧美日韩精品| 欧美日韩一区在线视频| 国产在线精品自拍| 一区二区三区鲁丝不卡| 9久草视频在线视频精品| 免费一区视频| 狠狠色丁香婷婷综合影院| 欧美一级播放| 久久精品国产亚洲aⅴ| 国产精品乱子乱xxxx| 夜夜爽99久久国产综合精品女不卡 | 亚洲欧洲在线播放| 快she精品国产999| 国产亚洲在线观看| 欧美一区亚洲| 免费成人av| 日韩视频不卡| 亚洲在线第一页| 国产欧美一区二区三区在线老狼| 久久成人免费日本黄色| 免费久久99精品国产自在现线| 最新国产乱人伦偷精品免费网站 | 最新成人在线| 亚洲一区中文| 国产视频精品网| 亚洲国产日韩欧美| 欧美日本国产视频| 亚洲一区二区三区国产| 久久久久这里只有精品| 亚洲欧洲精品一区| 亚洲综合国产| 激情av一区二区| 一本色道婷婷久久欧美| 国产麻豆综合| 亚洲精品孕妇| 国产精品人人爽人人做我的可爱| 午夜精品视频在线| 欧美成人午夜77777| 亚洲一区二区少妇| 美女网站久久| 亚洲一二三级电影| 母乳一区在线观看| 亚洲午夜国产一区99re久久| 久久综合久久美利坚合众国| av成人老司机| 久久免费视频这里只有精品| 亚洲精品免费网站| 久久九九99视频| 亚洲美女网站| 久久天堂国产精品| 日韩视频二区| 开元免费观看欧美电视剧网站| 一区二区三区国产| 麻豆成人av| 亚洲免费在线视频| 欧美成人精品在线播放| 亚洲一区在线免费| 欧美福利电影网| 午夜精品久久久| 欧美午夜激情小视频| 亚洲电影av| 国产精品视频| 亚洲伦伦在线| 狠狠v欧美v日韩v亚洲ⅴ| 亚洲一区二区在线播放| 激情自拍一区| 性欧美超级视频| 一本久久a久久免费精品不卡| 久久一区二区三区av| 亚洲男人影院| 欧美视频免费|