并行串匹配算法研究

来源 :哈尔滨工业大学 | 被引量 : 0次 | 上传用户:crying___leaf
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着网络的迅猛发展,网络安全的重要性也日益凸显,对网络内容的检测成为网络安全体系中不可或缺的一部分。海量数据的处理和层出不穷的应用需求使网络内容检测技术面临着严峻的挑战,而字符串匹配算法正是网络内容检测的核心技术,因此,提高串匹配算法的性能至关重要。而传统的以串行方式执行的串匹配算法的性能难以满足日益增长的网络需求,用并行代替串行成为解决问题的关键。随着GPU (Graphic Processing Unit?图形处理单兀)、TCAM (TernaryContent Addressable Memory,三元内容可寻址存储器)、FPGA (FieldProgrammable Gate Array*现场可编程门阵列)和Bloom filter等硬件的兴起和发展,基于硬件的并行算法成为了研究的热点。同时,由于NVIDIAGPU具有成本低和高吞吐量的特点,成为了高性能并行计算的新生力量。本文分别介绍了基于软件和硬件实现的并行串匹配算法,深入分析了基于GPU、TCAM、FPGA和Bloomfilter等硬件的并行串匹配算法的基本理论。基于GPU的高性能并行架构,把经典的AC (Aho-Corasick)算法移植到GPU平台上进行加速,设计并实现了数据并行的PAC (Parallel Algorithm based on AC)算法。PAC算法的预处理部分在CPU上串行执行,模式匹配部分交由GPU并行处理,将数据集分块,GPU的每个线程处理一个数据块,进行模式匹配。但是,PAC算法需要进行“边界检测”,降低了算法的性能。为了消除PAC算法在内的数据并行算法存在的“边界检测”问题,本文提出了一种新颖的并行串匹配算法PAT (Parallel Algorithm based on Trie),该算法的设计也是本文的创新点。移除AC自动机的所有失效转移和初始状态的自循环转移,得到一棵Trie树,称之为PAT自动机,为输入数据的每个字符分配一个线程,搜索PAT自动机完成模式匹配。重点研究了PAT算法的实现以及GPU实现上的优势,并提出了算法的优化策略,包括减少GPU全局存储器的内存处理、消除输出表的访问和减小状态转移表查找的延迟。通过实验得出,在NVIDIA GPU G94上实现的PAC和PAT算法与AC算法相比,分别达到了4.75和8.43的加速比。通过GPU的加速技术,大大提高了字符串匹配算法的性能,并且PAT算法在GPU实现上获得了更优的性能。
其他文献
基于XML模式的作业描述语言研究是当今教育信息化领域中,特别是网络与远程教育快速发展过程中一个新领域。目前,在线作业管理系统作为网上教学支持系统中一个非常重要的子系
本文对MDA的平台相关模型到代码模型变换的实现进行了研究。文章重点讨论了UML2.0和XMI2.0标准对MDA的支持、XMI对模型信息的表示机制、基于XSLT处理器的模型转换方法、基于
一致性检验问题是一个基础理论问题,是空间方向关系推理研究领域的重要分支,越来越引起研究者的注意。就一般情况而言,一致性检验是NP完全的,由此,国内外学者主要都是针对特
软件工程中,软件维护是改进与增强已发布软件的过程。软件维护阶段修改软件以改正缺陷与不足,并添加新的功能来增强软件的可用性与适应性,在软件的整个生命周期中占据了越来越重
随着经济的发展和城市化水平的提高,城市交通问题日益突出,对现有交通进行有效的管理和控制已成为我国交通运输中迫切需要解决的问题。城市交叉口把城市道路相互连接起来构成
植物作为构成人类生存环境的最重要的一环,与我们的日常生活密切相关。随着人们对的生态环境的日益重视,以计算机为手段对植物生长进行建模与仿真己成为人们研究的热点问题。开
随着Web技术迅猛发展,传统的Web开发技术在很多方面已经不能满足用户需求。Ajax作为一个全新的概念,在集合多个成熟技术的基础上带给用户全新的体验。Ajax引擎是Ajax的核心,目前
当前,通信发展的宽带化、无线化、个人化、分组化是一种大势。同有线接入系统一样,无线接入系统经历了由窄带到宽带、由面向话音业务到面向数据、多媒体业务的转变。随着数据业
在自然语言中,时间信息是一种重要的信息,它是一个事件的重要组成部分,研究表明,它在文本信息中所占的比重仅次于专有名词。在日常生活中,当人们阅读一篇新闻时,他们总是要把文
工作流技术是实现业务过程自动化的关键技术,逐渐成为这些年研究热点。作为过程建模和过程管理的核心技术,它可以与其它系统有效地结合,生成符合企业需求的各种业务管理系统。传