999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

某嵌入式平臺(tái)高并發(fā)低時(shí)延性能提升設(shè)計(jì)

2021-04-24 13:05:16
關(guān)鍵詞:嵌入式

(中國電子科技集團(tuán)公司第三十研究所 四川 610041)

對(duì)于系統(tǒng)來說,高吞吐量關(guān)系到系統(tǒng)單位時(shí)間內(nèi)能夠服務(wù)的用戶數(shù)量,是系統(tǒng)服務(wù)性能指標(biāo)的一個(gè)重要體現(xiàn),特別是對(duì)用戶數(shù)量規(guī)模巨大的系統(tǒng),必然會(huì)出現(xiàn)大量用戶并發(fā)請(qǐng)求處理的情況,如何保障系統(tǒng)能夠快速響應(yīng)所有用戶的業(yè)務(wù)請(qǐng)求是需要解決的重點(diǎn)。本文以某嵌入式平臺(tái)處理大量用戶高并發(fā)數(shù)據(jù)請(qǐng)求為基礎(chǔ),對(duì)高并發(fā)低時(shí)延處理進(jìn)行了性能提升設(shè)計(jì)。

1 硬件架構(gòu)設(shè)計(jì)

圖1 硬件架構(gòu)圖

該嵌入式平臺(tái)主要由主控單元和計(jì)算引擎等功能模塊組成,以調(diào)用方式對(duì)系統(tǒng)發(fā)送的大量用戶數(shù)據(jù)(UDP)進(jìn)行計(jì)算處理。

主控單元直接與外部傳輸線路關(guān)聯(lián),完成外部網(wǎng)絡(luò)線路接入、協(xié)議解析、數(shù)據(jù)提取、計(jì)算引擎調(diào)度、協(xié)議封裝、數(shù)據(jù)發(fā)送等功能。主控單元對(duì)外提供千兆以太網(wǎng)接口,對(duì)內(nèi)通過業(yè)務(wù)轉(zhuǎn)發(fā)總線與計(jì)算引擎關(guān)聯(lián),調(diào)用計(jì)算引擎進(jìn)行數(shù)據(jù)計(jì)算。

計(jì)算引擎主要由國產(chǎn)FPGA 組成,用于實(shí)現(xiàn)業(yè)務(wù)數(shù)據(jù)的高速計(jì)算處理。內(nèi)部集成高速算法模塊,通過標(biāo)準(zhǔn)業(yè)務(wù)傳輸總線,與主控單元接口,實(shí)現(xiàn)數(shù)據(jù)的高速交互。

2 軟件架構(gòu)設(shè)計(jì)

通常的select 接收?qǐng)?bào)文+多線程處理機(jī)制的局限性如下:一方面,select 對(duì)能夠支持的socket 數(shù)量是有一定限制的,默認(rèn)最大值為1024,且當(dāng)select 擁有一個(gè)很大的socket 集合時(shí),select 每次調(diào)用都會(huì)線性掃描全部的集合,導(dǎo)致效率呈現(xiàn)線性下降;另一方面,大量業(yè)務(wù)線程的創(chuàng)建、維護(hù)及線程之間的調(diào)度,使得Linux 系統(tǒng)開銷太大,無法應(yīng)對(duì)長時(shí)間的高并發(fā)數(shù)據(jù)處理。因此需要優(yōu)化軟件架構(gòu),提升高并發(fā)低時(shí)延處理性能。

2.1 epoll 并發(fā)接收

為實(shí)現(xiàn)高并發(fā)網(wǎng)絡(luò)數(shù)據(jù)的接入,軟件采用epoll 并發(fā)接收機(jī)制進(jìn)行處理。對(duì)epoll 而言,最大支持的并發(fā)數(shù)上限為最大可以打開文件的數(shù)目,這個(gè)數(shù)字一般遠(yuǎn)大于2048。

并發(fā)處理對(duì)帶寬和時(shí)延指標(biāo)的影響較大,分析如下:

