[发明专利]一种多核CPU发包的方法及装置有效
申请号: | 201710179363.X | 申请日: | 2017-03-23 |
公开(公告)号: | CN107015942B | 公开(公告)日: | 2020-04-03 |
发明(设计)人: | 任红军;胡军 | 申请(专利权)人: | 杭州迪普科技股份有限公司 |
主分类号: | G06F15/173 | 分类号: | G06F15/173 |
代理公司: | 北京博思佳知识产权代理有限公司 11415 | 代理人: | 林祥 |
地址: | 310051 浙江省杭*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 多核 cpu 发包 方法 装置 | ||
本申请提供一种多核CPU发包的方法及装置,应用于基于SMP架构的网络设备,所述方法包括:为多核CPU的各CPU静态分配唯一的下行内部通道;接收到所述转发芯片上送的报文时,提取该报文的报文特征;基于提取到的所述报文特征为所述报文分配目标CPU,并将该报文发送至所述目标CPU,以由所述目标CPU对该报文进行处理,并在处理完成后通过为所述目标CPU分配的下行内部通道向所述转发芯片返回处理结果。本申请实施例解决了相关技术中,CPU根据多个下行内部通道向转发芯片返回处理结果,而多个下行内部通道的接口的处理时延不同,导致报文乱序的问题。
技术领域
本申请涉及通信技术领域,特别涉及一种多核CPU发包的方法及装置。
背景技术
基于SMP(Symmetrical Multi-Processing,对称多处理)架构的网络设备的高性能多核CPU和转发芯片之间会有多个内部通道。转发芯片接收到报文后,基于预设的算法对报文的报文特征进行计算,并根据计算结果选择内部通道,利用该内部通道将数据传输到CPU。而CPU在传输下行数据到转发芯片时,往往采用简单、实用的分流方式。
在相关技术中,网络设备的多核CPU会将与转发芯片之间的所有下行内部通道的接口记录成一个链表,在发送报文时,逐个选择链表中的接口发包,使得下行内部通道均衡地被使用。
然而,对于报文顺序要求严格的数据传输而言,CPU均衡地选择若干个下行内部通道发包时,可能由于各下行内部通道的接口的处理时延不同,导致各下行内部通道的接口将报文发出的速度存在差异,CPU发送出的报文顺序与通过各内部通道的接口发送出的报文顺序不同,进而使得报文乱序。
发明内容
有鉴于此,本申请提供一种多核CPU发包的方法及装置,用以解决相关技术可能导致报文乱序的问题。
具体地,本申请是通过如下技术方案实现的:
一种多核CPU发包的方法,应用于基于SMP架构的网络设备,所述网络设备包括多核CPU和转发芯片,所述多核CPU与所述转发芯片之间存在多条下行内部通道,包括:
为各CPU静态分配唯一的下行内部通道;
接收到所述转发芯片上送的报文时,提取该报文的报文特征;
基于提取到的所述报文特征为所述报文分配目标CPU,并将该报文发送至所述目标CPU,以由所述目标CPU对该报文进行处理,并在处理完成后通过为所述目标CPU分配的下行内部通道向所述转发芯片返回处理结果。
在所述多核CPU发包的方法中,所述为各CPU静态分配唯一的下行内部通道,包括:
在所述网络设备启动时,将所述多核CPU与所述转发芯片之间的下行内部通道逐个分配给各CPU;如果下行内部通道的数量小于CPU的数量,当下行内部通道全部分配完毕后,重新将分配过的下行内部通道逐个分配至剩余的CPU。
在所述多核CPU发包的方法中,所述多核CPU的各CPU的最大处理流量不同,所述多核CPU与所述转发芯片之间的各下行内部通道的带宽不同;
所述为各CPU静态分配唯一的下行内部通道,包括:
在所述网络设备启动时,基于所述多核CPU的各CPU的最大处理流量,分别为各CPU分配与其最大处理流量相匹配的下行内部通道;如果下行内部通道的数量小于CPU的数量,当下行内部通道全部分配完毕后,重新将分配过的下行内部通道分配至剩余的CPU。
在所述多核CPU发包的方法中,所述基于提取到的所述报文特征为所述报文分配目标CPU,包括:
对所述报文特征进行哈希计算得到离散值;
基于所述离散值,为所述报文分配目标CPU。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州迪普科技股份有限公司,未经杭州迪普科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710179363.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种改善存储系统散热的电源结构
- 下一篇:一种用于特殊规格板卡的阶梯式散热片