[发明专利]利用虚拟化的大规模并行可编程硬件来搜索正则表达式无效
申请号: | 201080028837.7 | 申请日: | 2010-06-18 |
公开(公告)号: | CN102804170A | 公开(公告)日: | 2012-11-28 |
发明(设计)人: | K·H·叶古罗;A·福林 | 申请(专利权)人: | 微软公司 |
主分类号: | G06F17/00 | 分类号: | G06F17/00;G06F9/455;G06F9/45 |
代理公司: | 上海专利商标事务所有限公司 31100 | 代理人: | 顾嘉运 |
地址: | 美国华*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 利用 虚拟 大规模 并行 可编程 硬件 搜索 正则 表达式 | ||
背景技术
正则表达式搜索是从电子邮件垃圾消息过滤和网络入侵检测到遗传研究的范畴中的各种广泛应用的常见的操作。正则表达式(“reg ex”或“RE”)提供了简洁而灵活的用于标识诸如特定字符、字或字符的模式之类的字符串的手段。例如,当解析文本文件时正则表达式“*car*”可以标识“car”、“cartoon”、“vicar”等等。
传统上,reg ex是使用基于软件或硬件的搜索解决方案来执行的。令人遗憾的是,当执行大量的复杂搜索时,这些解决方案会遇到问题。
基于软件的搜索存在吞吐量的基本问题。尽管由于它们的执行任何数量的基本上任意复杂的搜索的灵活性而流行,但是,这些基于处理器的系统的速度随着搜索的数量和复杂性的提高而缩放得差并且不一致。换言之,对大量的数据正文(“语料库”)的reg ex搜索变得不切实际。
另一方面,现有的基于硬件的搜索解决方案具有适应性的基本问题。虽然这些系统可以对于可以被映射到它们的搜索具有快速并且一致的性能,但是,现有设备对于被支持的搜索的数量和复杂性而言在没有详细的专业知识和人工干预的情况下具有严格的限制。换言之,硬件搜索是快速的,但是,是有限制的。
如此,强烈地需要向对诸如正则表达式搜索之类的算法的基于硬件的处理提供类似于软件的灵活性。
发明内容
提供本发明内容以便以简化的形式介绍将在以下具体实施方式中进一步描述的一些概念。本概述并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要求保护主题的范围。
计算任务包括,但不仅限于,可以将正则表达式转换为相对应的逻辑和状态方程。可以估计物理资源要求,如执行逻辑和状态方程需要多少可编程硬件设备,而无需通过计算机辅助设计(CAD)工具的迭代试错法。一旦被估计,就可以将计算任务分配到组,以便每一个组都匹配单独可用物理资源。例如,一组计算任务可以适合在诸如现场可编程门阵列(FPGA)之类的可编程硬件设备中。可以将控制和通信逻辑添加到每一个组,并为每一个组生成硬件定义语言(HDL)文件。还可生成详述如何跨多个HDL文件拆分计算任务,HDL文件的执行序列等等的配置规范。可以从每一HDL文件生成配置二进制。然后,可编程硬件设备可以执行配置二进制。
用户界面不让用户看到任务管理、创建配置二进制,计算任务跨配置二进制的分布等等的复杂性。与可编程硬件的速度和再配置性相结合的简单用户界面使得正则表达式搜索的实际实现和执行对用户不可见。代替费力的对可编程硬件的手动配置,自动化系统为用户生成配置二进制,执行它们,并管理结果的合并。
对于容错的支持以提高可靠性包括重新分配、备用等等。通过分段减轻和优先级排序,可以实现性能改善。
附图说明
参考附图阐述具体实施方式。在附图中,附图标记中最左边的数字标识该附图标记首次出现的附图。在不同附图中使用相同的附图标记指示相似或相同的项。
图1是示出了适于维护正则表达式处理系统的体系结构的选定组件的框图。
图2是示出了来自图1的编译模块的选定组件以及可以由编译模块生成的配置信息的框图。
图3是示出了由图1的体系结构所产生的配置二进制的选定组件的框图。
图4是示出了由图1的体系结构所产生的配置规范的选定组件的框图。
图5是示出了来自图1的体系结构的可编程硬件系统控制器(PHSC)的选定组件的框图。
图6是示出了由PHSC对配置二进制的执行的流程图。
图7是示出了由PHSC对配置二进制的执行的流程图,包括对来自配置二进制的状态信息的存储。
图8是示出了用户与正则表达式处理系统的交互的流程图。
图9是示出了基于正则表达式生成配置信息的流程图。
图10是示出了对一组正则表达式的物理资源要求的估计的流程图。
图11是示出了在可编程的硬件上所生成的配置的执行的流程图。
图12是示出了对正则表达式的动态修改的流程图。
图13-15是示出了通过将配置二进制重新分配到其余功能可编程硬件设备来支持容错的流程图。
图16-18是示出了通过使用备用功能可编程硬件设备来支持容错的流程图。
图19是示出了跨配置二进制对正则表达式的分段减轻的示意图。
图20是示出了通过对正则表达式的一部分以及相对应的配置二进制的选择性的重新编译(诸如当编译资源有限时)而进行的分段减轻的示意图。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微软公司,未经微软公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201080028837.7/2.html,转载请声明来源钻瓜专利网。