[发明专利]业务同步处理方法和多核设备有效
申请号: | 201310082439.9 | 申请日: | 2013-03-15 |
公开(公告)号: | CN103226496A | 公开(公告)日: | 2013-07-31 |
发明(设计)人: | 杨逸 | 申请(专利权)人: | 杭州华三通信技术有限公司 |
主分类号: | G06F9/52 | 分类号: | G06F9/52 |
代理公司: | 北京德琦知识产权代理有限公司 11018 | 代理人: | 杨春香;宋志强 |
地址: | 310053 浙江省杭州市高新技术产业*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 业务 同步 处理 方法 多核 设备 | ||
技术领域
本申请涉及网络通信技术,特别涉及业务同步处理方法和多核设备。
背景技术
对基于CPU做报文转发的软转发系统而言,在CPU主频提升空间有限的情况下,通过多核来提高处理器整体转发性能成为一种趋势。同时,为了减少运行操作系统(OS:Operation System)的开销,目前,处理器的多核一般采用非对称多业务处理(ASMP:Asymmetric MultiProcessing)结构。该ASMP架构下,其中一个核运行OS,作为控制核(controller),负责内存等CPU资源的分配,在转发业务的处理上,负责路由的计算和生成并下刷路由表项给其它核。而其余的核作为数据转发核(worker),只负责从controller接收转发表项,做比较单一的报文查表转发处理,具体如图1所示。
在实际的组网环境中,存在着各种各样的报文:有的报文处理起来比较简单,在一个worker核上即可完成处理;有的报文比较复杂,需要多个worker核相互协作才能完成处理。所以,对于worker,又细分成两种:一种是处理简单业务,称之为Simple worker(简称S worker),彼此之间并行处理。一种是处理复杂业务,称之为Complicated worker(简称C worker)。当一个需要复杂业务处理的报文到达S worker后,该S worker会先对该报文进行简单的初期处理,将处理后的“半成品”报文发送至C worker,由C worker进行“再加工”,这个时候,S worker和C worker之间就存在着一种同步的关系,不能并行处理。
如图2所示,当S worker3通过业务接口接收报文时,识别该报文的处理是属于简单业务的处还是复杂业务的处理,如果是简单业务处理,则直接对该报文进行简单业务处理并查找相关转发表项进行转发即可,如果是复杂业务处理,则先对该报文进行简单的业务处理(该处理称为前期处理),将经过简单处理的报文递交给特定的负责复杂业务处理的C worker,C worker完成复杂业务处理后再把报文返回给S worker3,由该S worker3继续对该报文简单的业务处理(该处理称为后期处理),如图2所示S worker3与C worker之间的双向箭头所示。需要说明的是,实际应用中,图2中所有S worker都与C worker之间存在双向箭头,只不过这里以S worker3为例所以仅在图2中明显示出S worker3与C worker之间的双向箭头,而其他S worker与C worker之间的双向箭头未示出而已。
另外,在实际应用中,在多核处理器之外还可能存在着专门处理某种特定复杂业务的硬件加速单元,比如专门处理报文加解密的ASIC芯片或者FPGA。如图3所示,多核处理器与处理特定业务的硬件加速单元通过高速数据总线相连。这个硬件加速单元可以是一个ASIC芯片(比如专门处理报文加解密的加密引擎),也可以是一个FPGA。当S worker通过业务接口接收报文时,发现该报文涉及到可以硬件加速的业务,则先对该报文进行简单的初期处理,之后通过高速数据总线把报文递交给硬件加速单元处理。等到硬件加速单元完成对该报文的处理并通过高速数据总线返回后,该S worker再继续对该报文的后期处理。
从图2、图3可以看出,S worker与C worker或者硬件加速单元之间存在复杂业务的同步关系,对这种有同步关系的复杂业务,S worker在把报文递交给C worker或者外挂的硬件加速单元处理的时候,本身只能处于等待状态,等到C worker或者硬件加速单元对该报文的复杂处理返回,并对该报文的复杂业务处理完成后才能再继续对报文进行处理,具体如图4所示。如果复杂业务处理的时间比较长,则S worker等待的时间就比较长,这对S worker的CPU浪费是相当可观的。
发明内容
本申请提供了业务同步处理方法和多核设备,以避免S worker的资源浪费,提高S worker的资源利用效率。
一种业务同步处理方法,该方法应用于多核处理器中的数据转发核,其中,将所述数据转发核虚拟化为N个不同的VCPU,该N个VCPU对应不同的栈空间、且同一时刻只有一个VCPU占用所述数据转发核的资源处于工作状态,而其它VCPU处于非工作状态;该方法包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州华三通信技术有限公司,未经杭州华三通信技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310082439.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:LED封装结构
- 下一篇:电容式触控面板及制作方法