(1)并發(fā)對(duì)帶寬指標(biāo)的影響

多通道并發(fā)對(duì)性能幾乎沒有影響,因?yàn)閷?duì)接收程序而言,大量數(shù)據(jù)包來自一個(gè)通道,還是來自N 個(gè)通道(每個(gè)通道各幾個(gè)數(shù)據(jù)包),幾乎沒有本質(zhì)區(qū)別。

(2)并發(fā)對(duì)時(shí)延指標(biāo)的影響

并發(fā)對(duì)時(shí)延指標(biāo)的影響巨大。對(duì)于單通道收發(fā),所有數(shù)據(jù)包來自一個(gè)通道,嵌入式平臺(tái)連續(xù)從單通道中接收數(shù)據(jù)進(jìn)行處理并依次向外應(yīng)答。

對(duì)于多通道收發(fā),如圖2 所示,如果把所有進(jìn)入嵌入式平臺(tái)的報(bào)文看作來自一個(gè)通路,則和單通道沒有區(qū)別。但假設(shè)有多個(gè)通道(以3 個(gè)通道為例)都以高速模式向嵌入式平臺(tái)發(fā)送數(shù)據(jù)。嵌入式平臺(tái)接收時(shí),必然按數(shù)據(jù)發(fā)送的先后順序,先接收到3 個(gè)通道各自的“包1”進(jìn)行處理,再繼續(xù)接收到3 個(gè)通道的“包2”。很明顯,第一個(gè)通道“包2”的應(yīng)答理論上一定在第3 個(gè)通道“包1”的應(yīng)答之后。而時(shí)延是按照每個(gè)通道單獨(dú)計(jì)算的,因此當(dāng)前通道的報(bào)文會(huì)被其他通道先到的報(bào)文搶占嵌入式平臺(tái)的運(yùn)算資源,導(dǎo)致排隊(duì),進(jìn)而時(shí)延加大。而且隨著通道數(shù)的增加,時(shí)延會(huì)進(jìn)一步惡化。epoll 的并發(fā)接收機(jī)制能夠很好地解決該問題。

圖2 多通道收發(fā)

2.2 內(nèi)存池隊(duì)列處理模型

內(nèi)存池作用:接收突發(fā)的高速數(shù)據(jù)報(bào)文(≥10000 包/秒),確保不丟包。

由于數(shù)據(jù)包在處理過程中,計(jì)算處理一般比較耗時(shí),如果采用接收一包,處理一包,應(yīng)答一包的機(jī)制,將會(huì)導(dǎo)致后續(xù)未能及時(shí)接收的報(bào)文大量丟包(內(nèi)核只能緩存一定數(shù)量的報(bào)文)。可以通過內(nèi)存池對(duì)突發(fā)的高速數(shù)據(jù)報(bào)文進(jìn)行緩存,如圖3 所示,使用單鏈表構(gòu)造一個(gè)內(nèi)存池鏈表結(jié)構(gòu),每個(gè)內(nèi)存單元包含一個(gè)預(yù)先分配好的能夠接收最大報(bào)文長度的內(nèi)存地址(按業(yè)務(wù)數(shù)據(jù)報(bào)文長度,一般2K-4K)。

圖3 內(nèi)存池鏈表

結(jié)合內(nèi)存池鏈表,設(shè)計(jì)一種基于該鏈表的內(nèi)存池隊(duì)列處理模型,如圖4 所示,數(shù)據(jù)報(bào)文在嵌入式平臺(tái)內(nèi)部的流轉(zhuǎn)處理過程如下:

(1)軟件啟動(dòng)時(shí),創(chuàng)建一個(gè)空閑內(nèi)存池鏈表(簡稱空閑鏈表),用于接收網(wǎng)絡(luò)上的高速數(shù)據(jù)報(bào)文,初始內(nèi)存單元個(gè)數(shù)為N(一般根據(jù)2G 內(nèi)存空間,至少設(shè)置1 萬個(gè)內(nèi)存單元,可以更大);另外創(chuàng)建一個(gè)任務(wù)內(nèi)存池鏈表(簡稱任務(wù)鏈表),初始內(nèi)存單元個(gè)數(shù)為0;

