[发明专利]一种多CPU虚拟机系统的数据流处理方法和装置有效
申请号: | 201410097861.6 | 申请日: | 2014-03-17 |
公开(公告)号: | CN103823712B | 公开(公告)日: | 2017-05-10 |
发明(设计)人: | 黄灏 | 申请(专利权)人: | 杭州华三通信技术有限公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455;G06F9/50 |
代理公司: | 北京鑫媛睿博知识产权代理有限公司11297 | 代理人: | 龚家骅 |
地址: | 310053 浙江省杭州市高新技术产业*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 cpu 虚拟机 系统 数据流 处理 方法 装置 | ||
技术领域
本发明涉及通信技术领域,尤其是涉及一种多CPU虚拟机系统的数据流处理方法和装置。
背景技术
目前物理CPU(Central Processing Unit,中央处理器)通常包括多个处理内核,每个处理内核可以包括多个线程,并且每个线程对业务处理系统来说就是一个CPU,后续的CPU可以指物理CPU的处理内核中包括的线程。
在数据包转发系统(以数据包转发以及相关业务处理为主要业务的系统)中,如果数据包转发系统包含多个CPU,则为了更好的利用CPU资源,将多个CPU划分为接收分流CPU(简称接收CPU)和转发及业务处理CPU(简称转发CPU)。接收CPU从物理接口(Interface)接收数据流(将连续处理的特征比较相似的一组数据包(数据包也可称为数据报文)称为一条数据流,比如将源/目的地址,源/目的端口,协议号都相同的一组数据包称为一条数据流)后,按照一定规则进行分流,并将分流后的数据流分配到不同的处理队列。
以接收CPU按照Hash规则分流为例进行说明,如图1所示,处理队列1用于缓存Hash结果为0的数据流,处理队列2用于缓存Hash结果为1数据流,处理队列3用于缓存Hash结果为2的数据流,处理队列4用于缓存Hash结果为3的数据流,处理队列5用于缓存Hash结果为4的数据流,处理队列6用于缓存Hash结果为5的数据流。例如,接收CPU在接收到数据流之后,通过Hash算法对该数据流进行Hash处理,如果Hash结果为1,则将该数据流缓存到处理队列2。为充分利用CPU资源,由转发CPU1负责处理队列1和处理队列3内缓存的数据流,由转发CPU2负责处理队列2和处理队列4内缓存的数据流,由转发CPU3负责处理队列5内缓存的数据流,由转发CPU4负责处理队列6内缓存的数据流。
如果有多个数据包转发系统共同使用所有的CPU资源(即上述接收CPU以及转发CPU),如:在具体应用中,物理主机上虚拟化出多个虚拟机(VM),且每个虚拟机可以是上述的数据包转发系统,并且各虚拟机均需要使用物理主机上的CPU资源,在此情况下,则:在一个虚拟机使用物理主机上的CPU资源时,其它虚拟机将无法使用该虚拟机所使用的CPU资源,只有当该虚拟机完成处理并释放该CUP资源后,其它虚拟机才能够使用该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对应的处理序列内的每个处理队列,所述虚拟机确定每次对该处理队列内缓存的数据流进行处理的时间;
所述虚拟机确定所述CPU占用率计算周期内所有对该处理队列内缓存的数据流进行处理的时间之和为该处理队列的有效消耗时间;
所述虚拟机确定所述转发CPU对应的处理序列内的所有处理队列的有效消耗时间之和为该处理序列内所有处理队列的有效消耗所占时间;
所述虚拟机确定所述转发CPU的CPU占用率具体为:处理序列内所有处理队列的有效消耗所占时间除以所述CPU占用率计算周期。
针对一个CPU占用率计算周期,所述虚拟机确定自身转发CPU的运行状态的过程,具体包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州华三通信技术有限公司,未经杭州华三通信技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410097861.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:能于低压遮断的瓦斯配件
- 下一篇:保龄球运动模拟系统