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

Navigator Runtime幫助您最大限度提高多內(nèi)核效率

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

作者:

Eric Biscondi  德州儀器系統(tǒng)與架構(gòu)經(jīng)理

Tom Flanagan  德州儀器技術(shù)戰(zhàn)略總監(jiān)

Frank Fruth  德州儀器軟件開發(fā)總監(jiān)

Zhihong Lin  德州儀器戰(zhàn)略市場營銷經(jīng)理

Filip Moerman   德州儀器通信基礎(chǔ)設(shè)施及多內(nèi)核高級系統(tǒng)架構(gòu)師

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

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

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

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

    這對 AMP 多內(nèi)核系統(tǒng)而言尤為如此,因為難以實現(xiàn)軟件可擴展性與靈活性。

多內(nèi)核導(dǎo)航器助力實現(xiàn)創(chuàng)新
多內(nèi)核導(dǎo)航器是一種基于數(shù)據(jù)包的創(chuàng)新基礎(chǔ)設(shè)施,支持數(shù)據(jù)傳輸與多內(nèi)核控制。TI 異構(gòu) KeyStone 架構(gòu)完美整合了 DSP Core-Pac、ARM® CorePac、硬件 AccelerationPac 以及 I/O 外設(shè)。它們不但可通過 TeraNet 進行物理互連,而且可通過多內(nèi)核導(dǎo)航器進行邏輯互連。在 TI KeyStone II 架構(gòu)中,多內(nèi)核導(dǎo)航器不但包含可容納 1.6 萬個硬件隊列的隊列管理器,通常存放指向各種數(shù)據(jù)包(由描述符及數(shù)據(jù)有效負載組成)的指針,而且還包含 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)度以及負載均衡,從而可優(yōu)化和加速數(shù)據(jù)流。各種任務(wù)可由隊列管理器按需派送和分配給負載最輕的內(nèi)核或 IP 子系統(tǒng)。
 多內(nèi)核導(dǎo)航器子系統(tǒng)
圖 1:多內(nèi)核導(dǎo)航器子系統(tǒng)

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

使用多內(nèi)核導(dǎo)航器實現(xiàn)處理器間的通信
 
圖 2:使用多內(nèi)核導(dǎo)航器實現(xiàn)處理器間的通信

Navigator Runtime 幫助您最大限度提高多內(nèi)核效率                     

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

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

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

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


 Navigator Runtime 與多內(nèi)核導(dǎo)航器的互動
