《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模擬設(shè)計(jì) > 設(shè)計(jì)應(yīng)用 > 一種基于指令流水線的數(shù)據(jù)匹配算法
一種基于指令流水線的數(shù)據(jù)匹配算法
電子技術(shù)應(yīng)用
楊嘉佳,李正,鄭兒,趙靜,燕瑋,劉金
中國電子信息產(chǎn)業(yè)集團(tuán)有限公司第六研究所
摘要: 基于正則表達(dá)式的數(shù)據(jù)匹配技術(shù)在基礎(chǔ)數(shù)據(jù)治理和清洗方面有著重要的應(yīng)用價值。然而,在高性能計(jì)算領(lǐng)域的數(shù)據(jù)處理過程中因算法匹配吞吐率低,無法滿足大數(shù)據(jù)處理環(huán)境下對算法的高性能要求,造成其應(yīng)用范圍受限。針對此現(xiàn)象,提出一種基于指令流水線的數(shù)據(jù)匹配算法,稱之為γFA:利用Intel架構(gòu)內(nèi)置的向量指令流水式讀入若干字符段,通過大寬度向量比較函數(shù)進(jìn)行字符段與非信任字符集的流水比值處理并轉(zhuǎn)換成整型向量,通過位置定位函數(shù)累加定位出所有整型向量的首個非信任字符位置,計(jì)算出可略過的總字符數(shù),減少正則表達(dá)式匹配引擎因處理非信任字符集導(dǎo)致訪問低速內(nèi)存而帶來巨大的時間開銷,實(shí)現(xiàn)正則表達(dá)式匹配算法的性能提升。實(shí)驗(yàn)結(jié)果表明,γFA算法的吞吐率是原始DFA算法的15.88~53.06倍,相比于ßFA算法,吞吐率提升了35.12%~63.26%,取得較好的性能加速效果。此外,通過對γFA算法進(jìn)行優(yōu)化后,性能可接近100 Gb/s,為原始DFA匹配算法性能的15.88~64.94倍,相比于γFA算法性能提升了2.15%~43.09%。
中圖分類號:TP391.1 文獻(xiàn)標(biāo)志碼:A DOI: 10.16157/j.issn.0258-7998.245345
中文引用格式: 楊嘉佳,李正,鄭兒,等. 一種基于指令流水線的數(shù)據(jù)匹配算法[J]. 電子技術(shù)應(yīng)用,2025,51(2):81-85.
英文引用格式: Yang Jiajia,Li Zheng,Zheng Er,et al. A data matching algorithm based on instruction pipeline[J]. Application of Electronic Technique,2025,51(2):81-85.
A data matching algorithm based on instruction pipeline
Yang Jiajia,Li Zheng,Zheng Er,Zhao Jing,Yan Wei,Liu Jin
The Sixth Research Institute of China Electronics Corporation
Abstract: The data matching technology based on regular expressions has significant application value in basic data governance and cleaning. However, in the data processing process of high-performance computing, the low performance of algorithm matching cannot meet the high-performance requirements of algorithms in the big data processing environment, resulting in limited application scope. To address this issue, a high-performance data matching algorithm based on instruction pipelining is proposed, known as γFA. It utilizes the vector instruction pipelining built into the Intel architecture to read in multiple character segments, performs pipeline ratio processing of the character segments with untrusted character sets through a wide-width vector comparison function, and converts them into integer vectors. The position location function is then used to accumulate and locate the first untrusted character position in the integer vector, calculate the number of characters that can be skipped, and reduce the significant time overhead caused by the regular expression matching engine accessing slow memory when processing untrusted character sets. This achieves performance acceleration for the regular expression matching algorithm. Experimental results show that the γFA algorithm achieves a throughput rate that is 15.88 to 53.06 times higher than the original DFA algorithm. Compared to the ßFA algorithm, the throughput rate is improved by 35.12% to 63.26%, achieving a better performance acceleration effect. Furthermore, after optimizing the γFA algorithm, a performance close to 100 Gb/s can be achieved, which is 15.88 to 64.94 times better than the performance of the original DFA matching algorithm. This represents an improvement of 2.15% to 43.09% compared to the γFA algorithm.
Key words : regular expression matching;instruction pipeline;high-performance data matching

引言

