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

某嵌入式平臺高并發低時延性能提升設計

2021-04-24 13:05:16
網絡安全技術與應用 2021年4期
關鍵詞:嵌入式

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

對于系統來說,高吞吐量關系到系統單位時間內能夠服務的用戶數量,是系統服務性能指標的一個重要體現,特別是對用戶數量規模巨大的系統,必然會出現大量用戶并發請求處理的情況,如何保障系統能夠快速響應所有用戶的業務請求是需要解決的重點。本文以某嵌入式平臺處理大量用戶高并發數據請求為基礎,對高并發低時延處理進行了性能提升設計。

1 硬件架構設計

圖1 硬件架構圖

該嵌入式平臺主要由主控單元和計算引擎等功能模塊組成,以調用方式對系統發送的大量用戶數據(UDP)進行計算處理。

主控單元直接與外部傳輸線路關聯,完成外部網絡線路接入、協議解析、數據提取、計算引擎調度、協議封裝、數據發送等功能。主控單元對外提供千兆以太網接口,對內通過業務轉發總線與計算引擎關聯,調用計算引擎進行數據計算。

計算引擎主要由國產FPGA 組成,用于實現業務數據的高速計算處理。內部集成高速算法模塊,通過標準業務傳輸總線,與主控單元接口,實現數據的高速交互。

2 軟件架構設計

通常的select 接收報文+多線程處理機制的局限性如下:一方面,select 對能夠支持的socket 數量是有一定限制的,默認最大值為1024,且當select 擁有一個很大的socket 集合時,select 每次調用都會線性掃描全部的集合,導致效率呈現線性下降;另一方面,大量業務線程的創建、維護及線程之間的調度,使得Linux 系統開銷太大,無法應對長時間的高并發數據處理。因此需要優化軟件架構,提升高并發低時延處理性能。

2.1 epoll 并發接收

為實現高并發網絡數據的接入,軟件采用epoll 并發接收機制進行處理。對epoll 而言,最大支持的并發數上限為最大可以打開文件的數目,這個數字一般遠大于2048。

并發處理對帶寬和時延指標的影響較大,分析如下:

(1)并發對帶寬指標的影響

多通道并發對性能幾乎沒有影響,因為對接收程序而言,大量數據包來自一個通道,還是來自N 個通道(每個通道各幾個數據包),幾乎沒有本質區別。

(2)并發對時延指標的影響

并發對時延指標的影響巨大。對于單通道收發,所有數據包來自一個通道,嵌入式平臺連續從單通道中接收數據進行處理并依次向外應答。

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

圖2 多通道收發

2.2 內存池隊列處理模型

內存池作用:接收突發的高速數據報文(≥10000 包/秒),確保不丟包。

由于數據包在處理過程中,計算處理一般比較耗時,如果采用接收一包,處理一包,應答一包的機制,將會導致后續未能及時接收的報文大量丟包(內核只能緩存一定數量的報文)??梢酝ㄟ^內存池對突發的高速數據報文進行緩存,如圖3 所示,使用單鏈表構造一個內存池鏈表結構,每個內存單元包含一個預先分配好的能夠接收最大報文長度的內存地址(按業務數據報文長度,一般2K-4K)。

圖3 內存池鏈表

結合內存池鏈表,設計一種基于該鏈表的內存池隊列處理模型,如圖4 所示,數據報文在嵌入式平臺內部的流轉處理過程如下:

(1)軟件啟動時,創建一個空閑內存池鏈表(簡稱空閑鏈表),用于接收網絡上的高速數據報文,初始內存單元個數為N(一般根據2G 內存空間,至少設置1 萬個內存單元,可以更大);另外創建一個任務內存池鏈表(簡稱任務鏈表),初始內存單元個數為0;

(2)當epoll 檢測到高速數據報文到來時,先從空閑鏈表中申請一個空閑的內存單元;

(3)申請到空閑內存單元后,將數據報文接收到該內存單元,并將該內存單元插入到任務鏈表中;

(4)業務線程檢測到有任務需要處理時,從任務鏈表中取出一個待處理的內存單元,進行協議解析、調用計算引擎進行計算處理等操作;

(5)處理完畢后,一方面將應答報文通過網絡發送出去,另一方面將該內存單元回收到空閑鏈表中,以便繼續使用。

分析:

(1)整個軟件生命周期中,只會在初始化時分配N個內存單元;

(2)N 個內存單元在空閑鏈表和任務鏈表中來回流轉,均為指針操作,不會增加數據拷貝等開銷。

(3)只要網絡上瞬間的突發報文數不超過N,就不會造成丟包。一般至少將N 設置為系統每秒最大數據報文數量的2 倍及以上。

圖4 內存池隊列處理模型

2.3 異步處理模型

圖5 異步處理模型