(2)當(dāng)epoll 檢測到高速數(shù)據(jù)報(bào)文到來時(shí),先從空閑鏈表中申請(qǐng)一個(gè)空閑的內(nèi)存單元;

(3)申請(qǐng)到空閑內(nèi)存單元后,將數(shù)據(jù)報(bào)文接收到該內(nèi)存單元,并將該內(nèi)存單元插入到任務(wù)鏈表中;

(4)業(yè)務(wù)線程檢測到有任務(wù)需要處理時(shí),從任務(wù)鏈表中取出一個(gè)待處理的內(nèi)存單元,進(jìn)行協(xié)議解析、調(diào)用計(jì)算引擎進(jìn)行計(jì)算處理等操作;

(5)處理完畢后,一方面將應(yīng)答報(bào)文通過網(wǎng)絡(luò)發(fā)送出去,另一方面將該內(nèi)存單元回收到空閑鏈表中,以便繼續(xù)使用。

分析:

(1)整個(gè)軟件生命周期中,只會(huì)在初始化時(shí)分配N個(gè)內(nèi)存單元;

(2)N 個(gè)內(nèi)存單元在空閑鏈表和任務(wù)鏈表中來回流轉(zhuǎn),均為指針操作,不會(huì)增加數(shù)據(jù)拷貝等開銷。

(3)只要網(wǎng)絡(luò)上瞬間的突發(fā)報(bào)文數(shù)不超過N,就不會(huì)造成丟包。一般至少將N 設(shè)置為系統(tǒng)每秒最大數(shù)據(jù)報(bào)文數(shù)量的2 倍及以上。

圖4 內(nèi)存池隊(duì)列處理模型

2.3 異步處理模型

圖5 異步處理模型

為了避免應(yīng)用程序處于空閑等待狀態(tài),同時(shí)確保FPGA 始終處于滿負(fù)荷計(jì)算狀態(tài),必須采用異步處理模型提高處理效率。異步處理模型如圖5 所示,設(shè)計(jì)如下:

(1)FPGA 設(shè)計(jì)接收緩存隊(duì)列,允許最多緩存M 包。M 值根據(jù)最大包長確定,隊(duì)列越長,性能越強(qiáng);

(2)在FPGA 可用緩存隊(duì)列包數(shù)不為空的前提下,持續(xù)向FPGA發(fā)送待計(jì)算的報(bào)文(通過協(xié)議字段能夠知道FPGA 現(xiàn)在的可用緩存隊(duì)列包數(shù)是多少);

(3)FPGA 調(diào)用接口提供異步調(diào)用模式,當(dāng)FPGA 處理完畢將計(jì)算結(jié)果返回應(yīng)用程序后,應(yīng)用程序自動(dòng)調(diào)用回調(diào)函數(shù),在回調(diào)函數(shù)中,將計(jì)算結(jié)果按照協(xié)議要求進(jìn)行封裝后發(fā)送至網(wǎng)絡(luò),并回收內(nèi)存單元到空閑鏈表;

(4)通過異步處理模型,保證FPGA 始終在不停地計(jì)算緩存隊(duì)列中的待處理報(bào)文,提高嵌入式平臺(tái)整體的處理性能;

3 結(jié)語

對(duì)于網(wǎng)絡(luò)數(shù)據(jù)高并發(fā)低時(shí)延的處理性能提升,一直是我們不斷追求突破的關(guān)鍵技術(shù)點(diǎn)。本文設(shè)計(jì)了一種高并發(fā)低時(shí)延處理機(jī)制,通過epoll 并發(fā)接收網(wǎng)絡(luò)上的高吞吐量數(shù)據(jù),使用內(nèi)存池對(duì)突發(fā)的高速數(shù)據(jù)報(bào)文進(jìn)行緩存,采用隊(duì)列處理模型完成數(shù)據(jù)報(bào)文在嵌入式平臺(tái)內(nèi)部的高效流轉(zhuǎn),輔以異步處理模型提高報(bào)文處理效率,達(dá)到了性能提升的目的。

