国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于T MS320C6678多核DSP的分布式通信系統(tǒng)

2014-08-16 01:09:04董淵文張永軍高曉亮
關(guān)鍵詞:發(fā)送數(shù)據(jù)中間件板卡

董淵文,張永軍,高曉亮,滕 晶

(瑞典宜能嵌入式軟件有限公司上海研發(fā)中心,上海 200021)

TMS320C6678是TI公司2010年11月發(fā)布的KeyStone架構(gòu)的8核DSP處理器,每個CorePac核的頻率最高為1.25 GHz,提供強大的定點和浮點運算能力,同時芯片內(nèi)部集成了Multicore Navigator、RapidIO、千兆以太網(wǎng)和EDMA等外設(shè),由于芯片處理能力強,外設(shè)功能豐富,而且片內(nèi)集成了大量的硬件加速器,例如Packet Accelerator、Multicore Navigator等,被廣泛地應(yīng)用在通信、雷達、聲納、火控、電子對抗等領(lǐng)域。從目前的情況看,由于C6678的以上優(yōu)異的特性,基于TMS320C6678的硬件和軟件平臺,在未來的5~10年內(nèi),將是信號處理平臺主流。

雖然TMS320C6678硬件優(yōu)點眾多,但由于芯片內(nèi)部集成了8核,而且有大量的外設(shè)及加速器,通常每個板卡單位上有 4個 TMS320C6678,相當于 32個DSP核,按照一個機架4塊板卡的設(shè)計,這將是一個128個DSP核的陣列,而且節(jié)點間的連接方式復(fù)雜,如何簡單、高效、易調(diào)試地實現(xiàn)128個分布式節(jié)點的通信,為平臺軟件設(shè)計者提出了極高的要求。

針對基于TMS320C6678分布式系統(tǒng)的特點,本文首先分析了TMS320C6678的硬件通信方式及設(shè)計難點,進而提出了一種基于透明傳輸?shù)姆植际较到y(tǒng)通信方式及實現(xiàn),最后通過實驗給出了性能分析,為基于TMS320C6678的平臺軟件設(shè)計提供了參考。

1 核間、DSP間和板間的傳輸方式

由于TMS320C6678芯片高度集成的特性,片內(nèi)除了8個CorePac內(nèi)核外,還集成了以太網(wǎng)、EDMA、RapidIO、PCIe 以 及 Multicore Navigator、PacketAccelerator協(xié) 處 理器等外設(shè)。

在多個TMS320C6678的板卡設(shè)計中,芯片內(nèi)的核間通信,通常采用共享內(nèi)存或DMA實現(xiàn),因為TMS320C6678中有專門用于數(shù)據(jù)搬移的協(xié)處理器Multicore Navigator,因此芯片內(nèi)的核間通信用基于硬件隊列協(xié)處理器的CDMA實現(xiàn)。特點是速度快、效率高,缺點是編程復(fù)雜,學習周期長。

在雷達、聲納等應(yīng)用中,一般在一塊DSP處理板上設(shè)計多個TMS320C6678處理器,在一個機架上插多塊DSP處理板卡來承載大數(shù)據(jù)量的處理。對于板卡內(nèi)DSP間通信,以前可能會經(jīng)常采用PCIe的設(shè)計,但目前的主流設(shè)計,傾向于采用RapidIO的通信方式,因為雖然PCIe有架構(gòu)簡單、編程容易等特點,但是PCIe一般只能用作設(shè)備內(nèi)的通信,而且對于復(fù)雜的陣列節(jié)點間的通信就力不從心。因此RapidIO這種高效、可靠、跨設(shè)備的傳輸方式被用作DSP間、板間傳輸?shù)闹饕绞健τ诖髷?shù)據(jù)量的傳輸,一般會采用RapidIO type5、RapidIO type6以及 RapidIO type10、RapidIO type2混合的模式。由于TMS320C6678支持千兆以太網(wǎng)傳輸,在某些TMS320C6678陣列的板卡設(shè)計中,例如Advantech DPS8901單板 20個 TMS320C6678的陣列,DSP間以及CPU和DSP間還會采用基于以太網(wǎng)的傳輸方式。板卡通信示意圖如圖1所示。

圖1 板卡通信示意圖

綜上,在一個板卡的軟、硬件系統(tǒng)設(shè)計中,單位節(jié)點之間交互有如此多的接口和通信路徑,使平臺軟件的設(shè)計和編程工作變得異常復(fù)雜。比如節(jié)點A和節(jié)點B之間,底層通過CDMA連接,節(jié)點B和節(jié)點C之間底層通過RapidIO通信,如果沒有一種好的上層通信機制,節(jié)點A向節(jié)點C發(fā)送數(shù)據(jù),這一過程是非常繁瑣和復(fù)雜的,如圖2所示。

圖2 分布式節(jié)點間通信示意圖

