亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

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

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

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

        1 硬件架構設計

        圖1 硬件架構圖

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

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

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

        2 軟件架構設計

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

        2.1 epoll 并發(fā)接收

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

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

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

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

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

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

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

        圖2 多通道收發(fā)

        2.2 內存池隊列處理模型

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

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

        圖3 內存池鏈表

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

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

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

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

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

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

        分析:

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

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

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

        圖4 內存池隊列處理模型

        2.3 異步處理模型

        圖5 異步處理模型

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

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

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

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

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

        3 結語

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

        猜你喜歡
        嵌入式
        Focal&Naim同框發(fā)布1000系列嵌入式揚聲器及全新Uniti Atmos流媒體一體機
        TS系列紅外傳感器在嵌入式控制系統(tǒng)中的應用
        電子制作(2019年7期)2019-04-25 13:17:14
        基于嵌入式Linux內核的自恢復設計
        嵌入式系統(tǒng)通信技術的應用
        電子制作(2018年18期)2018-11-14 01:48:16
        嵌入式PLC的設計與研究
        電子制作(2018年16期)2018-09-26 03:27:18
        搭建基于Qt的嵌入式開發(fā)平臺
        基于嵌入式系統(tǒng)Windows CE的應用程序開發(fā)
        嵌入式單片機在電機控制系統(tǒng)中的應用探討
        電子制作(2017年8期)2017-06-05 09:36:15
        嵌入式軟PLC在電鍍生產流程控制系統(tǒng)中的應用
        Altera加入嵌入式視覺聯(lián)盟
        亚洲产在线精品亚洲第一站一 | 成人av片在线观看免费| 亚洲七久久之综合七久久| 日韩在线无| 成人综合亚洲国产成人| 青青草视频在线观看网| 国产成人a在线观看视频免费 | 香蕉成人啪国产精品视频综合网| 日本变态网址中国字幕| 99精品国产一区二区三区| 精品人妻午夜一区二区三区四区| 97欧美在线| 国产内射视频免费观看| 亚洲熟女国产熟女二区三区| 国产主播性色av福利精品一区| 免费亚洲一区二区三区av| 国产精品无码一区二区在线看| 97国产免费全部免费观看| 亚洲在线一区二区三区| 丰满女人猛烈进入视频免费网站 | 久久99亚洲网美利坚合众国| 成人在线视频自拍偷拍| 精品久久亚洲中文字幕| 少妇无码太爽了不卡视频在线看 | 久久少妇高潮免费观看| 欧美噜噜久久久xxx| 色吊丝中文字幕| 美女裸体无遮挡免费视频的网站| 亚洲国产都市一区二区| 国产18禁黄网站免费观看| 日产国产精品亚洲系列| 久久成年片色大黄全免费网站 | 天堂中文最新版在线中文| 2021久久最新国产精品| 国产精品av免费网站| 成年av动漫网站18禁| 一本久久伊人热热精品中文字幕 | 小草手机视频在线观看| 亚洲av丰满熟妇在线播放| 日韩人妻无码一区二区三区久久99 | 亚洲中文字幕无码中字|