[发明专利]用于网络处理器中引擎分配的实现方法在审
申请号: | 201611110967.0 | 申请日: | 2016-12-06 |
公开(公告)号: | CN106802827A | 公开(公告)日: | 2017-06-06 |
发明(设计)人: | 邱益波;阎燕山 | 申请(专利权)人: | 中国电子科技集团公司第三十二研究所 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 上海汉声知识产权代理有限公司31236 | 代理人: | 郭国中 |
地址: | 200233 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 网络 处理器 引擎 分配 实现 方法 | ||
技术领域
本发明涉及一种网络通信领域技术,特别是涉及一种用于网络处理器中引擎分配的实现方法。
背景技术
网络处理器是经过专门设计和高度优化来实现网络功能的可编程硬件,用于完成报文处理、协议分析、路由转发等通信工作。网络处理器拥有高性能和可编程的优点,支持不断涌现的网络技术。
图1是现有网络处理器的核心组成部分。网络处理器包括数据包解析模块、查找模块、更新转发模块和数据包修改四种模块。每种模块完成不同的任务。其中,数据包解析模块从帧存储器读出帧数据,分类解析后识别并提取关键信息,对信息进行组合构成多个查找关键字。查找模块接收来自查找关键字,对相关表进行查找和管理。更新转发模块根据查找结果决定帧的输出端口、输出队列。数据包修改模块从帧存储器中读出帧,根据需要修改内容后写回帧存储器。
每种模块都可以简单分为三个步骤:分配引擎并接收待处理数据、执行具体功能、保存处理结果传递给后级模块。模块之间需要用较多时间来传输数据。如果每种模块只有一个工作引擎,那么模块之间必须串行工作,处理速度非常慢。因此,每种模块均采用多个工作引擎执行相同的具体功能,并行处理数据,隐藏传输和处理的时间,如图2所示。
传统方法是通过状态机的形式来实现多个引擎的分配,每个周期只有一个引擎有优先权,如果该引擎没有空闲,则它下一个空闲的引擎可以被分配。这种方法只适合在较少引擎数目的场合运用。随着引擎数目的增加,状态机会变得异常复杂,难于管理且不易扩展。
发明内容
本发明所要解决的技术问题是提供一种用于网络处理器中引擎分配的实现方法,其能够快速分配引擎资源,及时接受前级模块传来的数据,避免长时间占用模块,影响数据帧线性收发;不同应用场合灵活选择工作引擎的数目,便于选择处理速度和资源占用的最优情况;后续扩展引擎数目灵活方便,改动小。
本发明是通过下述技术方案来解决上述技术问题的:一种用于网络处理器中引擎分配的实现方法,其特征在于,所述用于网络处理器中引擎分配的实现方法包括以下步骤:
步骤一:根据当前可用的引擎和前一时刻分配的引擎,选择当前选用的工作引擎,将待处理的数据传递到该引擎中;
步骤二:实现多个相同的工作引擎,并行执行具体功能;
步骤三:保存处理结果供后级取用,释放占用的引擎,将空闲寄存器对应位清零。
优选地,所述用于网络处理器中引擎分配的实现方法涉及网络处理器,网络处理器包括解析模块、查找模块、更新转发模块、修改模块,且解析模块、查找模块、更新转发模块、修改模块均支持多个相同、独立的执行单元。
优选地,所述步骤一提供寄存器接口、供软件人员配置引擎数目。
优选地,所述步骤二隐藏数据传输时间,加快数据处理速度。
优选地,所述空闲寄存器反映当前空闲的引擎情况,由模块内部进行维护。
本发明的积极进步效果在于:本发明支持通过寄存器灵活配置实际工作的引擎数目,根据具体应用需求配置引擎数目、平衡资源和速度,实现性能最优;只要有一个以上空闲引擎,就可以接收数据,释放前级模块资源,隐藏模块之间数据传输和处理的时间,提高工作效率;后续引擎数目的扩展方便,只需要简单改动。
附图说明
图1为现有网络处理器的核心处理模块结构图。
图2为现有网络处理器中每种模块处理数据流程图。
图3为本发明用于网络处理器中引擎分配的实现方法的流程图。
具体实施方式
下面结合附图给出本发明较佳实施例,以详细说明本发明的技术方案。
本发明也涉及网络处理器,网络处理器包括解析模块、查找模块、更新转发模块、修改模块,且四个模块均支持多个相同、独立的执行单元,即工作引擎。
如图3所示,本发明用于网络处理器中引擎分配的实现方法包括以下步骤:
步骤301:根据当前可用的引擎和前一时刻分配的引擎,选择当前选用的工作引擎,将待处理的数据传递到该引擎中;
步骤302:实现多个相同的工作引擎,并行执行具体功能,如解析、查找、更新转发或修改;
步骤303:保存处理结果供后级取用,释放占用的引擎,将FREE寄存器(空闲寄存器)对应位清零。
其中,步骤301提供寄存器接口、供软件人员配置引擎数目。
步骤302隐藏数据传输时间,加快数据处理速度,这样能尽早释放前级模块资源,保证帧的线性收发。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国电子科技集团公司第三十二研究所,未经中国电子科技集团公司第三十二研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611110967.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种基于线程池的业务处理方法及装置
- 下一篇:一种应用数据处理方法及设备