因此,為解決分布式系統(tǒng)節(jié)點的透明傳輸問題,本文提出一種跨核、跨處理器、跨板卡、跨系統(tǒng)的透明傳輸機制LINX及軟件實現(xiàn),下面將詳細闡述LINX模塊的機制和通信模式。

2 統(tǒng)一接口的分布式透明傳輸模式

針對TMS320C6678板卡設(shè)計中復(fù)雜的底層接口狀況,提出一種點對點的分布式系統(tǒng)節(jié)點間的透明傳輸模型,稱之為 LINX。

這一分布式透明節(jié)點間傳輸模型應(yīng)具有以下特性。

(1)統(tǒng)一接口、使用簡便。從系統(tǒng)架構(gòu)的角度,LINX設(shè)計為統(tǒng)一應(yīng)用程序接口的中間件模型,即不管底層是何種傳輸介質(zhì),例如 SRIO、以太網(wǎng)、CDMA等,對于應(yīng)用程序來說,對于跨介質(zhì)傳輸,均使用統(tǒng)一的接口函數(shù)。統(tǒng)一通信接口的好處是顯而易見的,因為對于應(yīng)用程序開發(fā)者,可以直接調(diào)用統(tǒng)一的接口,跨介質(zhì)進行數(shù)據(jù)的收發(fā)。

(2)跨介質(zhì)傳輸。傳輸模型設(shè)計為分層架構(gòu),不同的底層鏈路驅(qū)動按照一定的格式,通過統(tǒng)一抽象的接口例如發(fā)送、接收、初始化、查詢、響應(yīng)中斷等基本接口,與LINX中間件層對接。對于跨多個節(jié)點的傳輸,提供簡單的鏈路定義及使用的方式。

(3)錯誤檢測。具有基本的錯誤檢測功能,當LINX模塊檢測到底層鏈路錯誤時,應(yīng)及時上報給通信節(jié)點。而且對于不可靠傳輸介質(zhì),比如基于共享內(nèi)存的通信方式,還需要提供可靠傳輸保證,例如用心跳機制的發(fā)送/應(yīng)答,對不可靠的鏈路提供通信安全保證。

根據(jù)以上特性,提出的LINX傳輸模型如圖3所示。自下而上依次是驅(qū)動層、傳輸層、會話層以及應(yīng)用程序接口。

其中驅(qū)動層負責具體的驅(qū)動鏈路實現(xiàn);傳輸層負責與驅(qū)動層接口,底層的監(jiān)控和檢測重傳;會話層負責和傳輸層接口,進行鏈路名管理、鏈路路徑的搜索并提供應(yīng)用程序接口。

LINX采用點對點的傳輸模型,如圖4所示。節(jié)點為TMS320C6678的CorePac核,節(jié)點A與節(jié)點B之間通過CDMA驅(qū)動通信,鏈路標識號為n1,那么節(jié)點A上的任務(wù)A給節(jié)點B上的任務(wù)B發(fā)送數(shù)據(jù),可通過接口寫成Send(n1/B,&data)。

圖4 節(jié)點間通信示意圖

同理,節(jié)點A上的任務(wù) A通過節(jié)點B,向節(jié)點C上的任務(wù)C發(fā)送數(shù)據(jù),經(jīng)過CDMA和RapidIO兩個鏈路,分別標識為n1和 n2,那么可通過接口寫成 Send(n1/n2/C,&data)。

由此可見,在TMS320C6678的陣列中,使用基于LINX中間件架構(gòu)構(gòu)建的分布式系統(tǒng)通信方式,實現(xiàn)跨介質(zhì)的傳輸,通信接口非常簡便。對于系統(tǒng)設(shè)計來說,可達到各個節(jié)點間的無縫傳輸。由于LINX是基于底層驅(qū)動的中間件管理模塊,在驅(qū)動之上會增加一些負載,下面是LINX模塊的軟件實現(xiàn),在TMS320C6678EVM開發(fā)板卡上所做的性能測試實驗,用以評估LINX模塊對傳輸性能的影響。

3 分布式透明傳輸模式的性能測試

由于RapidIO在多DSP及多板卡的集群設(shè)備中是最常用的一種接口,因此以RapidIO為例測試LINX基于RapidIO傳輸在TMS320C6678上的性能。

本測試基于標準TMS320C6678EVM開發(fā)板,測試采用OSEck硬實時操作系統(tǒng),內(nèi)核代碼在L2 Memory上,其他驅(qū)動、中間層LINX所使用的數(shù)據(jù)區(qū)以及應(yīng)用層所用的內(nèi)存池均位于片外的DDR3存儲器上,測試的時間周期使用硬件定時器Timer 10(0x022A0000)測量,TMS320C6678 主頻為 1 GHz,RapidIO 配置為 5 Gb/s、4x模式,采用 DirectIO(SRIO type5/6)方式通信。

TMS320C6678核0發(fā)送數(shù)據(jù),核1接收數(shù)據(jù),1核在收到之后向0核回送,每次測試一個回環(huán)耗時,測試連續(xù)進行n次,由發(fā)送端設(shè)置時間戳進行連續(xù)統(tǒng)計測試,統(tǒng)計單位1 cycle等于1 ns,如表1所示。

