[发明专利]报文流量的负荷分担方法、装置和系统无效
申请号: | 201210157622.6 | 申请日: | 2012-05-21 |
公开(公告)号: | CN102664815A | 公开(公告)日: | 2012-09-12 |
发明(设计)人: | 郭晓阳 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | H04L12/56 | 分类号: | H04L12/56;H04L12/46 |
代理公司: | 北京亿腾知识产权代理事务所 11309 | 代理人: | 陈霁 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 报文 流量 负荷 分担 方法 装置 系统 | ||
技术领域
本发明涉及通信领域,尤其涉及一种报文流量的负荷分担方法、装置和系统。
背景技术
在通信领域,存在大量的报文高速转发处理场景,随着处理器CPU、专用集成电路ASIC(Application Specific Integrated Circuit)、现场可编程门阵列FPGA(Field-Programmable Gate Array)、网络处理器等硬件技术的不断发展,报文高速转发技术也在不断演进。由于通用CPU计算能力强,但是不适用于大带宽的I/O访问的转发处理;ASIC/FPGA转发能力强但是灵活性不够;网络处理器虽然结合了ASIC的高性能和CPU的可编程能力,但是无法适应有线或无线业务快速多样化的演进。近些年涌现的多核处理器既满足CPU的可编程性又具有高性能,但是随着多核的核数演进,核间的流量负荷分担算法成了一个较关键的问题。由于高速报文转发既需要保障转发性能,又需要保证报文顺序,在现有通用技术下,由于保序的存在,核数和性能无法线性增加,导致较大的性能损耗。
在现有技术下,有多种负荷分担的算法,主要有基于包分发和基于流分发两种。包分发为逐包依次分发到多个核处理,每个并发线程覆盖所有业务流程并发执行相同的代码,通过互斥机制完成相关报文的同步操作,这样虽然对多核的CPU利用均衡度较高但是降低了Cache命中率,而且互斥锁对性能影响较大。流分发方式基于数据流方式分发到多个核处理,虽然避免了互斥锁的引入,但存在单流流量激增时多核负载不均衡的问题。导致有些CPU过载,有些过轻,并没有充分利用多核负荷分担的优势。
发明内容
本发明实施例提供了一种报文流量的负荷分担方法、装置和系统,可以实现多核系统中流量负荷的基于流分发方式的改进动态均衡分担,既保证了分发的均衡性又省去了报文保序的开销,还可以实现核数和性能的线性比例增长,提高了报文的转发性能。
一方面,本实施例供了一种报文流量的负荷分担方法,所述方法包括:接收报文,解析所述报文,获取所述报文对应的报文流的流标识信息;
查询报文流状态表,根据所述流标识信息判断所述报文流是否正在多核处理器的所述报文流对应的一个处理器中处理;
如果所述报文流正在所述处理器中处理,则将所述报文放入所述户用报文流中,由所述处理器处理;否则将所述报文放入所述报文流中,并将所述报文流分发到所述多核处理器的一个空闲的处理器进行处理;
判断所述报文流是否处理完成,如果所述报文流处理完成,更新所述报文流状态表,用以下一次分发报文流。
另一方面,本实施例供了一种报文流量的负荷分担装置,所述装置包括:
解析单元,用于接收报文,解析所述报文,获取所述报文对应的报文流的流标识信息;
判断单元,用于查询报文流状态表,根据所述流标识信息判断所述报文流是否正在多核处理器的所述报文流对应的一个处理器中处理;
处理单元,用于如果所述报文流正在所述处理器中处理,则将所述报文放入所述户用报文流中,由所述处理器处理;否则将所述报文放入所述报文流中,并将所述报文流分发到所述多核处理器的一个空闲的处理器进行处理;
第一更新单元,用于判断所述报文流是否处理完成,如果所述报文流处理完成,更新所述报文流状态表,用以下一次分发报文流。
又一方面,本发明实施例提供了一种报文流量的负荷分担系统,所述系统包括上述报文流量的负荷分担装置,以及多核处理器。
本发明实施例中,FPGA接收报文,解析所述报文,获取所述报文对应的报文流的流标识信息;然后查询报文流状态表,根据所述流标识信息判断所述报文流是否正在多核处理器的所述报文流对应的一个处理器中处理;如果所述报文流正在所述处理器中处理,则将所述报文放入所述户用报文流中,由所述处理器处理;否则将所述报文放入所述报文流中,并将所述报文流分发到所述多核处理器的一个空闲的处理器进行处理;最后判断所述报文流是否处理完成,如果所述报文流处理完成,更新所述报文流状态表,用以下一次分发报文流。由于多核处理器中流量均衡分担,实现了每个单核流量均衡,提升了报文的转发性能,而且通过对报文的标识信息进行散列得到的流标识信息进行报文分发,实现了逐流分发流量,使得多核处理器的性能随着核数的增加而线性增长。
附图说明
图1为本发明实施例提供的一种报文流量的负荷分担方法流程图;
图2为本发明实施例提供的一种报文流量的负荷分担方法中报文流分发示意图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210157622.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种保健糯米酒的制备方法
- 下一篇:一种麦冬保健高粱酒的制作方法