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

無鎖結構在國產防火墻上的應用與研究*

2020-12-23 06:12:52原蓓蓓
通信技術 2020年10期
關鍵詞:程序方法

李 雷,焦 哲,原蓓蓓,艾 磊

(1.中國電子科技集團公司第三十研究所,四川 成都 610041;2.成都衛士通信息產業股份有限公司,四川 成都 610041)

0 引言

隨著網絡技術的不斷發展,傳統的基于內核的報文收發方式造成大量的性能開銷,網絡傳輸速率很難得到提高。為了實現網絡的高速傳輸,Intel 設計了高性能的數據包處理框架 DPDK(Data Plane Development Kit)。近年來,通過不斷地對dpdk 技術進行改造,在國產申威處理器平臺上已實現了網絡數據的高速轉發[1]。

隨著國產多核處理器的普遍使用,高并發數據結構變得越來越重要[2]。為了充分發揮多核處理器的性能,軟件人員必須編寫可擴展的并發程序才能使其在多核環境下具有高的性能。并發程序編寫存在一個重要問題,就是多個線程/進程對共享資源的同步訪問問題。網絡安全設備多核并行協議棧運行過程中,不可避免地要在核間共享數據,比如:ddos 統計表,nat 轉換表,aspf 表等。保證數據一致性的通用方法是加鎖,但鎖機制的引入帶來了數據處理的串行化,大大降低了安全設備的網絡轉發性能,同時又增加死鎖和數據競爭的風險。近年來,工程人員開始對無鎖(lockfree)數據結構進行研究,使用CAS(compare and swap)細粒度同步原語的無鎖數據結構能夠擺脫死鎖和數據競爭問題,更重要的是它對多核是可擴展的[3]。

針對以上問題與現狀,結合對國產處理器平臺的研究與應用[4],本文提出了一種無鎖結構在國產防火墻上的應用方案。在并行處理的協議棧間使用無鎖結構進行數據共享,減少數據競爭時的等待時間,從而提高網絡轉發速率。實驗表明,該方案在小包(64 字節)數據轉發時,吞吐率性能比常規方法提升23.68%。

1 關鍵技術

程序方法的調用到執行完成需要時間,從某個方法調用事件的開始到執行結束過程中,當這個方法調用事件開始而執行未結束,稱其調用是未決的。并發程序方法的執行可以相互重疊,而單線程程序方法的執行總是順序無重疊的。在一個程序中,當方法的未決調用能夠延遲其他方法的未決調用時,我們稱其是阻塞的;相反,當方法的未決調用不會延遲其他方法的未決調用時,我們稱其是非阻塞的。在一個程序中,一個方法的無限次調用能夠在有限次內完成,我們稱其是無鎖(lockfree)的;一個方法的每次調用都能在有限次內完成,我們稱其是無等待(waitfree)的;一個方法調用存在著關于它的操作次數的確定界限,我們稱其是有界無等待(waitfree bounded)的[3]。無鎖結構實現的方法也是無鎖的,其實現的基礎是CAS,且大多數國產處理器已硬件實現。CAS 可以保證需要更新的地址在沒有被其他線程或進程改動過的情況下安全地寫入新數據,保證讀寫操作的一致性,不出現臟數據。而這個地址內存空間也是我們通常在鎖機制中需要加鎖重點保護的。

2 國產防火墻無鎖結構的實現

2.1 國產防火墻簡介

基于dpdk 技術的國產防火墻架構如圖1 所示。

圖1 國產防火墻架構

該防火墻在國產化多核處理器核和國產化多隊列網卡的基礎上,對dpdk 技術進行改造,構建一個高速的二層轉發平臺。在dpdk 驅動上構建一個多核并行運行的用戶態協議棧,各協議棧與處理器核綁定且獨立運行,并行協議棧間通過共享數據進行傳遞信息,運用無鎖結構及其操作進行數據同步,保證一致性。

2.2 無鎖結構的實現方法

(1)初始化

設備上電啟動過程中,由協議棧0 所運行的線程或進程在dpdk 大頁中使用rte_memzone_reserve方法申請共享內存,并進行初始化。

(2)共享數據的獲取

協議棧并行運行時,各個協議棧使用rte_memzone_lookup 方法獲取共享內存,再根據其具體使用的數據結構方法獲取所需的數據。比如:hash表可通過hash 值獲取。

(3)共享數據的更新

各個協議棧在獲取共享內存后采用無鎖機制對共享數據進行操作。無鎖化機制的核心原語為CAS,其在大多數國產處理器中已經實現。比如龍芯平臺的CAS 原語實現方法如下:

在應用程序的線程或進程中,對64 位共享數據的更新方法如下:

其中A 為被更新的數據,A*為更新后的數據。

2.3 性能分析

相比于加鎖的方式,采用硬件原語CAS 實現的無鎖數據結構在進行操作時,將縮短數據競爭時的等待時間,從而提高網絡轉發速率。在程序運行的整個周期中,數據競爭等待時間減少,則并行可執行部分將變大。著名的阿姆達爾定律指出:數據結構并發程序的優化取決于并發可執行部分占整個程序的比例和并發線程數,其表達式如下[5]:

其中,S為程序加速比,n為并發線程數,P為并發可執行部分。當并發線程數n一定時,并發可執行部分P越大,則程序加速比S越大。

無鎖結構降低了數據競爭的等待時間,則增大了程序并發可執行部分,進而提高了程序加速比。程序加速比的提高,使并行協議棧的網絡處理能力增強。

3 實驗與分析