圖 3:Navigator Runtime 與多內(nèi)核導(dǎo)航器的互動

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

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

    8 內(nèi)核加速性 = 采用本地 L2 存儲器中的數(shù)據(jù)單內(nèi)核串行執(zhí)行代碼的時間 ÷ 采用共享 DDR3 存儲器中的數(shù)據(jù) 8 內(nèi)核并行執(zhí)行的時間

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

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


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

   Navigator Runtime 不但可支持各種系統(tǒng)應(yīng)用,而且還能夠與 OpenMp 等高級多內(nèi)核編程范式集成。

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

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

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

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

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

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲欧美在线视频观看| 99国产精品国产精品久久| 亚洲高清色综合| 国产亚洲永久域名| 国产九九视频一区二区三区| 欧美午夜精品一区| 欧美成人一区二区三区在线观看 | 亚洲欧美亚洲| 亚洲一区中文字幕在线观看| 中国日韩欧美久久久久久久久| 亚洲精品国产无天堂网2021| 亚洲麻豆一区| 一本色道久久综合亚洲精品高清 | 尤物99国产成人精品视频| 国内免费精品永久在线视频| 国产私拍一区| 国内精品久久久久影院薰衣草| 国产一区二区三区黄视频| 国产一区日韩欧美| 精品91在线| 1204国产成人精品视频| 亚洲区一区二| 日韩视频免费在线| 一本久久青青| 亚洲欧美日韩一区| 久久精品国产欧美亚洲人人爽| 亚洲国产清纯| 日韩视频在线一区二区三区| 一区二区三区欧美成人| 午夜久久福利| 久久av一区| 另类酷文…触手系列精品集v1小说| 麻豆成人在线| 欧美精品久久久久久| 国产精品分类| 国产视频一区免费看| 黄色成人精品网站| 亚洲精品三级| 亚洲欧美乱综合| 亚洲成色999久久网站| 亚洲麻豆一区| 亚洲欧美日本视频在线观看| 久久国产精品一区二区三区| 鲁大师影院一区二区三区| 欧美激情一级片一区二区| 国产精品成人一区二区三区吃奶| 国产九九精品视频| …久久精品99久久香蕉国产| 亚洲美女黄色| 午夜精品美女自拍福到在线 | 国产自产在线视频一区| 亚洲国产精品999| 亚洲视频欧美在线| 亚洲福利专区| 亚洲伊人久久综合| 久久久久久久久一区二区| 欧美激情精品久久久久| 国产精品视区| 亚洲国产精品成人va在线观看| 99在线精品视频| 欧美在线观看视频在线| 日韩一区二区电影网| 欧美在线观看你懂的| 欧美高清日韩| 国产欧美 在线欧美| 亚洲黄页一区| 香蕉av福利精品导航| 日韩网站在线观看| 欧美在线观看你懂的| 欧美国产免费| 国产日韩精品一区二区三区在线 | 国产亚洲激情| 日韩视频一区二区三区在线播放免费观看| 亚洲欧美日韩在线一区| 99视频精品全国免费| 久久九九热免费视频| 欧美日韩少妇| 在线播放一区| 亚洲主播在线播放| 亚洲精品影视| 久久亚洲不卡| 国产精品一区视频| 亚洲免费久久| 亚洲国产精品成人va在线观看| 亚洲主播在线观看| 欧美国产视频一区二区| 国产一区二区福利| 亚洲小说欧美另类社区| 日韩午夜精品视频| 麻豆成人在线| 韩国美女久久| 亚洲欧美综合另类中字| 亚洲在线观看免费| 欧美韩国在线| 影音先锋在线一区| 久久国产主播精品| 久久国产黑丝| 国产精品视频免费| 在线中文字幕不卡| 一区二区三区日韩精品视频| 欧美风情在线观看| 激情丁香综合| 久久成人免费网| 久久狠狠久久综合桃花| 国产精品一卡| 亚洲女性裸体视频| 亚洲欧美成人一区二区在线电影 | 国产精品嫩草久久久久| 日韩视频永久免费观看| 亚洲精品免费电影| 女人香蕉久久**毛片精品| 国产一区二区三区四区老人| 亚洲欧美日韩在线综合| 香蕉乱码成人久久天堂爱免费| 欧美视频在线观看视频极品| 日韩性生活视频| avtt综合网| 欧美日韩国产区一| 亚洲精品国产视频| 夜夜嗨av色一区二区不卡| 欧美黑人国产人伦爽爽爽| 在线观看欧美激情| 亚洲七七久久综合桃花剧情介绍| 毛片av中文字幕一区二区| 黄色综合网站| 亚洲黄色天堂| 欧美激情第三页| 亚洲精品视频一区| 国产精品99久久久久久www| 欧美人成网站| 99精品国产高清一区二区| 一区二区三区欧美| 欧美午夜一区二区福利视频| 中文久久精品| 欧美一区二区三区在线| 国产日本精品| 亚洲第一区色| 欧美精品成人91久久久久久久| 亚洲日本成人| 亚洲欧美日韩一区| 国产三级欧美三级| 亚洲第一精品夜夜躁人人爽| 免费不卡欧美自拍视频| 亚洲人成人99网站| 亚洲天堂免费在线观看视频| 国产精品剧情在线亚洲| 亚欧美中日韩视频| 久久综合图片| 亚洲精选中文字幕| 亚洲综合第一| 国产视频欧美| 亚洲精品男同| 欧美午夜一区| 久久国产精彩视频| 欧美国产一区在线| 亚洲影院色在线观看免费| 久久久久久久综合日本| 亚洲福利在线观看| 亚洲一区二区精品在线观看| 国产欧美一区二区三区在线看蜜臀| 亚洲成人在线视频播放 | 午夜电影亚洲| 欧美成人精品福利| 在线视频欧美日韩| 亚洲男人的天堂在线aⅴ视频| 国产日韩亚洲欧美精品| 亚洲精品无人区| 国产精品久久二区| 亚洲成人自拍视频| 欧美日韩一区在线观看| 欧美在线日韩精品| 欧美激情2020午夜免费观看| 亚洲午夜精品国产| 免费在线观看日韩欧美| 在线视频精品一区| 免费亚洲网站| 亚洲一区三区电影在线观看| 免费成人av| 亚洲一区亚洲二区| 欧美成人第一页| 午夜日韩激情| 欧美日韩视频一区二区| 久久精品国产视频| 国产精品久久久久99| 亚洲国产精品热久久| 国产精品v欧美精品∨日韩| 亚洲第一综合天堂另类专| 欧美视频不卡中文| 亚洲黄色免费电影| 国产精品青草久久| 999亚洲国产精| 国语自产精品视频在线看抢先版结局 | 欧美日本一道本| 欧美一区二区在线观看| 欧美视频在线观看免费| 亚洲激情视频网| 国产免费一区二区三区香蕉精| 亚洲精品视频在线看| 韩国一区电影| 午夜精品久久久久久久男人的天堂 |