一种针对虚拟网络功能的自适应计算资源分配方法与流程

文档序号:11234430阅读:1135来源:国知局

本发明涉及计算资源分配领域,尤其涉及一种针对虚拟网络功能的自适应计算资源分配方法。



背景技术:

网络中间盒(middlebox)在当今的网络架构中扮演十分重要的角色,提供各种各样的功能,包括:数据包转发、流量整形、安全检查、隐私保护、性能提升等。但同时,它也存在着不少缺陷,比如:购买费用高、管理不便、可扩展性差、难以直接部署新服务等。为了解决这些问题,网络功能虚拟化(nfv,networkfunctionvirtualization)被提出。

nfv的主要思想是利用虚拟化技术,将传统的基于硬件的、专用的网络中间盒以软件方式来实作,运行在通用计算平台上(如通用服务器),而不再局限于硬件架构。这些基于软件实现的网络中间盒称为虚拟网络功能(vnf,virtualnetworkfunction)。网络流量常常要经过多个网络中间盒,因此在nfv平台中,网络服务的提供是通过串联多个vnf来构成服务链(servicechain)。vnf的性能问题是nfv的挑战之一,当前的趋势是借助快速包处理框架(如dpdk)来提升性能,其特点是利用采用轮询模式驱动(pollmodedriver),利用轮询来避免中断处理的开销。

在nfv架构中,有一个虚拟化层负责将物理资源抽象成虚拟资源。虚拟资源通常以虚拟机(vm,virtualmachine)的形式呈现给上层,并由kvm、xen等虚拟机监控器(vmm,virtualmachinemonitor)进行管理。vnf被部署在vm中,由vmm负责提供各种虚拟资源。其中,虚拟计算资源的提供与分配由vmm调度器完成。但是,vmm调度器是为普通虚拟机设计的,其资源分配策略是公平分配,不能很好地适用于vnf。

注意到vnf的工作是由进入它的数据包(ingresspackets)来触发的,我们可以知道,vnf的计算资源需求由两个主要因素决定:一是入包速率,二是该vnf的类型。因此,对于一个服务链来说,它的各个vnf的计算资源需求很有可能是不同的。然而,现有的vmm调度器在分配计算资源时将公平性放在第一位,这样的公平分配可能会造成某些vnf的资源短缺、某些vnf的资源过剩,从而影响服务链的整体性能。

因此,本领域的技术人员致力于开发一种针对虚拟网络功能的自适应计算资源分配方法,基于vnf的实际需求来分配计算资源,消除公平分配所造成的性能瓶颈。



技术实现要素:

有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是开发一种针对虚拟网络功能的自适应计算资源分配方法,基于vnf的实际需求来分配计算资源,消除公平分配所造成的性能瓶颈。

为实现上述目的,本发明提供了一种针对虚拟网络功能的自适应计算资源分配方法,包括以下两个步骤:

步骤一、预测vnf实时计算资源需求;

步骤二、基于vnf的资源需求,重新分配计算资源。

进一步地,步骤一具体包括:

步骤1.1、离线分析不同类型的vnf,得到计算资源需求量和入包速率之间的参数关系;

步骤1.2、在线监控每个vnf的网络流量信息,结合步骤1.1中的参数,预测vnf的计算资源需求量。

进一步地,计算资源分配方法包括直接分配法和增量分配法。

进一步地,步骤二采用增量分配法的具体步骤包括:

步骤2.1、统计每个vnf的计算资源实际使用量,然后计算每个vnf的计算资源实际使用量和计算资源需求量之间的差值,找到差值最小的vnf;

步骤2.2、修改差值最小的vnf对应的vcpu线程的优先级,给差值最小的vnf增加计算资源供应量,消除性能瓶颈。

进一步地,直接分配法具体为:计算各个vnf的计算资源需求的比例,将系统的总计算资源按照比例向vnf进行分配。

进一步地,自适应计算资源分配方法使用smpvm和多队列网卡。

进一步地,不对vmm调度器的底层逻辑进行修改,借助vmm调度器所提供的任务优先级机制实现不均衡计算资源分配。

