网络处理器中搜索引擎和处理引擎的设计与实现

来源 :中国科学院计算技术研究所 | 被引量 : 0次 | 上传用户:wlxqzs
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着网络带宽的飞速增长以及各种应用不断涌现,同时具有高性能和可编程能力的网络处理器,得到了越来越多的重视和应用.网络处理器通常采用多个可编程的处理引擎以及专门协处理器进行网络数据处理,通过它们的并行处理以获得极高的吞吐率和扩展升级能力.搜索引擎(Search Engine,SE)是为加速网络处理器中的搜索操作而专门设计的一种硬件,它是网络处理器中一个非常关键的部件,设计的优劣直接关系到网络处理器的性能.处理引擎(ProcessingEngine,PE)是网络处理器的核心部件之一,是其可编程能力的主要体现者. 本文对网络处理器中的搜索引擎和处理引擎的设计、验证和评估等进行了较深入地研究,提出了一种基于Patricia树的搜索和更新算法,设计了一款基于该算法的搜索引擎;设计了一种兼容MIPSI指令集,中断系统兼容MIPS R3000的RISC处理引擎,并对它们进行了FPGA原型实现和评估分析.本文的主要贡献如下:1.提出了一种基于Patricia树的搜索和更新所需的额外空间复杂度为O(1)的算法,并以该算法为基础设计了一款简洁高效的搜索引擎.该搜索引擎采用硬件搜索、软件维护的策略,用较少的硬件对最常用的搜索操作进行加速,对于不常用但却复杂的操作如搜索树的建立、添加和删除等,则通过运行在处理引擎上的软件程序来完成,在资源消耗和性能之间实现了很好的折中.该搜索引擎可进行全匹配(FM)和最长前缀匹配(LPM)两种搜索机制,软件程序可以根据它们实现更加复杂的搜索机制.2.研究并实现了一种RISC结构的处理引擎,它兼容MIPS I指令集,中断系统兼容MIPS R3000处理器.该处理引擎采用六级流水结构,支持软件例外和硬件中断:包括分支预测器和存储器保护单元等可配置部件;包含了与协处理器的接口以及与其它处理引擎进行通信同步的机制.该处理引擎实现时采用模块化的描述,增加了流水线互锁以及气泡挤压等功能,提供一种良好的机制对处理器的指令集进行扩展,使得对它进行新的指令扩展变得很容易.3.在对搜索引擎和处理引擎的设计进行充分的验证之后,以它们为基础设计了一款用于边缘接入网络处理的网络处理器原型系统.该原型系统在Xifinx公司的XC2VP30 FPGA上可以稳定的运行在50 MHz的频率下,可运行包括UIP协议栈、μC/OS Ⅱ操作系统、远程控制示例、1000位的π计算程序和Dhrystone基准程序在内的大量软件程序. 原型验证的结果表明本文提出的处理引擎和搜索引擎结构简洁,消耗硬件资源较少,同时能够达到较高的处理性能,可以为高速的边缘网络处理提供充足的处理能力.
其他文献
随着互联网的快速发展,微博、微信等以短文本为主的网络平台已成为实时信息的重要来源。以微博为例,它是一种基于用户关系获取和传播信息的平台,用户可以随时随地发布信息,实
学位
随着人民生活水平的提高和对生活质量的追求,智能家居逐渐走进人民生活并得到迅速发展。其中一个关键技术,音视频监控越来越受正视。而嵌入式技术和无线网络技术的日臻成熟,
USB于1994年由Compaq、Intel、Microsoft和NEC等多家公司推出,凭借其即插即用、廉价、可选择的多种速度模式以及广泛的软硬件支持等特点,日益成为通用的串行总线接口.同时,随
在芯片的设计流程中,一般采用多种验证手段来确保芯片的正确性,包括功能验证,时序验证,测试验证等.其中最耗时的当推是功能验证,它主要是芯片流片之前,通过对芯片的软件模型
随着网络通信技术的发展和网络应用的普及,人们已经不再满足于单一的通信服务,经常可以看到人们利用Email,即时消息,IP电话,视频等多种通讯工具的共同工作来达到便捷的通信活动,人
学位
信息检索中的排序(Ranking)问题是指给定某个查询和一候选文档集,检索引擎计算每个文档和该查询的相关性,并根据相关性将文档列表返回给用户。排序学习(Learning to rank)已成
面对日益增加的网络带宽和负载,如何提高网络安全程序的性能是当前安全系统所面临的挑战.Peder Jungck等人在[JSO4]提到,网络带宽与当前处理器能力矛盾是这一问题的根本.因此
随着半导体工业的发展,微处理器的集成度和工作频率在迅速的提高.与此同时,微处理器芯片内部的时钟偏差问题也越来越严重,确保电路运作的正确变得越来越困难;此外微处理器与
下一代互联网络演进的一个重要趋势是IP网络将成为语音和视频等应用的主要承载.VoIP(Voice over IP)是一个重要的语音应用.由于语音传输的机制不同,VoIP有着传统电话无法比拟