為了避免應用程序處于空閑等待狀態,同時確保FPGA 始終處于滿負荷計算狀態,必須采用異步處理模型提高處理效率。異步處理模型如圖5 所示,設計如下:

(1)FPGA 設計接收緩存隊列,允許最多緩存M 包。M 值根據最大包長確定,隊列越長,性能越強;

(2)在FPGA 可用緩存隊列包數不為空的前提下,持續向FPGA發送待計算的報文(通過協議字段能夠知道FPGA 現在的可用緩存隊列包數是多少);

(3)FPGA 調用接口提供異步調用模式,當FPGA 處理完畢將計算結果返回應用程序后,應用程序自動調用回調函數,在回調函數中,將計算結果按照協議要求進行封裝后發送至網絡,并回收內存單元到空閑鏈表;

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

3 結語

對于網絡數據高并發低時延的處理性能提升,一直是我們不斷追求突破的關鍵技術點。本文設計了一種高并發低時延處理機制,通過epoll 并發接收網絡上的高吞吐量數據,使用內存池對突發的高速數據報文進行緩存,采用隊列處理模型完成數據報文在嵌入式平臺內部的高效流轉,輔以異步處理模型提高報文處理效率,達到了性能提升的目的。

猜你喜歡
嵌入式
Focal&Naim同框發布1000系列嵌入式揚聲器及全新Uniti Atmos流媒體一體機
TS系列紅外傳感器在嵌入式控制系統中的應用
電子制作(2019年7期)2019-04-25 13:17:14
基于嵌入式Linux內核的自恢復設計
嵌入式系統通信技術的應用
電子制作(2018年18期)2018-11-14 01:48:16
嵌入式PLC的設計與研究
電子制作(2018年16期)2018-09-26 03:27:18
搭建基于Qt的嵌入式開發平臺
基于嵌入式系統Windows CE的應用程序開發
嵌入式單片機在電機控制系統中的應用探討
電子制作(2017年8期)2017-06-05 09:36:15
嵌入式軟PLC在電鍍生產流程控制系統中的應用
電鍍與環保(2016年3期)2017-01-20 08:15:32
Altera加入嵌入式視覺聯盟
主站蜘蛛池模板: 毛片a级毛片免费观看免下载| 国产在线观看99| 在线视频亚洲色图| 国产免费看久久久| 国产呦精品一区二区三区下载| julia中文字幕久久亚洲| 91久久偷偷做嫩草影院免费看| 久久综合亚洲色一区二区三区| 国产综合精品一区二区| 18禁黄无遮挡免费动漫网站| 国产精品青青| a级毛片在线免费| 欧美在线伊人| 久草青青在线视频| jizz在线观看| 免费国产不卡午夜福在线观看| 国产情侣一区二区三区| 久久 午夜福利 张柏芝| 亚洲黄色激情网站| 免费观看国产小粉嫩喷水| 国产成人1024精品| 日韩精品成人在线| 午夜福利视频一区| 国产99精品久久| 久久亚洲国产最新网站| www.亚洲天堂| 久久成人国产精品免费软件| 老司机精品一区在线视频| 亚洲人成日本在线观看| 国产99免费视频| 国产精品3p视频| 毛片久久网站小视频| 亚洲国产天堂在线观看| 天天婬欲婬香婬色婬视频播放| 蜜臀AV在线播放| 天堂网亚洲系列亚洲系列| 国产成人91精品| 精品国产成人a在线观看| 国产原创自拍不卡第一页| 中文字幕色站| 国产福利观看| 亚洲丝袜中文字幕| 国产无码制服丝袜| 国产区91| 欧美a网站| 久久精品人妻中文视频| 欧美精品v欧洲精品| 9丨情侣偷在线精品国产| 综合色区亚洲熟妇在线| 欧美人人干| 久久免费观看视频| 最新精品久久精品| 69av在线| 无码福利日韩神码福利片| 欧美日韩精品在线播放| 精品一区二区久久久久网站| 一级毛片在线播放免费| 午夜小视频在线| 国产欧美日韩18| 国产香蕉一区二区在线网站| 欧美va亚洲va香蕉在线| 99re在线视频观看| 国产特级毛片| 精品成人一区二区| 在线精品亚洲国产| 国产精品蜜芽在线观看| 欧美特级AAAAAA视频免费观看| 国产成人乱码一区二区三区在线| 精品亚洲欧美中文字幕在线看| 久久综合结合久久狠狠狠97色| 国产噜噜噜| 日本成人不卡视频| 国产欧美另类| 免费国产福利| 免费高清a毛片| 无码中文字幕精品推荐| 中文字幕久久波多野结衣 | 青青青视频91在线 | 又爽又大又黄a级毛片在线视频 | a毛片基地免费大全| 一本色道久久88| 成年人久久黄色网站|