[发明专利]一种多核系统核间数据报文缓存方法及设备有效
申请号: | 201310275100.0 | 申请日: | 2013-07-01 |
公开(公告)号: | CN103338157A | 公开(公告)日: | 2013-10-02 |
发明(设计)人: | 杨逸 | 申请(专利权)人: | 杭州华三通信技术有限公司 |
主分类号: | H04L12/861 | 分类号: | H04L12/861 |
代理公司: | 北京德琦知识产权代理有限公司 11018 | 代理人: | 郑红娟;谢安昆 |
地址: | 310053 浙江省杭州市高新技术产业*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 多核 系统 数据 报文 缓存 方法 设备 | ||
技术领域
本发明涉及网络通信传输技术,特别是一种多核系统核间数据报文的缓存方法和设备。
背景技术
多核系统(处理器)是指在一枚处理器中集成两个以上完整的计算引擎(内核),使得多核处理器可在特定的时钟周期内执行更多任务。多核处理器处理报文时,根据所要处理的具体的业务,或者基于负载分担的考虑,都可能涉及到同一个报文在多个转发核之间的传递。这里的转发核,是指多核处理器中负责转发数据报文的各个内核,其可以按照异步对称多处理(ASMP,Asymmetric Symmetric Multiprocessing)方式进行工作。理论上讲,任意两个转发核之间都有相互传递报文的可能。整个多核系统中的报文传递路径抽象出来可以是一张全连通的图,如图1所示,以4个转发核的多核系统为例。
为了实现报文在多个转发核之间的传递,一般都采用队列的方法,用以缓存其他转发核发送来的报文,通过缓存报文的入队出队操作来实现报文在转发核间的传递。
对于任何一个多核系统而言,都不会允许报文在缓存队列中无限的缓存累积下去,因为这意味着对系统资源的持续消耗。一般都会定制一个整机缓存的上限,比如,整个多核系统的FIFO队列中缓存的报文数不能超过12K,超过12K就丢弃报文。
现有技术中处理这种多核系统核间报文缓存的方案为:每个转发核都设置有一个定长FIFO缓存队列用于接收其它转发核数据报文。任意其它转发核需要向这个转发核提交报文时,都把报文入队到这个定长FIFO缓存队列。这样,对于有N个转发核的多核系统,需要创建N个相同长度的FIFO缓存队列。每个队列可以缓存的报文数就是整机缓存门限M的1/N,所述整机缓存门限就是多核系统可缓存的报文数。以图2所示4个转发核、整机缓存门限为12K的多核系统为例:转发核1建立一个定长FIFO缓存队列用以缓存来自转发核2、转发核3和转发核4的报文,同样,转发核2、转发核3和转发核4也各自建立一个定长FIFO缓存队列,用以缓存来自其他三个转发核的报文(图中没有画出),则对于这个4个转发核的多核系统,共需要建立4个定长FIFO缓存队列,每个队列可以缓存的报文数为3K。
图2中转发核2、3、4都有可能向转发核1提交报文。因此,当它们向转发核1的缓存队列入队报文时,存在着竞争的关系,转发核1同一时间只能处理一个入队报文的入队操作,因此,转发核2、3、4报文入队的操作需要自旋锁的保护来保证报文入队的原子性。
当转发核的数目N增长时,一方面,这种报文入队的原子性操作所带来的效率上的损失也会增长;另一方面,每个缓存队列可以缓存的报文数会越来越少。这就会导致对任意两个转发核之间因为处理报文速率的不匹配而产生的报文突发的抗突发性能越差,越容易在核间被动丢弃报文从而影响整个多核系统的不丢包转发性能。
继续上面的举例,对于4个转发核的系统而言,每个队列的入队存在3个竞争者,每个队列可以缓存的报文数是3K;当变成32个转发核的系统时,每个队列的入队存在31个竞争者,每个队列可以缓存的报文数只有384个,核间的抗突发性能大幅降低了。现有技术方案导致的核间抗突发性能比较差,尤其在多核系统的转发核数量增大时,这种劣势更加明显。除此之外,上述方案不能实现对入队报文的过滤,即不能保证当某两个核间传递的报文不可避免的要丢弃时能优先缓存具有特定特征的高优先级报文。这两个缺陷不利于多核数据报文转发业务的推广应用。
发明内容
有鉴于此,本发明提供了一种多核系统核间数据报文缓存方法及设备,每个转发核设置有与其它转发核一一对应的先进先出FIFO缓存队列用于接收其它转发核数据报文,并且将多核系统的FIFO缓存队列设计成一种可以动态调节队列长度的模式,从而提高多核系统中某一个或者某几个转发核的抗突发性能。本发明提出的技术方案是:
一种多核系统核间数据报文缓存方法,应用于可缓存M个报文、转发核数量为N的多核系统,其中N≥2,该方法包括以下步骤:
每个转发核设置有与其它转发核一一对应的先进先出FIFO缓存队列用于接收其它转发核数据报文,其中,每个FIFO缓存队列设置有队列门限,各转发核FIFO缓存队列的门限之和小于M;
报文入队时,
如果与所述报文对应的FIFO缓存队列当前缓存的报文数小于队列门限,则所述报文入队,所述FIFO缓存队列缓存报文数加1;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州华三通信技术有限公司,未经杭州华三通信技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310275100.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:实质脏器内超声定位导航针
- 下一篇:一种带有开度调节的胸腰椎撑开钳
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置