基于积分算法的云网络资源弹性调度方法及系统

文档序号:30556017发布日期:2022-06-29 02:49阅读:129来源:国知局
基于积分算法的云网络资源弹性调度方法及系统

1.本发明属于云数据中心网络技术领域,尤其涉及一种基于积分算法的虚拟化云网络资源弹性调度方法及系统。


背景技术:

2.随着信息技术的发展,工业企业信息化的趋势日益明显,众多工业企业发展已逐渐趋于智能化经营,即企业上云。企业上云是指企业通过互联网技术与云计算技术方式,连接社会性资源、共享平台及工作内容等,从而开展信息化管理基础设施建设、管理方法、业务流程等运用的全过程。随着越来越多的企业纷纷将业务上云,云服务提供商承载了越来越大的运营压力。一方面,云服务提供商的网络总流量逐渐增大;另一方面,云服务提供商出售的服务质量等级纷繁复杂。为了保障企业用户能够获得良好的服务体验,云服务提供商必须依照流量分布特征和用户预设服务质量合理地调度网络资源,否则,用户的正常性能需求将无法得到满足,还可能造成局部网络热点引发云服务器cpu过载宕机的巨大运营事故。
3.目前,主流的云服务提供商都采用虚拟大二层网络技术。云服务提供商通过虚拟化技术将物理服务器(host)虚拟化为多台虚拟逻辑服务器(vm)。出于业务管理和部署的便利性,云服务提供商需要将海量的vm纳入同一个二层广播域中。由于传统的vlan二层技术无法支持云数据中心动辄上万甚至十万级别的host数量,云服务提供商开发了vxlan、nvgre和stt等网络协议以满足跨地域、跨中心大二层要求。实现这些协议的核心组件是虚拟交换机。虚拟交换机是一种允许在vm之间进行网络通信的软件应用程序,其通常被部署于host的系统中,与虚拟机监视器(hypervisor)协同工作。由于虚拟交换机通过软件抽象层与多个vm的虚拟网卡联通,是vm对外进行网络通信的直接交互组件,对vm集群的整体网络性能有举足轻重的影响,因此虚拟交换机的弹性资源保障机制是实现服务质量和性能隔离的重要技术之一。
4.弹性资源保障机制即为动态且合理地调度虚拟交换机在处理每一台vm网络报文所消耗的计算资源。目前,虚拟交换机面临着以下几个挑战:首先,由于在同一台host中部署的vm往往有着不同的服务规格指标,需要虚拟交换机对各个vm进行位速率(bps)及包速率(pps)等多个维度的限速;其次,虚拟交换机需要保证隔离性,即当其中一台vm产生异常流量时,同一host上的其他vm的网络服务质量不受影响;最后,虚拟交换机需要尽可能地提高host计算资源的整体利用率,避免空闲资源无法得到有效利用。
5.目前业界内已有多种关于弹性资源保障的算法与技术。例如基于fair sharing模型的faircloud和netshare;基于hose模型的elasticswitch和silo等等。此外,google也提出了基于vm对应的sla分配虚拟交换机cpu周期的picnic方案。尽管上述方案在不同程度上改善了资源争用和服务质量,但目前这些方法仍然缺乏细粒度的调度手段。一个核心的问题是,如何在闲时低负载和忙时高负载两种不同工况下动态无缝地切换。


技术实现要素:

