[发明专利]在多核处理器系统中使用的报文保序方法有效
申请号: | 201210315656.3 | 申请日: | 2012-08-30 |
公开(公告)号: | CN102801635A | 公开(公告)日: | 2012-11-28 |
发明(设计)人: | 赵晗;路涛;范成龙 | 申请(专利权)人: | 北京傲天动联技术有限公司 |
主分类号: | H04L12/56 | 分类号: | H04L12/56 |
代理公司: | 北京铭硕知识产权代理有限公司 11286 | 代理人: | 韩明星 |
地址: | 100085 北京市海淀区东北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 多核 处理器 系统 使用 报文 方法 | ||
技术领域
本发明涉及一种网络设备的报文保序方法,更具体地说,涉及一种在多核处理器系统中使用的报文保序的方法。
背景技术
随着网络的普及,用户对网络带宽的需求不断提高,网络设备的处理能力也越来越高。作为网络设备的核心处理单元,CPU的性能成为决定一个网络设备处理能力的重要标准。自从多核处理器的出现,使得网络设备的处理能力上了一个新的台阶。
多核架构的处理器,能对报文进行并行处理,提高了处理能力,但产生了并行处理中报文乱序的现象,导致报文转发时产生诸如TCP乱序等问题,报文的保序需求随之产生。
目前网络处理器制造厂商,大都通过附加一个硬件协处理单元来完成报文保序的工作。例如,octeon系列处理器内置的sso单元用于专门负责报文的同步、保序等工作。
由于每个厂商自定义的硬件协处理器单元结构不同,实现原理也不同,使得该功能的通用性不强。并且,通用多核处理器中并没有这样的单元,使得用户在选取网络设备的处理器时只能局限于固定几家厂商的芯片,有很大的局限性。
因此,需要一种不必使用硬件协处理器也能够在通用多核处理器中使用的报文保序方法。
发明内容
本发明的一方面在于提供了一种在多核处理器系统中使用的报文保序方法,所述方法通过专门使用一个核处理报文保序的工作,实现了不必使用硬件协处理器也能够在通用多核处理器中使用的报文保序方法,扩大了在选取网络设备的处理器时芯片选择的范围。
本发明的另一方面在于提供了一种在多核处理器系统中使用的报文保序方法,所述方法包括:将多核处理器系统中的一个核用作保序单元,并将多核处理器系统中的其它核用作业务核;保序单元针对接收到的报文进行保序预处理;业务核向保序单元申请报文;保序单元响应于业务核的申请将接收到的报文调度给业务核;业务核对报文进行业务处理;保序单元发送处理完毕的报文。
保序单元针对接收到的报文排序进行保序预处理的步骤可包括:设置流匹配规则;根据设置的流匹配规则,对接收到的报文进行流匹配;根据流匹配的结果,针对同一条流中的每个报文生成排序队列,其中,排序队列用于对接收到的报文进行排序并设置索引。
保序单元设置流匹配规则的步骤可包括:针对每个报文设置流匹配元组;针对每个报文设置保序方案;将流匹配元组相同并且保序方案也相同的报文确定为属于同一条流。
保序单元针对每个报文设置流匹配元组的步骤可包括:将流匹配元组设置为包括每个报文中的源IP、目的IP、源端口、目的端口、协议类型、物理链路PORT的任意组合,并且,流匹配元组相同表示流匹配元组中包括的每个元组都相同。
保序单元针对每个报文设置保序方案的步骤可包括:针对每个报文将保序方案设置为并行保序方案、互斥保序方案和非保序方案之一。
保序单元将接收到的报文中的报文调度给业务核的步骤可包括:保序单元根据流匹配的结果,针对保序方案被设置为并行保序方案的流和针对保序方案被设置为非保序方案的流,保序单元将接收到的报文中的每个报文调度给所述业务核中的一个或多个业务核;针对保序方案被设置为互斥保序方案的流,保序单元将接收到的报文中的每个报文调度给所述业务核中的一个业务核。
保序单元发送处理完毕的报文的步骤可包括:针对保序方案被设置为并行保序方案的流,保序单元确定该流中处理完毕的报文是否位于排序队列的最前面;如果处理完毕的报文位于排序队列的最前面,则保序单元发送该处理完毕的报文;如果在排序队列中在处理完毕的报文之前存在没被处理完毕的报文,则保序单元不发送该处理完毕的报文,而是等待前面的报文处理完毕并发送之后才发送该处理完毕的报文。
保序单元发送处理完毕的报文的步骤还可包括:针对保序方案被设置为互斥保序方案的流,保序单元根据排序队列依次发送被依次处理的多个报文。
保序单元发送处理完毕的报文的步骤还可包括:针对保序方案被设置为非保序方案的流,保序单元不考虑保序操作而直接发送排序队列中处理完毕的报文。
根据本发明的示例性实施例的在多核处理器系统中使用的报文保序方法通过将多核处理器系统中的一个核用作保序单元以进行对报文的调度和保序,并将多核处理器系统中的其它多个核用作多个业务核以进行对报文的处理,实现了不必使用硬件协处理器也能够在通用多核处理器中使用的报文保序方法,扩大了在选取网络设备的处理器时芯片选择的范围。此外,通过所述方法,多个业务核仅需进行具体的业务处理,而不必考虑复杂的保序工作,简化了多个业务核对报文处理的流程,达到了有效避免乱序,提高处理和转发效率。
附图说明
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京傲天动联技术有限公司,未经北京傲天动联技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210315656.3/2.html,转载请声明来源钻瓜专利网。