數(shù)據(jù)匹配技術(shù)可應(yīng)用于數(shù)據(jù)的清洗和治理,如基于正則表達(dá)式的數(shù)據(jù)匹配技術(shù)在基礎(chǔ)數(shù)據(jù)的過濾方面發(fā)揮重要作用,通過數(shù)據(jù)匹配可將無關(guān)數(shù)據(jù)剔除過濾,減少噪聲數(shù)據(jù)的干擾。正則表達(dá)式因具有強(qiáng)大的表征能力,適合用于匹配過濾真實(shí)環(huán)境下的復(fù)雜噪聲數(shù)據(jù)。例如,開源入侵檢測系統(tǒng)Bro IDS、Snort[1]等都使用了基于正則表達(dá)式的數(shù)據(jù)匹配功能。

基于正則表達(dá)式的數(shù)據(jù)匹配實(shí)現(xiàn)方式通常可分成兩種:基于非確定型有限自動機(jī)(NFA)和確定型有限自動機(jī)(DFA)。前者空間復(fù)雜度比較低,與正則表達(dá)式的長度呈線性關(guān)系,但因處理一個字符需激活多個狀態(tài),造成匹配時間復(fù)雜性較大和匹配性能不穩(wěn)定。相比而言,DFA的時間復(fù)雜性比較低,處理一個字符只需一次激活單個狀態(tài),然而卻因規(guī)則的復(fù)雜性易導(dǎo)致狀態(tài)轉(zhuǎn)移空間膨脹甚至“爆炸”,造成巨大的空間開銷。

在大數(shù)據(jù)匹配環(huán)境中,DFA更多地被選擇與應(yīng)用。DFA的匹配性能和空間消耗是基于正則表達(dá)式數(shù)據(jù)匹配技術(shù)的重要衡量因素。截至目前,DFA的空間消耗已有很多可行的算法被提出[2],因而不是本文研究重點(diǎn)。盡管已有若干算法對DFA的匹配性能進(jìn)行研究,但性能低依舊是制約其廣泛應(yīng)用的瓶頸因素。

針對此問題,本文基于單指令多數(shù)據(jù)流(Single Instruction Multiple Data)向量指令連續(xù)從內(nèi)存中讀入若干字符段,然后分別與最常被訪問狀態(tài)(行)對應(yīng)的非信任字符集進(jìn)行字符并行比較操作,通過位置定位函數(shù)累加定位出首個非信任字符位置,獲取直接略過的總字符數(shù),減少訪存次數(shù),提高算法吞吐率。


本文詳細(xì)內(nèi)容請下載:

http://m.xxav2194.com/resource/share/2000006330


作者信息:

楊嘉佳,李正,鄭兒,趙靜,燕瑋,劉金

(中國電子信息產(chǎn)業(yè)集團(tuán)有限公司第六研究所,北京 100083)


Magazine.Subscription.jpg

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
主站蜘蛛池模板: 老司机亚洲精品影院在线| yellow中文字幕在线高清| 永久免费毛片在线播放| 国产一级黄色毛片| 2022国产成人福利精品视频| 男生肌肌捅女生肌肌视频| 国农村精品国产自线拍| 亚洲剧场午夜在线观看| 高h全肉动漫在线观看| 夜夜爽免费888视频| 久久99青青精品免费观看| 欧美成人猛男性色生活| 国产又爽又黄又无遮挡的激情视频| 99视频精品全部免费观看| 欧美一区二区三区综合色视频 | 欧美日韩国产成人高清视频| 国产成人免费ā片在线观看老同学 | 与子乱勾搭对白在线观看| 晓青老师的丝袜系列txt下载| 亚洲精品国产综合久久一线| 美女视频黄频a免费| 国产成人久久精品区一区二区| 992tv国产人成在线观看| 性欧美vr高清极品| 亚洲日韩欧洲无码av夜夜摸| 风间由美在线亚洲一区| 国产精品视频免费视频| www.天天干.com| 操动漫美女视频| 久久综合九色欧美综合狠狠| 欧美日韩国产成人在线观看| 免费乱理伦在线播放| 国产高清精品入口91| 强行交换配乱婬bd| 久久国产精品99久久久久久牛牛| 男生吃女生的jiojio| 国产亚洲av综合人人澡精品| HEYZO无码综合国产精品| 成年性生交大片免费看| 久久国产精品久久国产片| 欧美三日本三级少妇三级久久|