表1 測試結(jié)果

其中,總耗時為測試n次之后的單向傳輸耗時;測試次數(shù)為總的測試次數(shù);每次耗時為每次單向發(fā)送數(shù)據(jù)時,從任務(wù)發(fā)出數(shù)據(jù)到對方節(jié)點收到數(shù)據(jù)所消耗的時間;消息大小為發(fā)送數(shù)據(jù)塊的大小;Throughput為傳輸帶寬。Throughput的計算公式為(消息大小/(總耗時/測試次數(shù)))×1 000 000 000×8(單位 bit/s)。

按照理論計算,RapidIO 5 Gb/s模式下的去除8 b/10 b編碼后的理論有效帶寬是4 Gb/s,然后還要去除驅(qū)動、中間層及應(yīng)用層的系統(tǒng)開銷,最終的實際有效帶寬不超過理論有效帶寬的80%。

從測試結(jié)果看,在采用LINX中間件架構(gòu)構(gòu)建的分布式系統(tǒng)通信方式下,傳輸帶寬隨發(fā)送的數(shù)據(jù)增大而增大,由于TMS320C6678的RapidIO傳輸硬件限制,傳輸?shù)臄?shù)據(jù)包最大不超過1 MB。一般采用RapidIO傳輸?shù)臄?shù)據(jù)量是比較大的,典型情況下在傳輸大于4 KB的數(shù)據(jù)時,帶寬趨向穩(wěn)定,結(jié)果接近于有效實際帶寬。

因此,采用LINX中間件架構(gòu)構(gòu)建的分布式系統(tǒng),在使用簡便、跨介質(zhì)傳輸和有效錯誤檢測等優(yōu)點特性的基礎(chǔ)上,在大數(shù)據(jù)量的傳輸模式下,性能接近于直接驅(qū)動模式。

目前TMS320C6678芯片被越來越廣泛地使用在通信、雷達、聲納、電子對抗等領(lǐng)域,由于系統(tǒng)設(shè)計日益復(fù)雜,通信接口多樣,需要分布式的透明傳輸中間件模塊,把系統(tǒng)中幾十個乃至上百個TMS320C6678內(nèi)核節(jié)點無縫連接起來。針對TMS320C6678核間、片間、板間的通信要求,本文提出了一種稱為LINX的分布式系統(tǒng)節(jié)點間的透明傳輸模型,提供了實現(xiàn)方法及性能測試數(shù)據(jù),為基于TMS320C6678芯片的系統(tǒng)軟件設(shè)計提供了參考。

[1]Texas Instrument TMS320C6678 Multicore Fixed and Floating-Point Digital Signal Processor[R].SPRS691,2010.

[2]KeyStone architecture serial RapidIO (SRIO)user guide[R].SPRUGW1,2010.

[3]彭益智.一種基于TMS320C6678的JPEG編碼算法并行實現(xiàn)方法[J].指揮控制與仿真,2012,34(1):121.

[4]鄭章汝.基于TMS320C6678的雷達信號處理機設(shè)計[J].工業(yè)控制計算機,2012,25(11):14.

[5]齊恩勇.基于多核處理器的彈載嵌入式系統(tǒng)設(shè)計研究[J].電子設(shè)計工程,2013,21(6):105.

猜你喜歡
發(fā)送數(shù)據(jù)中間件板卡
移動自組網(wǎng)中MAC層協(xié)議研究
基于PCI9054的多總線通信板卡的研制
基于FPGA的多通道模擬量采集/輸出PCI板卡的研制
基于馬爾科夫鏈的LoRaWAN網(wǎng)絡(luò)節(jié)點性能分析
帶標記方式的CRDSA++協(xié)議性能分析*
RFID中間件技術(shù)及其應(yīng)用研究
電子制作(2018年14期)2018-08-21 01:38:10
基于VanConnect中間件的設(shè)計與開發(fā)
電子測試(2018年10期)2018-06-26 05:54:02
使用IPSec安全傳輸數(shù)據(jù)
一種基于光纖數(shù)據(jù)傳輸?shù)亩喟蹇ㄜ浖绦驘龑懠夹g(shù)
中間件在高速公路領(lǐng)域的應(yīng)用
定州市| 和静县| 同江市| 元氏县| 嘉鱼县| 凤台县| 保亭| 罗源县| 镇远县| 溧水县| 慈利县| 四会市| 天门市| 上思县| 措美县| 丰原市| 广宗县| 孟连| 贵德县| 甘肃省| 高州市| 开封县| 通州市| 任丘市| 蒲江县| 莱西市| 彰化市| 大理市| 永嘉县| 酉阳| 新余市| 尉犁县| 河西区| 嘉定区| 温宿县| 昌图县| 凤台县| 蒙阴县| 徐州市| 邯郸县| 安多县|