2019亚洲日韩新视频_97精品在线观看_国产成人精品一区二区_91精品网站在线观看

非透明橋在國產(chǎn)化平臺上的應(yīng)用

來源:期刊VIP網(wǎng)所屬分類:免費(fèi)文獻(xiàn)發(fā)布時間:2021-03-22瀏覽:

  摘要:為了解決雙控系統(tǒng)間通信模塊效率低、成本高的問題,提出使用非透明橋技術(shù)進(jìn)行系統(tǒng)間數(shù)據(jù)傳輸。本文設(shè)計并實(shí)現(xiàn)了一套通信框架和中間件,在通信框架中實(shí)現(xiàn)對緩沖區(qū)的組織管理,在中間件中實(shí)現(xiàn)了流量控制以及socket通信接口。文中介紹了非透明橋技術(shù),詳細(xì)描述了通信框架和中間件的設(shè)計思路,并對框架進(jìn)行了測試。測試表明,該通信框架傳輸比較穩(wěn)定,在國產(chǎn)化平臺中傳輸?shù)淖畲髱捒梢赃_(dá)到1400MB/s,相較于萬兆以太網(wǎng)卡提高了16.67%,并且成本降低了15.91%。

  關(guān)鍵詞:國產(chǎn)化;雙控存儲;非透明橋;socket

  Abstract: In order to solve the problems of low efficiency and high cost of communication modules between dual-control systems, it is proposed to use nontransparent bridge technology for data transmission between systems. A set of communication framework and middleware is designed and implemented. In the communication framework, organization and management of the buffers are realized. Flow control and socket communication interfaces are implemented in the middleware. The paper introduces the nontransparent bridge technology, details the design ideas of the communication framework and middleware and tests the framework. Tests show that the transmission of the communication framework is relatively stable, and the maximum bandwidth transmitted in the localized platform can reach 1400MB/s, which is an increase of 16.67% compared to 10 Gigabit Ethernet cards, and the cost is reduced by 15.91%.

  Key words: localization; dual -control storage; Non-transparent Bridge; socke

  0 引言

  隨著我國信息化建設(shè)的不斷進(jìn)步,數(shù)據(jù)量快速增長,對存儲系統(tǒng)的性能和可靠性提出很高的要求,發(fā)展國產(chǎn)化雙控存儲系統(tǒng)勢在必行"-2。傳統(tǒng)的雙控系統(tǒng)使用以太網(wǎng)進(jìn)行系統(tǒng)間傳輸,以太網(wǎng)結(jié)構(gòu)簡單、易管理,但是帶寬利用率低、延遲較高,在國產(chǎn)服務(wù)器上,受限于CPU頻率的影響,以太網(wǎng)卡具有極大的性能損失。為了提高通信帶寬、降低使用成本,本文提出使用PCle技術(shù)進(jìn)行數(shù)據(jù)傳輸。PCle提供非透明橋技術(shù)(Non-transparent Bridge)用以連接兩個不同的主機(jī)域B-7,解決了多主機(jī)域之間地址沖突的問題,使用NTB可以有效提高系統(tǒng)間數(shù)據(jù)傳輸?shù)男省H欢琋TB技術(shù)仍存在以下問題:ONTB只提供了系統(tǒng)間內(nèi)存映射的功能,缺少完善的數(shù)據(jù)傳輸機(jī)制;

  ②現(xiàn)有的應(yīng)用絕大部分都不支持NTB接口,應(yīng)用的范圍很小。

  綜上所述,本文提出使用NTB作為雙控系統(tǒng)間的傳輸通路,并進(jìn)行如下工作:

  ①設(shè)計并實(shí)現(xiàn)一種高效的通信框架,提高數(shù)據(jù)傳輸?shù)男?

  ②在上層應(yīng)用與通信框架之間抽象出中間件對通信框架進(jìn)行封裝,并在中間件中實(shí)現(xiàn)socket接口。

  1非透明橋技術(shù)

  非透明橋常用于連接兩個獨(dú)立的主機(jī)域,解決了多處理器系統(tǒng)中的地址域沖突問題。多處理器之間互相隔離,非透明橋一側(cè)的主機(jī)將看不到橋另一側(cè)完整的內(nèi)存空間或1/0空間,而是將其看作一個端點(diǎn),并把它映射到自己的地址空間-

  1.1 通信方式

  非透明橋提供了兩種主機(jī)域之間通信的方式。

  通過非透明橋中的特殊寄存器進(jìn)行處理器間的狀態(tài)信息的傳遞,通過地址映射進(jìn)行10數(shù)據(jù)通信[

  非透明橋的兩側(cè)通常含有門鈴(Doorbell)寄存器和便箋(Scratchpad)寄存器。門鈴寄存器用于將中斷從非透明橋的一側(cè)發(fā)送到另一側(cè)。便箋寄存器可以從非透明橋的兩側(cè)進(jìn)行訪問,常被用來在兩個主機(jī)域之間傳遞一些狀態(tài)信息和控制信息,也可以作為通用的讀寫寄存器用來傳遞一些簡短的消息。

  非透明橋還提供地址映射的方式進(jìn)行通信。每個NTB設(shè)備都會抽象出兩個端點(diǎn),分別是虛擬端端點(diǎn)(virtual side)和鏈路端端點(diǎn)(link side)。虛擬端與本地主機(jī)域相連,鏈路端與遠(yuǎn)程主機(jī)域相連。為了跨非透明網(wǎng)橋通信,鏈路端會將一塊BAR地址空間映射到遠(yuǎn)程主機(jī)域。本地主機(jī)域通過對BAR地址空間進(jìn)行讀寫操作將通過地址翻譯功能傳輸?shù)竭h(yuǎn)程系統(tǒng)的內(nèi)存上。

  1.2 地址翻譯

  在非透明橋環(huán)境中,數(shù)據(jù)從一個內(nèi)存地址空間穿越到另一個地址空間時要進(jìn)行地址翻譯。非透明橋鏈路端基地址寄存器中包含一個setup寄存器,用來定義地址翻譯窗口的大小并分配地址翻譯寄存器。在地址翻譯寄存器中定義了一個掩碼,該掩碼將地址分為高位基本字段和低位偏移字段。然后,將地址基址寄存器位替換為相應(yīng)的地址轉(zhuǎn)換寄存器位,即可得到正確的內(nèi)存地址。如圖1所示。非透明橋技術(shù)的使用要借助PCle交換機(jī)

  (swith),PCle Switch具有上行端口和下行端口,可以擴(kuò)展系統(tǒng)中的PCle通道數(shù)。上行端口連接主設(shè)備,下行端口連接端節(jié)點(diǎn)設(shè)備或者通過NTB連接其他主機(jī)域11,如圖2所示。經(jīng)過大量調(diào)研發(fā)現(xiàn),Pk公司的Px8749型號switch產(chǎn)品支持NTB技術(shù),每個NTB端口擁有4條PCle鏈路。因此本文基于Pk8749型號的Switch進(jìn)行開發(fā)。

  本文設(shè)計的通信框架還使用了直接內(nèi)存訪問

  (DMA)技術(shù),DMA有效地解決了在進(jìn)行數(shù)據(jù)交換時CPU為適應(yīng)外部設(shè)備的工作頻率而花費(fèi)大量的周期等待數(shù)據(jù)與中斷導(dǎo)致CPU在獲取數(shù)據(jù)過程中的低效率的問題。使用DMA技術(shù)可以有效減輕CPU的壓力,間接提升CPU的工作處理能力[12通信模塊架構(gòu)

  非透明橋技術(shù)提供了兩塊可以在雙系統(tǒng)間共享的地址空間,實(shí)現(xiàn)了基本的通信功能。本文提出的通信模塊就是基于非透明橋的內(nèi)存映射,在其之上作出如下工作:

  ①實(shí)現(xiàn)非透明橋的初始化工作,設(shè)置合理的地址空間大小;

  ②設(shè)計一個通信框架對映射出的內(nèi)存進(jìn)行組織管理,提供針對內(nèi)存空間的快速訪問機(jī)制,提高內(nèi)存空間的利用率進(jìn)而提高通信的效率;

  ③在應(yīng)用層與通信框架之間封裝一層中間件,用來對通信框架進(jìn)行完善,實(shí)現(xiàn)流量控制,保證模塊使用的安全性,并對上層應(yīng)用提供socket通信接口,具體如圖3所示。

  2.1 非透明橋的初始化

  非透明橋的初始化工作包括寄存器的配置、通路的建立以及內(nèi)存的映射三個部分。要使用PCle Switch中的NTB功能,必須配置swich基地址寄存器中的0x360-0x364位,使能NT端口,并分配下行端口號(本型號產(chǎn)品中對外端口號為8和9),NT設(shè)備中的每個端點(diǎn)都有一套基地址寄存器。使用時要配置鏈路端的OxE8 ~OxEC位,使能BAR2地址空間并設(shè)置BAR2類型和大小。初始化時,在本地申請一塊物理內(nèi)存并將內(nèi)存的起始地址和大小通過便箋寄存器發(fā)送給遠(yuǎn)程系統(tǒng),遠(yuǎn)程系統(tǒng)將獲取到的內(nèi)存信息寫入鏈路端的地址翻譯寄存器中,反之亦然。最后還要向NT端口分配DMA通路以實(shí)現(xiàn)DMA的傳輸功能。

  2.2通信框架

  非透明橋初始化完成后即實(shí)現(xiàn)了雙控系統(tǒng)中內(nèi)存映射的功能,本地系統(tǒng)向本地申請的物理內(nèi)存中寫入數(shù)據(jù)即可通過地址翻譯功能傳輸?shù)竭h(yuǎn)程系統(tǒng)。但是這只是基本的傳輸通道的實(shí)現(xiàn),想要得到一條高效快速的數(shù)據(jù)通路,還需要一個高效的通信框架保證數(shù)據(jù)傳輸效率。

  本文設(shè)計一套通信框架,將BAR地址空間作為數(shù)據(jù)的發(fā)送緩沖區(qū),本地申請的物理內(nèi)存作為數(shù)據(jù)接收緩沖區(qū),這種設(shè)計可以保證當(dāng)設(shè)備出現(xiàn)突發(fā)故障時數(shù)據(jù)不會丟失。為了提高數(shù)據(jù)傳輸?shù)男剩乐咕彌_區(qū)溢出,將兩塊內(nèi)存區(qū)域以數(shù)組的形式組織成環(huán)形隊(duì)列。在地址空間的最前方劃分兩塊 4 字節(jié)大小的內(nèi)存區(qū)域用來維護(hù)兩個偏移量: 入口偏移和出口偏移。入口偏移是指下一次入隊(duì)列時的位置,出口偏移是指下一次出隊(duì)列時的位置。環(huán)形隊(duì)列中單個元素以結(jié)構(gòu)體nt-data的形式進(jìn)行劃分,每一個nt_data就是一個傳輸時的數(shù)據(jù)包,如圖4所示。使用這種設(shè)計可以有效提高內(nèi)存空間的利用率、隊(duì)列讀寫和查詢的效率,防止內(nèi)存溢出等錯誤發(fā)生,具體使用規(guī)則如下:

  ①當(dāng)入口偏移和出口偏移的值相同時,表示隊(duì)列為空,此時數(shù)據(jù)讀取操作阻塞,直到有新的數(shù)據(jù)進(jìn)入隊(duì)列:

  ②當(dāng)出口偏移比入口偏移小并相差1時,表示隊(duì)列已滿,此時數(shù)據(jù)寫入操作阻塞,直到有數(shù)據(jù)被取出:

  ③寫入數(shù)據(jù)時,直接將元素添加到入口偏移指向的位置,然后將入口偏移加1,如果超出隊(duì)列長度則從0開始:

  ④讀取數(shù)據(jù)時,直接讀取出口偏移指向的位置存放的數(shù)據(jù),然后將出口偏移加1,如果超出隊(duì)列長度則從0開始。

  考慮到要實(shí)現(xiàn)socket通信接口,從底層向上層傳輸時,為了提高傳輸效率,防止IP層對數(shù)據(jù)進(jìn)行分片,單個nt_data包大小應(yīng)該不超過IP層的MTU大小1500字節(jié)。從上層向底層傳輸時,為了減少數(shù)據(jù)分片,同時盡量避免內(nèi)存浪費(fèi),單個nt_data的大小應(yīng)該在MTU的1/3-1/2之間。綜合考慮,將單個ntdata包大小設(shè)為750字節(jié)。這樣可以保證數(shù)據(jù)分片至多進(jìn)行一次,同時內(nèi)存浪費(fèi)現(xiàn)象不會過于嚴(yán)重。

  ntdata數(shù)據(jù)包中,包含一個2字節(jié)的包頭以及748字節(jié)的數(shù)據(jù)存放區(qū),如圖5所示。包頭前兩位是標(biāo)志位,首位為1表示數(shù)據(jù)進(jìn)行過分片,為0表示沒有經(jīng)過分片。第二位為0表示此包為最后分片,為1表示為首分片。其余30位記錄最后分片在隊(duì)列中的位置。在讀取的時候只會讀取首分片,根據(jù)首分片中記錄的最后分片的位置主動發(fā)起一次讀取請求,獲得完整的數(shù)據(jù)。

  2.3中間件

  盡管設(shè)計了一個通信框架對數(shù)據(jù)傳輸進(jìn)行約束,提高了通信的效率,但是該框架仍有很大的局限性。首先框架中缺少流量控制的功能,當(dāng)讀寫速率有差異時很容易造成緩沖區(qū)溢出導(dǎo)致數(shù)據(jù)丟失。其次框架不具有通用性,現(xiàn)階段所有的應(yīng)用都不支持對此框架接口的調(diào)用。因此本文設(shè)計一層中間件對通信框架的接口進(jìn)行封裝,實(shí)現(xiàn)流量控制。考慮到大部分應(yīng)用都支持網(wǎng)絡(luò)通信,于是在中間件中實(shí)現(xiàn)socket通信接口。

  為了防止緩沖區(qū)溢出,發(fā)送數(shù)據(jù)時,首先檢查發(fā)送緩沖隊(duì)列,如果隊(duì)列剩余元素個數(shù)小于要發(fā)送的包的個數(shù),那么發(fā)送函數(shù)會被阻塞,關(guān)閉上層的發(fā)送隊(duì)列,通知上層網(wǎng)絡(luò)協(xié)議棧停止發(fā)送數(shù)據(jù),直到緩沖區(qū)中的數(shù)據(jù)被讀取,釋放出足夠的空間才喚醒發(fā)送隊(duì)列和發(fā)送函數(shù)繼續(xù)寫入數(shù)據(jù)。

  網(wǎng)絡(luò)系統(tǒng)基于socket機(jī)制,由內(nèi)核中的網(wǎng)絡(luò)子系統(tǒng)驅(qū)動,負(fù)責(zé)接收和發(fā)送網(wǎng)絡(luò)數(shù)據(jù)。因此實(shí)現(xiàn)socket機(jī)制的一種方法就是實(shí)現(xiàn)國產(chǎn)化平臺下的網(wǎng)絡(luò)驅(qū)動。網(wǎng)絡(luò)驅(qū)動使用net-device結(jié)構(gòu)體描述一個具體的網(wǎng)絡(luò)設(shè)備的信息,實(shí)現(xiàn)不同硬件的統(tǒng)[13-3],系統(tǒng)和驅(qū)動程序之間定義有專門的數(shù)據(jù)結(jié)構(gòu)(sk-buff)進(jìn)行數(shù)據(jù)的傳遞。因此只需要在系統(tǒng)中初始化并注冊net_device,實(shí)現(xiàn)其收發(fā)函數(shù)即可。發(fā)送數(shù)據(jù)時,通過發(fā)送函數(shù)ndo-start-mit接收上層以sk-uff形式傳來的數(shù)據(jù)包,對其進(jìn)行解析,根據(jù)數(shù)據(jù)長度進(jìn)行分片處理,然后使用DMA的方式將處理后的nt-data包搬運(yùn)到緩沖隊(duì)列中。

  讀取數(shù)據(jù)時,使用輪詢的方式讀取緩沖隊(duì)列,根據(jù)nt_data包中分片情況將數(shù)據(jù)恢復(fù)成sk_buff的形式,然后調(diào)用netifx函數(shù)將數(shù)據(jù)包發(fā)送給上層應(yīng)用。

  3實(shí)驗(yàn)測試

  本文設(shè)計并實(shí)現(xiàn)的通信框架以及中間件最終以系統(tǒng)中網(wǎng)絡(luò)設(shè)備的形式呈現(xiàn),系統(tǒng)可以對此設(shè)備設(shè)置IP地址以及激活等操作,上層應(yīng)用可以通過此網(wǎng)絡(luò)設(shè)備實(shí)現(xiàn)非透明橋傳輸?shù)恼{(diào)用。為了驗(yàn)證通信框架和中間件的正確性和穩(wěn)定性,將實(shí)驗(yàn)測試分為功能性測試、可靠性測試和性能測試。實(shí)驗(yàn)環(huán)境為兩臺國產(chǎn)飛騰服務(wù)器+麒麟操作系統(tǒng)+Plx8749型號PCle Switch,并使用兩塊intel x520型號的萬兆以太網(wǎng)卡作性能測試的對比。

  3.1功能性測試

  系統(tǒng)部署成功后,測試本文實(shí)現(xiàn)的網(wǎng)絡(luò)設(shè)備是否與正常網(wǎng)絡(luò)設(shè)備具有同樣的功能。通過ifconfig命令查看系統(tǒng)中的網(wǎng)絡(luò)設(shè)備,可以看到一塊特殊的網(wǎng)卡。然后使用ifconfig命令對其設(shè)置IP地址并激活。經(jīng)測試,此網(wǎng)絡(luò)設(shè)備實(shí)現(xiàn)了與正常網(wǎng)絡(luò)設(shè)備相同的功能,支持設(shè)置IP以及激活等操作。

  3.2可靠性測試

  將兩塊網(wǎng)卡的IP地址分別為192.168.137.17和192.168.137.18,使用ping命令以及iperf網(wǎng)絡(luò)測試工具進(jìn)行長時間的穩(wěn)定性測試。測試結(jié)果表明,在超過1小時的長時間ping包以及ipert測試中,網(wǎng)絡(luò)連接十分穩(wěn)定,沒有出現(xiàn)連接斷開或者丟包的現(xiàn)象。

  3.3性能測試

  使用ipef網(wǎng)絡(luò)測試工具對本文實(shí)現(xiàn)的網(wǎng)卡以及intel x520型號的萬兆以太網(wǎng)卡進(jìn)行性能測試。

  測試時,調(diào)整iperf參數(shù)緩沖區(qū)大小以及NT緩沖區(qū)大小為8kB.16kB-2MB,觀察帶寬隨緩沖區(qū)大小變化的規(guī)律,對比兩者的帶寬性能,測試結(jié)果如圖6所示。

  圖6中可以看到當(dāng)緩沖區(qū)大小達(dá)到32kB時,萬兆以太網(wǎng)卡的帶寬達(dá)到峰值1200MB/s左右。而NT網(wǎng)卡在緩沖區(qū)大小為1MB時達(dá)到峰值1400MB/s左右,相較于萬兆網(wǎng)卡,最大帶寬提高了16.67%。

  4結(jié)束語

  在國產(chǎn)化雙控存儲系統(tǒng)中,網(wǎng)絡(luò)通信模塊的效率低下、成本高昂一直是非常嚴(yán)重的問題。本文提出使用PCle互聯(lián)網(wǎng)路中的非透明橋技術(shù)實(shí)現(xiàn)雙控系統(tǒng)中的數(shù)據(jù)傳輸功能,設(shè)計并實(shí)現(xiàn)了一套通信框架,提高系統(tǒng)間通信的效率,一個中間件,提供通用的socket接口,提高了框架應(yīng)用的廣泛性。最后文章對模塊的穩(wěn)定性和性能進(jìn)行了測試。測試結(jié)果表明,使用本文設(shè)計的通信模塊在國產(chǎn)化雙控存儲系統(tǒng)中數(shù)據(jù)傳輸?shù)膸挸^了萬兆以太網(wǎng)卡16.67%,同時根據(jù)網(wǎng)絡(luò)上的報價顯示成本降低了15.91%。

  參考文獻(xiàn):

  [1]李瑞東,雙控存儲系統(tǒng)的設(shè)計與實(shí)現(xiàn)[D].濟(jì)南:山東大學(xué),2017.

  [2]姚遠(yuǎn),雙控制器磁盤陣列中PCL-e同步通道的優(yōu)化技術(shù)研究[D].武漢:華中科技大學(xué),2012.

  [3]祝樹生,解春雷,仇公望,等.以太網(wǎng)、PCle和Rapid 10高速總線比較分析[].電子測試,2016(11):100-102.

  [4]王聰,王彬,薛潔,等,基于PCle總線協(xié)議的設(shè)備驅(qū)動開發(fā)UJ].信息技術(shù),2013(3):32-35.

  [5]陳曉磊,董延軍.CPCI總線在某數(shù)據(jù)處理機(jī)中的應(yīng)用D].計算機(jī)光盤軟件與應(yīng)用,2014(10):69-72.

  [6]代琛,傅華明,基于PCI Express技術(shù)實(shí)現(xiàn)智能適配器D].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2007(1):64-65.

  [7]Shim C,Cha K H,Choi M.Design and implementation of initial OpenSHMEM on PCle NTB hased cloud computing[J].Cluster Computing,2019,22(1):1815-1826.

  [8]王樂,馬春江,馮曉東,等.PCItoPCI非透明橋的設(shè)計和應(yīng)用D].微電子學(xué)與計算機(jī),2007(7):160-162.

  [9]李才華.PCIExpress非透明橋在智能系統(tǒng)中的應(yīng)用設(shè)計D].電子元器件應(yīng)用,2009(8):64-66.

  [10]徐健,張建泉,張健,基于PCIE非透明橋的嵌入式異構(gòu)平臺設(shè)計t[].微電子學(xué)與計算機(jī),2018(1):26-30.

  [11]鄭橋,韓力,邢同鶴,等·基于PCle Switch的存儲陣列D].電子設(shè)計工程,2019(14):126-129.

  [12]柴磊·基于PCle總線的高速數(shù)據(jù)傳輸技術(shù)研究[D].西安:西安電子科技大學(xué),2018.

  [13]韓夢江基于PCIE總線的加密網(wǎng)卡驅(qū)動及應(yīng)用程序設(shè)計[D].哈爾濱:黑龍江大學(xué),2017.

  [14]項(xiàng)濤,基于EP9315處理器的網(wǎng)卡驅(qū)動設(shè)計D].信息與電腦:理論版,2018(11):89-90.

  [15]張霖,周維芹,張偉功.UM-BUS總線網(wǎng)卡的驅(qū)動程序設(shè)計與實(shí)現(xiàn)[].電子技術(shù)應(yīng)用,2020,46(5):83-87.

期刊VIP網(wǎng),您身邊的高端學(xué)術(shù)顧問

文章名稱: 非透明橋在國產(chǎn)化平臺上的應(yīng)用

文章地址: http://www.kg120.com/mianfeiwx/56596.html

國際期刊論文 SCI/SSCI選題匹配!

選擇豐富服務(wù)快速通過率高一鍵快速領(lǐng)取私人專屬發(fā)表方案!

* 填寫需求信息,或選擇平臺現(xiàn)有SCI/SSCI選題(如下)。

主站蜘蛛池模板: 赞皇县| 麻阳| 繁昌县| 荥阳市| 颍上县| 日喀则市| 兰州市| 怀仁县| 中牟县| 永胜县| 芦山县| 肇庆市| 改则县| 志丹县| 鹤岗市| 牙克石市| 青岛市| 河曲县| 文化| 常宁市| 本溪市| 天气| 察哈| 娱乐| 临澧县| 吴旗县| 龙里县| 洞口县| 辽宁省| 左贡县| 崇信县| 浪卡子县| 鸡泽县| 丰县| 寿阳县| 伊川县| 增城市| 崇明县| 察雅县| 南城县| 西昌市|