论文部分内容阅读
近年来随着网络化的发展,各行各业的数据呈现爆炸式增加态势。据IDC预测,到2020年全球的数字信息总量将达到惊人的35ZB,信息内容监管将面临巨大挑战。模式匹配算法是文本处理领域基础且非常重要的算法之一,广泛应用在网络入侵检测、生物信息学、图像处理等领域。基于软件实现的模式匹配算法,由于需要消耗大量的处理器资源和存储资源,系统的实际性能往往不高,采用高性能的硬件来处理海量数据势在必行。GPU是一种具有超强并行计算能力的众核可编程硬件,目前已被用于加速模式匹配算法性能。本文旨在充分利用GPU、CPU各自的硬件特性,结合模式匹配算法的适用性,最终设计并实现高效的模式匹配算法。本论文主要的成果与贡献如下:(1)模式匹配相关技术研究。本文详细介绍了精确模式串匹配相关技术和正则表达式匹配相关技术,并分析了相关算法的优缺点。(2)提出了在CPU和GPU上实现的基于状态转换表(STT)分割的大规模精确模式串匹配SPAC算法。本算法主要解决由模式串集合生成的Trie树对应STT在GPU中内存占用过大的问题。实验表明,SPAC算法可以在GPU上减少约50%的STT空间占用,在处理大规模精确模式串匹配时效果尤为明显。(3)提出了在CPU和GPU上实现的高速正则表达式匹配MDFA算法。本算法主要解决在GPU上进行正则表达式匹配时,文本块之间的“边界”问题处理,GPU进行多个子文本块的并行处理,CPU对子文本块的边界进一步处理。实验表明,当正则表达式集合对应的最大可匹配字符串较长(或限定可匹配长度较长)的情况下,MDFA算法可以有效的减少GPU中相邻work-group之间冗余字符的比较。