3.1 實驗環境

實驗硬件平臺采用8 核龍芯3A3000 處理器,主頻1399MHz,PCIE 接口為4 口、8 隊列SF400T千兆網卡,中標麒麟操作系統。

3.2 吞吐率測試

采用spirent testcenter 儀表進行rfc2544 吞吐率測試。多核并行協議棧環境下,核間數據競爭,將有鎖機制與無鎖機制下的吞吐率進行對比。實驗采用dpdk 提供的共享內存rte_memzone,dpdk 讀寫鎖rte_rwlock_write_lock,cas64 原語及無鎖方法。實驗分別測試udp 包長為64 字節、128 字節、256 字節、512 字節、1024 字節、1280 字節、1518 字節時的網絡吞吐率,其儀表連接關系如圖2 所示。

圖2 實驗儀表連接示意圖

Spirent TestCenter 的PORT1 和PORT2 通過直連網線與國產防火墻的ETH1 和ETH2 相連。

實驗采用統計UDP 目的端口包數的方法使共享數據產生競爭,處理器核數為8,端口數為4 且儀表使用遞增的方式發包,則理論上同一時刻有2個線程或進程競爭一個數據,此時測得結果如表1所示:

表1 吞吐率結果表

防火墻在全速轉發的情況下,無鎖結構同步機制比加鎖結構同步機制的性能在包長64 字節時提升23.68%,包長128 字節時提升22.61%。包長為256、512、1024、1280、1518 時,無鎖結構的同步機制與加鎖結構的同步機制轉發速率均達到限速。

3.3 數據競爭時延測試

按照圖2 儀表連接方法,儀表以1Gb/s 速度發送500000 包的同時,防火墻程序記錄下并發不可執行部分(更新共享數據)所消耗的時間。程序使用CPU 的運行周期作為時間單位進行統計,將加鎖和無鎖環境下更新共享數據所消耗的時間進行對比,其測試結果如表2 所示。

表2 時間消耗表

從實驗結果可以看出,無鎖環境更新共享數據所消耗的時間短于有鎖環境,則根據阿姆達爾定律可知,多核并行協議棧并行可執行部分大,程序加速比高,有利于網絡轉發性能的提高。

4 結語

本文在國產化背景下,提出了一種無鎖結構在國產防火墻上的應用方案。實驗表明,其提高了防火墻在實際工作中的網絡吞吐率,且為后續構建國產化高速網絡安全平臺提供指導。尤其是無鎖化共享數據結構的應用進一步提高了防火墻這類安全設備的實際網絡吞吐率。但是,本方案在設計和實驗過程中并未針對ABA 問題進行分析,這是后續工作中需要研究的要點之一。

猜你喜歡
程序方法
學習方法
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
失能的信仰——走向衰亡的民事訴訟程序
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
賺錢方法
捕魚
主站蜘蛛池模板: 亚洲Va中文字幕久久一区| 性激烈欧美三级在线播放| 黄色免费在线网址| 欧美亚洲综合免费精品高清在线观看 | 无码免费的亚洲视频| 99伊人精品| 色婷婷在线播放| 国产精品99在线观看| 亚洲欧美不卡视频| 亚洲成人网在线播放| 黄色网在线免费观看| 国产精欧美一区二区三区| 亚洲色图另类| 亚洲最大福利视频网| 老色鬼久久亚洲AV综合| 无码一区中文字幕| 一边摸一边做爽的视频17国产| 在线欧美国产| 少妇精品网站| 一本一道波多野结衣av黑人在线| 久无码久无码av无码| 日本一区高清| 国产欧美日韩视频一区二区三区| 免费人欧美成又黄又爽的视频| 依依成人精品无v国产| 思思热在线视频精品| 一本一本大道香蕉久在线播放| 美女啪啪无遮挡| 国产精品流白浆在线观看| 国产成人乱无码视频| 中文字幕人成人乱码亚洲电影| 麻豆国产精品| 亚洲精品大秀视频| 天天综合天天综合| 人妻丰满熟妇AV无码区| 麻豆精品久久久久久久99蜜桃| 成人福利在线观看| 91丝袜美腿高跟国产极品老师| 国产在线一区视频| 久久精品亚洲专区| 无码不卡的中文字幕视频| 色综合天天娱乐综合网| 性激烈欧美三级在线播放| 全部无卡免费的毛片在线看| 久久国产香蕉| 国产成人超碰无码| 国产免费久久精品99re丫丫一| 免费无码AV片在线观看中文| 青草国产在线视频| 国产精品丝袜视频| 国产欧美成人不卡视频| 色视频国产| 色国产视频| 欧美国产日韩一区二区三区精品影视| 国产麻豆精品久久一二三| 国产欧美专区在线观看| 国产精品美女网站| 日韩成人在线网站| 国产在线精品美女观看| 色综合天天综合| 青青青视频免费一区二区| 热九九精品| 欧美国产日韩另类| 无码AV高清毛片中国一级毛片| 亚洲男人的天堂在线| 国产伦精品一区二区三区视频优播| 在线播放精品一区二区啪视频| 免费在线视频a| 亚洲色图在线观看| 蝴蝶伊人久久中文娱乐网| 3p叠罗汉国产精品久久| 少妇露出福利视频| 日韩欧美中文字幕在线精品| 91国内在线视频| 久综合日韩| 26uuu国产精品视频| 亚洲永久免费网站| 欧美日韩精品在线播放| 久久九九热视频| 日本www色视频| 国产99欧美精品久久精品久久| 狠狠色综合久久狠狠色综合|