[发明专利]单收发通道多核网络通讯设备的无锁共享报文转发方法有效
申请号: | 202011585304.0 | 申请日: | 2020-12-29 |
公开(公告)号: | CN112511460B | 公开(公告)日: | 2022-09-09 |
发明(设计)人: | 胡军 | 申请(专利权)人: | 安徽皖通邮电股份有限公司 |
主分类号: | H04L47/62 | 分类号: | H04L47/62;H04L47/628;G06F9/50;G06F9/52 |
代理公司: | 北京科亿知识产权代理事务所(普通合伙) 11350 | 代理人: | 张涛 |
地址: | 230041 *** | 国省代码: | 安徽;34 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 收发 通道 多核 网络 通讯设备 共享 报文 转发 方法 | ||
本发明公开了一种单收发通道多核网络通讯设备的无锁共享报文转发方法,包括以下步骤:(1)、将报文缓存至缓存区中,并由缓存区生成收包逻辑索引,同时每个单核处理器分配报文转发任务;(2)、令单核处理器的报文转发任务对缓存区进行查询,确认是否存在待收包的报文;(3)、各个单核处理器的报文转发任务收取报文;(4)、各个单核处理器的报文转发任务将获取的报文引入缓存区,并由缓存区生成发包逻辑索引;(5)、令单核处理器的报文转发任务进行发包报文查询确认;(6)、网络芯片获取报文后向外传输;(7)、令任意一个单核处理器进行转发查询。本发明方法具有良好的报文转发性能。
技术领域
本发明涉及多核通用处理器报文转发方法领域,具体是一种单收发通道多核网络通讯设备的无锁共享报文转发方法。
背景技术
多核网络通讯设备一般包括网络芯片,以及集成于网络芯片或者网络芯片外连的多核cpu,网络芯片接收外部报文,并经过多核cpu后再通过网络芯片向外转发。目前,性能较好的多核网络通讯设备中,其网络芯片硬件上支持分发模块、保序模块和内部通讯模块,由分发模块将报文分发到各个单核cpu,保序模块会为收到的报文进行保序标记,这样在网络芯片向外发送报文时可保证按接收报文时的数据流顺序向外发送。每个单核cpu分别各自配置有独立的收包通道和发包通道,由此每个单核cpu通过各自的收包通道接收网络芯片的报文,并通过各自的发包通道将报文送入网络芯片向外转发,上述过程通过网络芯片的内部通讯模块通讯协调。因此性能较好的多核网络通讯设备可以不使用锁发送报文,转发过程中无须复制报文,但是存在非常依赖硬件支持,成本很高。
大多数低成本的多核网络通讯设备中,网络芯片在硬件上并不支持分发模块、保序模块和内部通讯模块,并且多核cpu中各个单核cpu共用同一个单收发通道用于与网络芯片交互数据,该单收发通道一般由单收包通道和单发包通道以及缓存区构成,每个单核cpu的性能也只能达到普通要求。这种低成本的多核网络通讯设备在转发报文时,由于各个单核cpu共用一个单收发通道,若两个单核cpu同时通过单收发通道操作,则两个单核cpu的数据在单收发通道中是互斥的,因此需要加锁操作,否则会出现重复收包、丢包甚至任务跑飞、挂起的问题,而加锁必然会导致报文转发性能降低。
并且,低成本的多核网络通讯设备在转发报文时,还需要对报文进行复制。报文的具体处理其实很简单,单核cpu对报文头作解析然后,把整个包一起投递,读报文头长度较小,一般只有几十个字节,一旦需要拷贝报文,必须访问整个包,长度就很大,一般大包能达到1500字节。而普通的cpu处理器复制报文的指令,访存指令开销相对一般指令来说比较大,一般简单指令只要一个周期,而访存指令在缓存不明的情况下,可能要花几十上百的周期。所以复制报文需要尽量避免,否则影响转发性能。
为了实现低成本的多核网络通讯设备在转发报文时不加锁、不复制报文,现有技术有一种方法是将低成本多核网络通讯设备中的一个单核cpu专用于分发报文到其他单核cpu,以及将另一个单核cpu专用于发送报文时的保序。这种通过专用单核cpu转发报文的方法存在以下弊端:1、需要占用2个单核cpu,2、转发延时较大,3、多核网络通讯设备包含数量较多的单核cpu时,流量汇聚到分发保序的专用单核cpu会导致性能瓶颈,可能处理不过来。
发明内容
本发明的目的是提供一种单收发通道多核网络通讯设备的无锁共享报文转发方法,以解决现有技术低成本多核网络通讯设备实现无锁、不复制报文的报文转发时存在的问题。
为了达到上述目的,本发明所采用的技术方案为:
单收发通道多核网络通讯设备的无锁共享报文转发方法,所述网络通讯设备包括网络芯片和多核处理器,多核处理器中的各个单核处理器共用一个单收发通道与网络芯片之间双向传输数据,所述单收发通道由单收包通道、单发包通道以及单收包通道和单发包通道共用的缓存区构成,各个单核处理器通过单收包通道从网络芯片获取数据,各个单核处理器通过单发包通道向网络芯片发送数据,其特征在于,包括以下步骤:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于安徽皖通邮电股份有限公司,未经安徽皖通邮电股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011585304.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种太阳能板
- 下一篇:一种地下能源开发与回收利用系统