6.鉴于上述,本发明的目的是提供一种基于积分算法的云网络资源弹性调度方法及系统,以保证多个vm网络趋于合理水平的资源利用。
7.为实现上述发明目的,实施例提供的一种基于积分算法的云网络资源弹性调度系统,包括虚拟交换机模块、数据采集模块、积分计算模块以及资源调度模块;
8.所述虚拟交换机模块作为承载vm网络功能的核心模块,用于根据cpu周期占比为vm提供网络服务;
9.所述数据采集模块用于从虚拟交换机模块中收集每个工作时间片内,各vm所消耗的虚拟交换机的实际cpu时钟周期数及周期占比,并传输至积分计算模块;
10.所述积分计算模块用于根据输入的实际cpu时钟周期数及周期占比更新每个vm的积分值,并将更新的积分值传输至资源调度模块;
11.所述资源调度模块用于根据输入的积分值动态限制下一工作时间片内每个vm所消耗的虚拟交换机cpu周期数和周期占比,实现资源分配。
12.在一个实施例中,所述虚拟交换机模块包括虚拟网卡接口模块、netframe转发模块;
13.所述虚拟网卡接口模块用于提供与vm进行网络数据通信的接口;
14.所述netframe转发模块是基于dpdk的用户态网络协议栈组件,作为数据转发的核心模块,用于实现了两层mac地址转发,即以netfilter hook的方式提供给虚拟网卡接口模块使用。
15.在一个实施例中,所述数据采集模块从netframe转发模块中收集每个工作时间片内,各vm所消耗的虚拟交换机cpu时钟周期数及占总周期数的比例。
16.在一个实施例的所述积分计算模块中,更新每个vm的积分值的过程包括:
17.为每个vm预设积分参数base、max和min,其中,base为基础消耗cpu周期占比,max和min分别为最大和最小消耗cpu周期占比;
18.针对每个vm,比较消耗的cpu周期占比是否小于base值,在cpu周期占比小于base值时,积分增加x1;在cpu周期占比大于base值时,积分减少x2,以得到积分更新结果,其中,x1和x2为预设的增加比例和减少比例,其中,x1小于x2,表示积分的积累速度要慢于积分的消耗速度。
19.在一个实施例的所述积分计算模块中,当积分值为0时,不进行积分的更新,保持积分值为0。
20.在一个实施例的所述资源调度模块中,若输入的积分值为0,则将下一秒内vm所消耗的最大cpu周期占比设为base;若积分值大于0,则将下一秒内vm所消耗的最大cpu占比设为max;同时,必须保证下一秒内vm所消耗的最小cpu周期占比为min。
21.在一个实施例中,所述资源调度模块根据输入的积分值动态控制的每个vm所消耗的虚拟交换机cpu周期占比传入至所述虚拟交换机模块;
22.所述虚拟交换机模块根据接收的cpu周期占比为vm提供相应规格的网络服务。
23.在一个实施例的所述积分计算模块中,为每个vm预设的初始积分值根据用户的服务指标指定,取值为100~500。
24.为实现上述发明目的,实施例提供的基于积分算法的云网络资源弹性调度方法,
所述方法采用上述云网络资源弹性调度系统,所述调度方法包括以下步骤:
25.步骤1,利用虚拟交换机模块为每个vm根据cpu周期占比提供网络服务;
26.步骤2,利用数据采集模块从虚拟交换机模块中收集每个工作时间片内,各vm所消耗的虚拟交换机的实际cpu时钟周期数及周期占比,并传输至积分计算模块;
27.步骤3,利用积分计算模块输入的实际cpu时钟周期数及周期占比更新每个vm的积分值,并将更新的积分值传输至资源调度模块;
28.步骤4,利用资源调度模块根据输入的积分值动态计算下一工作时间片内每个vm所消耗的虚拟交换机cpu周期数和周期占比,并传输至虚拟交换机模块。
29.与现有技术相比,本发明具有的有益效果至少包括:
30.通过积分算法实现了vm消耗cpu周期占比与vm规格绑定,避免并发多种指标压力造成host资源争抢,有效地提高了host资源的整体利用率;
31.通过积分算法对每个vm消耗cpu周期占比的动态调节,实现了统一维度的网络突发传输能力,并能够在此情景下实现较好的性能隔离。
附图说明
32.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动前提下,还可以根据这些附图获得其他附图。
33.图1是实施例提供的基于积分算法的云网络资源弹性调度系统的结构示意图;
34.图2是实施例提供的积分更新过程和基于积分更新值的cpu周期占比调控过程示意图;
35.图3是实施例提供的云网络资源弹性调度系统模式工况切换示意图。
具体实施方式
36.为使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例对本发明进行进一步的详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不限定本发明的保护范围。
37.通过对云数据中心网络流量模式的观察,基于“闲时超卖,忙时低保”的调度指导思想,实施例提供了一种基于积分算法的云网络资源弹性调度系统和方法,通过引入积分计算的机制,构建vm带宽使用与虚拟交换机cpu消耗的对应积分,合理分配下一阶段的虚拟交换机网络资源,保障整个数据中心上的云网络负载趋于合理水平。
38.图1是实施例提供的基于积分算法的云网络资源弹性调度系统的结构示意图。如图1所示,实施例提供的基于积分算法的云网络资源弹性调度系统,包括虚拟交换机模块、数据采集模块、积分计算模块以及资源调度模块,通过这些模块的协同作用动态分配物理服务器(host)上虚拟逻辑服务器(vm)的带宽资源。
39.其中,虚拟交换机模块作为承载vm网络功能的核心模块,用于根据cpu周期占比为host上的vm提供相应规格的网络服务。具体地,虚拟交换机模块包括虚拟网卡接口模块和netframe转发模块,虚拟网卡接口模块用于提供与vm进行网络数据通信的接口;netframe
转发模块是基于dpdk的用户态网络协议栈组件,作为数据转发的核心模块,用于实现了两层mac地址转发,即以netfilter hook的方式提供给虚拟网卡接口模块使用。该虚拟网卡接口模块和netframe转发模块均属于软件架构。
40.数据采集模块用于从虚拟交换机模块包括的netframe转发模块中收集每个工作时间片内,各vm所消耗的虚拟交换机的实际cpu时钟周期数及周期占比,并传输至积分计算模块。其中,工作时间片是指一段工作时间,可以为1秒。
41.积分计算模块用于根据输入的实际cpu时钟周期数及周期占比更新每个vm的积分值,并将更新的积分值传输至资源调度模块。具体地,更新每个vm的积分值的过程包括:
42.为每个vm预设积分参数base、max和min,其中,base是默认服务质量下,vm消耗虚拟交换机cpu的基础周期比例,例如,可以将base定为0.1,此时的base积分对应1gbps;max是vm在突发传输时,vm消耗虚拟交换机cpu的最大周期比例,例如,可以将max定为0.3,此时的max积分对应3gbps,其代表了vm在积分可用的情况下网络性能上限;min是vm在高负载或积分耗尽的情况下所能消耗的虚拟交换机cpu的最小周期比例,例如,可以将min定为0.02,对应200mbps,其代表了vm的最低服务质量。需要注意的是,base的具体数值与具体物理服务器的硬件规格相关,需要进行基准测试后标定。
43.积分计算模块同时维护所服务的每个vm积分,积分初始值定为init,init依据用户的服务指标制定,一般为100~500。如图2所示,针对每个vm,比较消耗的cpu周期占比是否小于base值,在cpu周期占比小于base值时,积分增加x1;在cpu周期占比大于base值时,积分减少x2,以得到积分更新结果,其中,x1和x2为预设的增加比例和减少比例,其中,x1小于x2,x1的值一般定为0.1,x2的值定为1.0,表示积分的积累速度要慢于积分的消耗速度。
44.还需要特殊说明的是,积分计算模块中,每个工作时间片获得积分的量当原积分值为0时,不做处理,保持为0。
45.资源调度模块用于根据输入的积分值动态限制下一工作时间片内每个vm所消耗的虚拟交换机cpu周期数和周期占比,如图2所示,具体过程包括:若输入的积分值为0,则将下一秒内vm所消耗的最大cpu周期占比设为base;若积分值大于0,则将下一秒内vm所消耗的最大cpu占比设为max;同时,必须保证下一秒内vm所消耗的最小cpu周期占比为min。动态控制的下一工作时间片内每个vm所消耗的虚拟交换机cpu周期数和周期占比传入至虚拟交换机模块,虚拟交换机模块根据接收的cpu周期占比为vm提供相应规格的网络服务。
46.实施例还提供了一种采用上述云网络资源弹性调度系统的云网络资源弹性调度方法,包括以下步骤:
47.步骤1,利用虚拟交换机模块为每个vm根据cpu周期占比提供网络服务。
48.实施例中,各个模块在程序加载后,完成参数初始化,将各vm所对应的积分设定为初始值;开始执行程序进程,为vm提供网络服务。
49.步骤2,利用数据采集模块从虚拟交换机模块中收集每个工作时间片内,各vm所消耗的虚拟交换机的实际cpu时钟周期数及周期占比,并传输至积分计算模块。
50.实施例中,在一个工作时间片(一秒)结束时,向netframe转发模块发出查询请求;netframe转发模块统计上一秒内各个vm所消耗的cpu周期数,并统计过去一秒内的总cpu周期数(包含空闲cpu周期),将结果返回到数据采集模块。
51.步骤3,利用积分计算模块输入的实际cpu时钟周期数及周期占比更新每个vm的积
分值,并将更新的积分值传输至资源调度模块。
52.实施例中,为每个vm预设积分参数base、max和min,针对每个vm,比较消耗的cpu周期占比是否小于base值,在cpu周期占比小于base值时,积分增加x1;在cpu周期占比大于base值时,积分减少x2,以得到积分更新结果,其中,x1和x2为预设的增加比例和减少比例,其中,x1小于x2,表示积分的积累速度要慢于积分的消耗速度。
53.步骤4,利用资源调度模块根据输入的积分值动态计算下一工作时间片内每个vm所消耗的虚拟交换机cpu周期数和周期占比,并传输至虚拟交换机模块。
54.实施例中,接收各个vm所对应的积分,若输入的积分值为0,则将下一秒内vm所消耗的最大cpu周期占比设为base;若积分值大于0,则将下一秒内vm所消耗的最大cpu占比设为max;同时,必须保证下一秒内vm所消耗的最小cpu周期占比为min。
55.如图3所示,基于积分算法的云网络资源弹性调度方法及系统设计类调度情景:完全轻负载、部分高负载、完全高负载。
56.(一)完全轻负载
57.该工况对应图3的状态1。在此工况下,所有vm的实际网络开销均为达到base值,即各台vm的网络速率均维持在预设值左右,维持一段时间后,各个vm均累积了一定数量的积分,vm可以获得超过其base所限定的网络资源(但不超过max)。此时,整个系统会容忍适度的突发传输和高速流,用以提升系统的整体资源利用率。
58.(二)部分高负载
59.该工况对应图3的状态2。在此工况下,部分vm的实际网络开销达到了base值,而另一部分的vm在进行突发传输或高速流,所有vm的总网络容量小于或接近host的总容量。对于正在进行突发传输的、实际网络开销大于base的vm,会消耗先前累积的积分,因此在一定时间内,它的网络速率将会被虚拟交换机限制到base值附近,实现了限速压制功能。同时,由于积分对应着虚拟交换机的计算资源(cpu周期数),所有的vm都能获得与积分成比例的网络资源,故而vm仍能够维持性能隔离。
60.(三)完全高负载
61.该工况对应图3的状态3。在此工况下,所有vm的总网络容量高于host的总容量,因此必然出现vm之间的网络资源竞争。此时,积分算法不再适用,虚拟交换机会自动按照每台vm所对应的min值进行网络资源的调配,以保证vm网络服务的可用性。若一段时间后网络热点消失,则系统自动回退到上述两种工况;若一段时间后系统仍存在网络热点,则会主动地讲host上的部分vm迁移到其他host上,以避免cpu过热导致网络故障。
62.以上所述的具体实施方式对本发明的技术方案和有益效果进行了详细说明,应理解的是以上所述仅为本发明的最优选实施例,并不用于限制本发明,凡在本发明的原则范围内所做的任何修改、补充和等同替换等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1