进一步地,通过调节底层vcpu线程的优先级,使得任务获得更多或更少的计算资源,实现为上层vnf分配不同数量的计算资源。

技术效果

通过监测vnf的网络流量信息,并结合vnf的类型做离线分析,预测vnf的实时计算资源需求;再基于实际需求为vnf重新分配计算资源,消除传统公平分配机制所带来的性能瓶颈。在重新分配计算资源时,既可以采用直接分配法,也可以采用增量分配法,通过设置任务优先级为各个vnf分配不同数量的计算资源,提升网络服务链的整体性能。

以下将结合附图对本发明的构思、具体结构及产生的技术效果作进一步说明,以充分地了解本发明的目的、特征和效果。

附图说明

图1是本发明的一个较佳实施例的一种针对虚拟网络功能的自适应计算资源分配方法的流程示意图。

具体实施方式

单个vnf可能由多个内部组件构成,每个组件可以部署在一个单独的vm中。为了便于表述和理解,本发明中仅考虑最常见的“一对一”部署模型,即一个vnf部署在一个vm中。

考虑到网络流量是随时变化的,而vnf对计算资源的需求也随着网络流量的变化而变化,本发明中的vm采用对成多处理器(smp,symmetricmulti-processor)架构。smpvm的一个重要特性是它能够很好地适应变化的资源需求。当工作负载较低时,smpvm可以和其它vm共享物理核;随着工作负载的升高,smpvm可以选择减少共享,甚至让每个虚拟cpu(vcpu,virtualcpu)独占一个物理核。

与此同时,为了充分利用vm的多个vcpu,每个vm配备多队列网卡。接收端扩展(rss,receivesidescaling)技术负责将进入vm的数据包均分至各个队列,然后由每个vcpu负责处理一个单独的接收/发送队列。vm中的vnf借助快速包处理框架和网卡交互,采用轮询代替中断,高效地收发数据包。

如图1所示,本发明的一较佳实施例提供了一种针对虚拟网络功能的自适应计算资源分配方法,包括以下两个步骤:

步骤一、预测vnf实时计算资源需求;

步骤1.1、离线分析不同类型的vnf,得到计算资源需求量和入包速率之间的参数关系;

步骤1.2、在线监控每个vnf的网络流量信息,结合步骤1.1中的参数,预测vnf的计算资源需求量。

步骤二、基于vnf的资源需求,重新分配计算资源。

其中步骤二中,计算资源分配方法包括直接分配法和增量分配法。

步骤二采用增量分配法的具体步骤包括:

步骤2.1、统计每个vnf的计算资源实际使用量,然后计算每个vnf的计算资源实际使用量和计算资源需求量之间的差值,找到差值最小的vnf;

步骤2.2、修改差值最小的vnf对应的vcpu线程的优先级,给差值最小的vnf增加计算资源供应量,消除性能瓶颈。当定位瓶颈vnf之后,适当增加它的计算资源供应量,待系统稳定之后再寻找下一个瓶颈,如此循环往复。

步骤二采用直接分配法具体为:计算各个vnf的计算资源需求的比例,将系统的总计算资源按照比例向vnf进行分配。

本发明的一种针对虚拟网络功能的自适应计算资源分配方法使用smpvm和多队列网卡。不对vmm调度器的底层逻辑进行修改,在重新分配计算资源时,往往需要为各个vnf分配不同数量的计算资源,借助vmm调度器所提供的任务优先级机制实现不均衡计算资源分配。任务的优先级越高,它所获得的计算资源就越多。通过调节底层vcpu线程的优先级,使得任务获得更多或更少的计算资源,实现为上层vnf分配不同数量的计算资源。

本发明的一种针对虚拟网络功能的自适应计算资源分配方法通过监测vnf的网络流量信息,并结合vnf的类型做离线分析,预测vnf的实时计算资源需求;再基于此实际需求为vnf重新分配计算资源,消除传统公平分配机制所带来的性能瓶颈。在重新分配计算资源时,既可以采用直接分配法,也可以采用增量分配法,通过设置任务优先级为各个vnf分配不同数量的计算资源,提升网络服务链的整体性能。

以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1