猜你喜歡
嵌入式
Focal&Naim同框發(fā)布1000系列嵌入式揚(yáng)聲器及全新Uniti Atmos流媒體一體機(jī)
TS系列紅外傳感器在嵌入式控制系統(tǒng)中的應(yīng)用
電子制作(2019年7期)2019-04-25 13:17:14
基于嵌入式Linux內(nèi)核的自恢復(fù)設(shè)計(jì)
嵌入式系統(tǒng)通信技術(shù)的應(yīng)用
電子制作(2018年18期)2018-11-14 01:48:16
嵌入式PLC的設(shè)計(jì)與研究
電子制作(2018年16期)2018-09-26 03:27:18
搭建基于Qt的嵌入式開發(fā)平臺(tái)
基于嵌入式系統(tǒng)Windows CE的應(yīng)用程序開發(fā)
嵌入式單片機(jī)在電機(jī)控制系統(tǒng)中的應(yīng)用探討
電子制作(2017年8期)2017-06-05 09:36:15
嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
Altera加入嵌入式視覺聯(lián)盟
主站蜘蛛池模板: 久久国产亚洲欧美日韩精品| 亚洲成a人片在线观看88| 久久香蕉国产线看观| 91无码视频在线观看| 九九热这里只有国产精品| 国产成人1024精品下载| 免费看一级毛片波多结衣| 狠狠色综合久久狠狠色综合| 欧美日韩北条麻妃一区二区| 国产成人毛片| 国产成人精品18| 99精品国产自在现线观看| 91精品国产自产91精品资源| 亚洲成a人片| 伊人色婷婷| 亚洲国产欧美目韩成人综合| 久久婷婷五月综合色一区二区| 91精选国产大片| 欧美精品亚洲日韩a| 久久精品国产精品一区二区| 伊人91在线| 成人国产精品一级毛片天堂| 色香蕉网站| 亚洲一区精品视频在线| 国产欧美一区二区三区视频在线观看| 色偷偷男人的天堂亚洲av| 久久9966精品国产免费| 国产精品粉嫩| 四虎永久在线| 亚洲AV无码乱码在线观看代蜜桃| 亚洲午夜福利在线| 美女被操91视频| 免费观看成人久久网免费观看| 一本大道无码高清| 欧美午夜小视频| 伊人久久久久久久| 婷婷五月在线视频| 日本福利视频网站| 5555国产在线观看| 操美女免费网站| 国产精品网址在线观看你懂的| 日韩视频福利| 国产一区二区精品福利| 国产美女一级毛片| 国产成a人片在线播放| 四虎国产永久在线观看| 丁香婷婷激情网| 伊在人亞洲香蕉精品區| 欧美不卡视频在线| 亚洲视频无码| 91在线一9|永久视频在线| 青青青视频免费一区二区| 亚洲男女在线| 亚洲精品大秀视频| 国产男人的天堂| 欧美精品另类| 国产精欧美一区二区三区| 伊人丁香五月天久久综合| 激情综合网激情综合| 日本影院一区| 98超碰在线观看| 亚洲高清无码久久久| 日韩毛片基地| 日韩在线播放中文字幕| 亚洲h视频在线| 一级片免费网站| 91久久偷偷做嫩草影院精品| 婷婷丁香在线观看| 永久免费av网站可以直接看的| 精品国产香蕉在线播出| 色综合久久无码网| 性69交片免费看| 亚洲国产欧洲精品路线久久| 亚洲国产中文欧美在线人成大黄瓜| 国内精品一区二区在线观看| 91 九色视频丝袜| 97视频在线精品国自产拍| 国产情精品嫩草影院88av| 亚洲中文精品久久久久久不卡| 国产杨幂丝袜av在线播放| 中文字幕中文字字幕码一二区| 欧美a√在线|