CN106301930A - 一种满足通用带宽请求的云计算虚拟机部署方法及系统 - Google Patents

一种满足通用带宽请求的云计算虚拟机部署方法及系统 Download PDF

Info

Publication number
CN106301930A
CN106301930A CN201610703582.9A CN201610703582A CN106301930A CN 106301930 A CN106301930 A CN 106301930A CN 201610703582 A CN201610703582 A CN 201610703582A CN 106301930 A CN106301930 A CN 106301930A
Authority
CN
China
Prior art keywords
virtual machine
subtree
target
virtual
bandwidth
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201610703582.9A
Other languages
English (en)
Inventor
李丹
王方鑫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tsinghua University
Original Assignee
Tsinghua University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tsinghua University filed Critical Tsinghua University
Priority to CN201610703582.9A priority Critical patent/CN106301930A/zh
Publication of CN106301930A publication Critical patent/CN106301930A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/465Distributed object oriented systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Abstract

本发明公开了满足通用带宽请求的云计算虚拟机部署方法及系统,方法包括:S1:选定一棵子树作为目标子树。S2:计算目标子树的剩余虚拟机槽资源,判断虚拟机通信图中的虚拟机个数是否超过了目标子树剩余虚拟机槽个数;若为是,选择下一棵子树作为目标子树;若为否,执行S3。S3:将虚拟机分配到目标子树的剩余虚拟机槽中。S4:判断虚拟机是否分配成功;若为是,则返回成功;若为否,执行S5。S5:判断目标子树所在层是否还有其它子树;若为是,则选择一棵子树的下一棵子树作为目标子树,并执行S2;若为否,则返回失败。本发明中的方法将VM集中放置,精确的描述多样的带宽模型,满足通用的带宽请求,减少上层链路带宽消耗,接受更多的用户请求。

Description

一种满足通用带宽请求的云计算虚拟机部署方法及系统
技术领域
本发明属于网络技术领域,具体涉及满足通用带宽请求的云计算虚拟机部署方法及系统。
背景技术
企业通常将自己的应用部署在云数据中心中,这样不仅可以降低成本,同时便于管理。而在多租户数据中心中为租户的应用提供可靠的带宽保障是非常重要的,因为不当的自由竞争会让租户应用的表现变得不可预测,从而可能损害租户的利益。根据不同的应用,租户通常会请求一定数量的虚拟机和一定量的网络带宽资源,而对于数据中心的管理者来说,一个最基本的问题就是如何对数据中心中的资源进行分配。
设计一套良好带宽保障的数据中心虚拟机部署方案需要能够准确的描述用户的带宽请求,并且高效的将用户的虚拟网络部署到实际物理网络中去。然而目前的大部分研究方案依然存在很多问题,譬如多数模型只是针对某一类流量类型的应用制定了虚拟机部署方案,而对于用户自定义的多样化的带宽请求的虚拟机部署没有很好的支持,无法满足通用的带宽请求。因此这些方案都会不可避免的浪费数据中心的带宽资源,难以容纳更多的租户请求。
发明内容
本发明基于以上现有技术的不足,提出一种满足通用带宽请求的云计算虚拟机部署方法及系统,克服了现有虚拟机部署方案无法支持多样化宽带请求的缺陷,避免了数据中心带宽资源的浪费。
为了实现上述目的,本发明技术方案如下:
一种满足通用带宽请求的云计算虚拟机部署方法,包括步骤:
S1:选定目标层中的一棵子树作为目标子树T。
S2:计算目标子树T中的剩余虚拟机槽资源,判断虚拟机通信图中的虚拟机个数是否超过了目标子树T剩余虚拟机槽个数;若为是,则选择该层的下一棵子树作为目标子树T,并重复S2;若为否,则执行S3。
S3:从目标子树T的最底层开始自顶向下将虚拟机通信图中的虚拟机递归分配到目标子树T的剩余虚拟机槽中。
S4:判断虚拟机是否分配成功;若为是,则返回成功,并得到分配的结果值;若为否,则执行S5。
S5:判断目标子树T所在层是否还有其它的子树;若为是,则选择其中的一棵子树的下一棵子树作为目标子树T,并执行S2;若为否,则返回失败。
进一步地,S3包含步骤:
S31:判断目标子树T的当前子树所在层是否为最底层;若为是,则将虚拟机通信图中的虚拟机部署到当前子树上,并执行S37;若为否,则执行S32。
S32:将目标子树T的所有子树按照可用资源的多少进行降序排列。
S33:选择目标子树T的一个子树t;确定待分配的虚拟机数量和子树t中剩余的虚拟机槽数量的较小值。
S34:从待选虚拟机集合中选择出x个待分配的虚拟机。
S35:计算子树t需要预留的出口带宽,然后递归地进入子树t的虚拟机分配;
S36:判断对子树t的虚拟机分配是否成功;若为是,则预留带宽,并且执行子树内的虚拟机部署,执行S37;若为否,则将x自减1,返回到S34。
S37:判断虚拟机是否全部部署完成;若为是,则返回部署结果,完成部署;若为否,则执行S38。
S38:判断目标子树T是否还存在其它子树;若为是,则选择其它的子树,并返回到S33;若为否,则清除已分配的资源,返回分配结果。
进一步地,S34包含步骤:
S341:从接收到的虚拟机通信图请求中挑选出一个具有最大化聚合带宽的虚拟机,将其放入一个空集S中。
S342:判断空集S中的虚拟机个数是否已经达到x;若为是,则执行S344,若为否,则执行S343。
S343:判断空集S中的虚拟机个数是否小于虚拟机通信图中虚拟机数量的一半;若为是,则从待选虚拟机集合中挑选一个虚拟机,使得其跟剩余虚拟机的带宽需求最小;若为否,则从待选虚拟机集合中挑选一个虚拟机,使得其跟剩余虚拟机的带宽需求最大,将此虚拟机加入空集S,并且返回到S342。
S344:返回选出的虚拟机集合S。
进一步地,S35中采用最大流最小割算法计算子树t需要预留的出口带宽。
进一步地,虚拟机通信图是由若干个虚拟机和VS构成的拓扑结构。
一种满足通用带宽请求的云计算虚拟机部署系统,包括:
目标子树选定模块,用于选定目标层中的一棵子树作为目标子树T。
虚拟机槽资源计算模块,用于计算目标子树T中的剩余虚拟机槽资源,并判断虚拟机通信图中的虚拟机个数是否超过了目标子树T剩余虚拟机槽个数;若为是,则选择该层的下一棵子树作为目标子树T,并重新计算并判断目标子树T中的剩余虚拟机槽资源;若为否,则触发虚拟机分配模块。
虚拟机分配模块,用于从目标子树T的最底层开始自顶向下将虚拟机通信图中的虚拟机递归分配到目标子树T的剩余虚拟机槽中。
虚拟机分配检测模块,用于判断虚拟机是否分配成功;如果为是,则返回成功,并得到分配的结果值;如果为否,则触发目标子树重选模块。
目标子树重选模块,用于判断目标子树T所在层是否还有其它的子树;若为是,则选择其中的一棵子树的下一棵子树作为目标子树T,并触发虚拟机槽资源计算模块;若为否,则返回失败。
进一步地,虚拟机分配模块包含:
物理机判单元,用于判断目标子树T的当前子树所在层是否为最底层;若为是,则将虚拟机通信图中的虚拟机部署到当前子树上,并触发虚拟机部署检测单元;若为否,则触发子树排列单元。
子树排列单元,用于将目标子树T的所有子树按照可用资源的多少进行降序排列。
子树选定单元,用于选择目标子树T的一个子树t;确定待分配的虚拟机数量和子树t中剩余的虚拟机槽数量的较小值。
虚拟机选择单元,用于从待选虚拟机集合中选择出x个待分配的虚拟机。
虚拟机分配单元,用于计算子树t需要预留的出口带宽,然后递归地进入子树t的虚拟机分配。
虚拟机分配检测单元,用于判断对子树t的虚拟机分配是否成功;若为是,则预留带宽,并且执行子树内的虚拟机部署;若为否,则将x自减1,并触发虚拟机选择单元。
虚拟机部署检测单元,用于判断虚拟机是否全部分配完成;若为是,则返回分配结果,完成部署;若为否,则触发子树重选单元。
子树重选单元,用于判断目标子树T是否还存在其它子树;若为是,则选择其它的子树,并触发子树选定单元;若为否,则清除已分配的资源,返回分配结果。
进一步地,虚拟机选择单元包含:
最大聚合带宽虚拟机选择部,用于从接收到的虚拟机通信图请求中挑选出一个具有最大化聚合带宽的虚拟机,将其放入一个空集S中。
虚拟机数量一次比较部,用于判断空集S中的虚拟机个数是否已经达到x;若为是,则执行S344,若为否,则执行S343。
虚拟机数量二次比较部,用于判断空集S中的虚拟机个数是否小于虚拟机通信图中虚拟机数量的一半;若为是,则从待选虚拟机集合中挑选一个虚拟机,使得其跟剩余虚拟机的带宽需求最小;若为否,则从待选虚拟机集合中挑选一个虚拟机,使得其跟剩余虚拟机的带宽需求最大,将此虚拟机加入空集S,并且返回到S342。
虚拟机集合返回部,用于返回选出的虚拟机集合S。
进一步地,虚拟机分配单元采用最大流最小割算法计算子树t需要预留的出口带宽。
进一步地,虚拟机通信图是由若干个虚拟机和VS构成的拓扑结构。
本发明的有益效果在于:
本发明中的方法或系统尽可能的将VM集中放置,能够更加精确的描述多样的带宽模型,并且满足通用的带宽请求,减少上层链路带宽消耗,从而接受更多的租户请求。
附图说明
图1是本发明中虚拟机通信图模型。
图2是本发明中的方法流程示意图。
图3是图2中步骤3的流程示意图。
具体实施方式
下面结合附图,对实施例作详细说明。
本发明提出一种新型的带宽保障模型VCG(VM Communication Graph,虚拟机通信图)模型,它是一种针对通用带宽请求的网络带宽抽象模型,用户可以使用VCG来描述他们的网络应用的带宽需求。VCG由虚拟机、虚拟交换机以及它们之间的带宽需求共同构成的流量模型图,可以用来描述用户任意的虚拟机通信请求。具体地,VCG可以被抽象成一个有向图G=(V,E),其中点集合V由两部分构成,一部分是虚拟机(VM),另一部分是虚拟交换机(VS),V=vs+vm。边集合E包含四种不同类型的有向边,VM到VM的边集合Emm,VM到VS的边集合Ems,VS到VM的边集合Esm,以及VS到VS的边集合Ess。每条有向边上的权重v(·)代表着有向的带宽需求。在VCG中Vvm代表用户实际请求的用来执行他们的任务的虚拟机,而Vvs只是用来构建一个完整的虚拟网络,它并不参与实际的数据中心部署,也不提供实际的功能。VS在虚拟网络中作为一个桥梁,可以表达用户不同的带宽请求。
如图1,展示了一个简单的VCG的实例图。用户请求的VCG中包6个VM和2个VS。通过这样一个简单VCG模型,用户实际上表达了很复杂的网络需求。两个VM之间直连可以表达点对点的带宽需求,对应隧道或者一个pipe(如e1)。VM和VS之间的连接可以表达hose情况,即一对多的情况下只约束聚合带宽而不约束每一个虚拟机对之间带宽(如e2)。同理VS和VS之间的连接可以表达两个VM集群之间的带宽需求,而不对集群内部虚拟机之间带宽需求做限定(如e3)。VCG通过引入虚拟交换机的概念,使得用户能够准确并且有效的描述自己应用程序实际的带宽需求模式。
对于用户请求的实际部署,就是把VCG模型放置到数据中心中的过程。我们的部署算法首先自底向上预测可能容纳下VCG的子树,然后对于该子树采用自顶向下搜索的方式,逐步将VM最终部署到物理服务器上去。由于数据中心越靠上层带宽资源越稀缺,本发明的算法尽可能将租户请求的VM部署到临近的子树中去,以此减少上层链路带宽的损耗。
首先,用户根据自己的带宽需求建立VCG:用户根据自己的需求,确定自己需要多少虚拟机来进行计算(假设每个虚拟机具有固定的计算和存储资源),然后确定自己的虚拟机之间的数据传输模式。然后按照VCG模型,租户将自己的虚拟机连接成一个虚拟网络图,并提交给数据中心的管理者。
实施例1:
如图2所示,基于用户提出的VCG请求,本发明设计了一种满足通用带宽请求的云计算虚拟机部署方法,数据中心拓扑为树型结构。该方法包括以下步骤:
S1:选定目标层中的一棵子树作为目标子树T。
S2:计算目标子树T中的剩余虚拟机槽资源,判断虚拟机通信图中的虚拟机个数是否超过了目标子树T剩余虚拟机槽个数;若为是,则选择该层的下一棵子树作为目标子树T,并重复S2;若为否,则执行S3。
S3:从目标子树T的最底层开始自顶向下将虚拟机通信图中的虚拟机递归分配到目标子树T的剩余虚拟机槽中。
S4:判断虚拟机是否分配成功;如果为是,则返回成功,并得到分配的结果值;如果为否,则执行S5。
S5:判断目标子树T所在层是否还有其它的子树;若为是,则选择其中的一棵子树的下一棵子树作为目标子树T,并执行S2;若为否,则返回失败。
具体地,如图3所示,所述S3包含以下步骤:
S31:判断目标子树T的当前子树所在层是否为最底层;若为是,则将虚拟机通信图中的虚拟机部署到当前子树上,并执行S37;若为否,则执行S32。
S32:将目标子树T的所有子树按照可用资源的多少进行降序排列。
S33:选择目标子树T的一个子树t;确定待分配的虚拟机数量和子树t中剩余的虚拟机槽数量的较小值。
S34:从待选虚拟机集合中选择出x个待分配的虚拟机。
S35:采用最大流最小割算法计算子树t需要预留的出口带宽,然后递归地进入子树t的虚拟机分配。
S36:判断对子树t的虚拟机分配是否成功;若为是,则预留带宽,并且执行子树内的虚拟机部署,执行S37;若为否,则将x自减1,返回到S34。
S37:判断虚拟机是否全部部署完成;若为是,则返回部署结果,完成部署;若为否,则执行S38。
S38:判断目标子树T是否还存在其它子树;若为是,则选择其它的子树,并返回到S33;若为否,则清除已分配的资源,返回分配结果。
更具体地,所述S34包含步骤:
S341:从接收到的虚拟机通信图请求中挑选出一个具有最大化聚合带宽的虚拟机,将其放入一个空集S中。
S342:判断空集S中的虚拟机个数是否已经达到x;若为是,则执行S344,若为否,则执行S343。
S343:判断空集S中的虚拟机个数是否小于虚拟机通信图中虚拟机数量的一半;若为是,则从待选虚拟机集合中挑选一个虚拟机,使得其跟剩余虚拟机的带宽需求最小;若为否,则从待选虚拟机集合中挑选一个虚拟机,使得其跟剩余虚拟机的带宽需求最大,将此虚拟机加入空集S,并且返回到S342。
S344:返回选出的虚拟机集合S。
实施例2:
基于用户提出的VCG请求,本发明设计了一种满足通用带宽请求的云计算虚拟机部署系统,数据中心拓扑为树型结构。该系统包括:
目标子树选定模块,用于选定目标层中的一棵子树作为目标子树T。
虚拟机槽资源计算模块,用于计算目标子树T中的剩余虚拟机槽资源,并判断虚拟机通信图中的虚拟机个数是否超过了目标子树T剩余虚拟机槽个数;若为是,则选择该层的下一棵子树作为目标子树T,并重新计算并判断目标子树T中的剩余虚拟机槽资源;若为否,则触发虚拟机分配模块。
虚拟机分配模块,用于从目标子树T的最底层开始自顶向下将虚拟机通信图中的虚拟机递归分配到目标子树T的剩余虚拟机槽中。
虚拟机分配检测模块,用于判断虚拟机是否分配成功;如果为是,则返回成功,并得到分配的结果值;如果为否,则触发目标子树重选模块。
目标子树重选模块,用于判断目标子树T所在层是否还有其它的子树;若为是,则选择其中的一棵子树的下一棵子树作为目标子树T,并触发虚拟机槽资源计算模块;若为否,则返回失败。
具体地,虚拟机分配模块包含:
物理机判单元,用于判断目标子树T的当前子树所在层是否为最底层;若为是,则将虚拟机通信图中的虚拟机部署到当前子树上,并触发虚拟机部署检测单元;若为否,则触发子树排列单元。
子树排列单元,用于将目标子树T的所有子树按照可用资源的多少进行降序排列。
子树选定单元,用于选择目标子树T的一个子树t;确定待分配的虚拟机数量和子树t中剩余的虚拟机槽数量的较小值。
虚拟机选择单元,用于从待选虚拟机集合中选择出x个待分配的虚拟机。
虚拟机分配单元,用于采用最大流最小割算法计算子树t需要预留的出口带宽,然后递归地进入子树t的虚拟机分配。
虚拟机分配检测单元,用于判断对子树t的虚拟机分配是否成功;若为是,则预留带宽,并且执行子树内的虚拟机部署;若为否,则将x自减1,并触发虚拟机选择单元。
虚拟机部署检测单元,用于判断虚拟机是否全部分配完成;若为是,则返回分配结果,完成部署;若为否,则触发子树重选单元。
子树重选单元,用于判断目标子树T是否还存在其它子树;若为是,则选择其它的子树,并触发子树选定单元;若为否,则清除已分配的资源,返回分配结果。
更具体地,虚拟机选择单元包含:
最大聚合带宽虚拟机选择部,用于从接收到的虚拟机通信图请求中挑选出一个具有最大化聚合带宽的虚拟机,将其放入一个空集S中。
虚拟机数量一次比较部,用于判断空集S中的虚拟机个数是否已经达到x;若为是,则执行S344,若为否,则执行S343。
虚拟机数量二次比较部,用于判断空集S中的虚拟机个数是否小于虚拟机通信图中虚拟机数量的一半;若为是,则从待选虚拟机集合中挑选一个虚拟机,使得其跟剩余虚拟机的带宽需求最小;若为否,则从待选虚拟机集合中挑选一个虚拟机,使得其跟剩余虚拟机的带宽需求最大,将此虚拟机加入空集S,并且返回到S342。
虚拟机集合返回部,用于返回选出的虚拟机集合S。
VCG模型可以充分的描述网络应用的带宽需求,具有通用性。网络带宽需求可以分为三大类:点到点的,点到多点的以及多点到多点的,而且每一类都可以是异构的。VCG模型可以完全支持这三种类型,用户通过VCG模型可以构建自己虚拟网络拓扑图。本发明中的方法或系统尽可能的将VM自顶向下的集中放置,相对于现有的国际最新提出的hose模型、TAG模型,能够更加精确的描述多样的带宽模型,并且满足通用的带宽请求,减少上层链路带宽消耗,从而接受更多的租户请求。
此实施例仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (10)

1.一种满足通用带宽请求的云计算虚拟机部署方法,其特征在于,包括步骤:
S1:选定目标层中的一棵子树作为目标子树T;
S2:计算目标子树T中的剩余虚拟机槽资源,判断虚拟机通信图中的虚拟机个数是否超过了目标子树T剩余虚拟机槽个数;若为是,则选择该层的下一棵子树作为目标子树T,并重复S2;若为否,则执行S3;
S3:从目标子树T的最底层开始自顶向下将虚拟机通信图中的虚拟机递归分配到目标子树T的剩余虚拟机槽中;
S4:判断虚拟机是否分配成功;若为是,则返回成功,并得到分配的结果值;若为否,则执行S5;
S5:判断目标子树T所在层是否还有其它的子树;若为是,则选择其中的一棵子树的下一棵子树作为目标子树T,并执行S2;若为否,则返回失败。
2.根据权利要求1所述满足通用带宽请求的云计算虚拟机部署方法,其特征在于:
所述S3包含步骤:
S31:判断目标子树T的当前子树所在层是否为最底层;若为是,则将虚拟机通信图中的虚拟机部署到当前子树上,并执行S37;若为否,则执行S32;
S32:将目标子树T的所有子树按照可用资源的多少进行降序排列;
S33:选择目标子树T的一个子树t;确定待分配的虚拟机数量和子树t中剩余的虚拟机槽数量的较小值;
S34:从待选虚拟机集合中选择出x个待分配的虚拟机;
S35:计算子树t需要预留的出口带宽,然后递归地进入子树t的虚拟机分配;
S36:判断对子树t的虚拟机分配是否成功;若为是,则预留带宽,并且执行子树内的虚拟机部署,执行S37;若为否,则将x自减1,返回到S34;
S37:判断虚拟机是否全部部署完成;若为是,则返回部署结果,完成部署;若为否,则执行S38;
S38:判断目标子树T是否还存在其它子树;若为是,则选择其它的子树,并返回到S33;若为否,则清除已分配的资源,返回分配结果。
3.根据权利要求2所述满足通用带宽请求的云计算虚拟机部署方法,其特征在于:
所述S34包含步骤:
S341:从接收到的虚拟机通信图请求中挑选出一个具有最大化聚合带宽的虚拟机,将其放入一个空集S中;
S342:判断空集S中的虚拟机个数是否已经达到x;若为是,则执行S344,若为否,则执行S343;
S343:判断空集S中的虚拟机个数是否小于虚拟机通信图中虚拟机数量的一半;若为是,则从待选虚拟机集合中挑选一个虚拟机,使得其跟剩余虚拟机的带宽需求最小;若为否,则从待选虚拟机集合中挑选一个虚拟机,使得其跟剩余虚拟机的带宽需求最大,将此虚拟机加入空集S,并且返回到S342;
S344:返回选出的虚拟机集合S。
4.根据权利要求2所述满足通用带宽请求的云计算虚拟机部署方法,其特征在于:
所述S35中采用最大流最小割算法计算子树t需要预留的出口带宽。
5.根据权利要求1所述满足通用带宽请求的云计算虚拟机部署方法,其特征在于:
所述虚拟机通信图是由若干个虚拟机和VS构成的拓扑结构。
6.一种满足通用带宽请求的云计算虚拟机部署系统,其特征在于,包括:
目标子树选定模块,用于选定目标层中的一棵子树作为目标子树T;
虚拟机槽资源计算模块,用于计算目标子树T中的剩余虚拟机槽资源,并判断虚拟机通信图中的虚拟机个数是否超过了目标子树T剩余虚拟机槽个数;若为是,则选择该层的下一棵子树作为目标子树T,并重新计算并判断目标子树T中的剩余虚拟机槽资源;若为否,则触发虚拟机分配模块;
虚拟机分配模块,用于从目标子树T的最底层开始自顶向下将虚拟机通信图中的虚拟机递归分配到目标子树T的剩余虚拟机槽中;
虚拟机分配检测模块,用于判断虚拟机是否分配成功;如果为是,则返回成功,并得到分配的结果值;如果为否,则触发目标子树重选模块;
目标子树重选模块,用于判断目标子树T所在层是否还有其它的子树;若为是,则选择其中的一棵子树的下一棵子树作为目标子树T,并触发虚拟机槽资源计算模块;若为否,则返回失败。
7.根据权利要求6所述满足通用带宽请求的云计算虚拟机部署系统,其特征在于:
所述虚拟机分配模块包含:
物理机判单元,用于判断目标子树T的当前子树所在层是否为最底层;若为是,则将虚拟机通信图中的虚拟机部署到当前子树上,并触发虚拟机部署检测单元;若为否,则触发子树排列单元;
子树排列单元,用于将目标子树T的所有子树按照可用资源的多少进行降序排列;
子树选定单元,用于选择目标子树T的一个子树t;确定待分配的虚拟机数量和子树t中剩余的虚拟机槽数量的较小值;
虚拟机选择单元,用于从待选虚拟机集合中选择出x个待分配的虚拟机;
虚拟机分配单元,用于计算子树t需要预留的出口带宽,然后递归地进入子树t的虚拟机分配;
虚拟机分配检测单元,用于判断对子树t的虚拟机分配是否成功;若为是,则预留带宽,并且执行子树内的虚拟机部署;若为否,则将x自减1,并触发虚拟机选择单元;
虚拟机部署检测单元,用于判断虚拟机是否全部分配完成;若为是,则返回分配结果,完成部署;若为否,则触发子树重选单元;
子树重选单元,用于判断目标子树T是否还存在其它子树;若为是,则选择其它的子树,并触发子树选定单元;若为否,则清除已分配的资源,返回分配结果。
8.根据权利要求7所述满足通用带宽请求的云计算虚拟机部署系统,其特征在于:
所述虚拟机选择单元包含:
最大聚合带宽虚拟机选择部,用于从接收到的虚拟机通信图请求中挑选出一个具有最大化聚合带宽的虚拟机,将其放入一个空集S中;
虚拟机数量一次比较部,用于判断空集S中的虚拟机个数是否已经达到x;若为是,则执行S344,若为否,则执行S343;
虚拟机数量二次比较部,用于判断空集S中的虚拟机个数是否小于虚拟机通信图中虚拟机数量的一半;若为是,则从待选虚拟机集合中挑选一个虚拟机,使得其跟剩余虚拟机的带宽需求最小;若为否,则从待选虚拟机集合中挑选一个虚拟机,使得其跟剩余虚拟机的带宽需求最大,将此虚拟机加入空集S,并且返回到S342;
虚拟机集合返回部,用于返回选出的虚拟机集合S。
9.根据权利要求7所述满足通用带宽请求的云计算虚拟机部署系统,其特征在于:
所述虚拟机分配单元采用最大流最小割算法计算子树t需要预留的出口带宽。
10.根据权利要求6所述满足通用带宽请求的云计算虚拟机部署系统,其特征在于:
所述虚拟机通信图是由若干个虚拟机和VS构成的拓扑结构。
CN201610703582.9A 2016-08-22 2016-08-22 一种满足通用带宽请求的云计算虚拟机部署方法及系统 Pending CN106301930A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610703582.9A CN106301930A (zh) 2016-08-22 2016-08-22 一种满足通用带宽请求的云计算虚拟机部署方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610703582.9A CN106301930A (zh) 2016-08-22 2016-08-22 一种满足通用带宽请求的云计算虚拟机部署方法及系统

Publications (1)

Publication Number Publication Date
CN106301930A true CN106301930A (zh) 2017-01-04

Family

ID=57662139

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610703582.9A Pending CN106301930A (zh) 2016-08-22 2016-08-22 一种满足通用带宽请求的云计算虚拟机部署方法及系统

Country Status (1)

Country Link
CN (1) CN106301930A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111124593A (zh) * 2018-10-31 2020-05-08 中国移动通信有限公司研究院 信息处理方法及装置、网元及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8667171B2 (en) * 2010-05-28 2014-03-04 Microsoft Corporation Virtual data center allocation with bandwidth guarantees
US20140258535A1 (en) * 2013-03-08 2014-09-11 Telefonaktiebolaget L M Ericsson (Publ) Network bandwidth allocation in multi-tenancy cloud computing networks
CN105190599A (zh) * 2013-03-07 2015-12-23 惠普发展公司,有限责任合伙企业 云应用带宽建模
CN105577834A (zh) * 2016-02-06 2016-05-11 清华大学 具有可预测性能的云数据中心两层带宽分配方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8667171B2 (en) * 2010-05-28 2014-03-04 Microsoft Corporation Virtual data center allocation with bandwidth guarantees
CN105190599A (zh) * 2013-03-07 2015-12-23 惠普发展公司,有限责任合伙企业 云应用带宽建模
US20140258535A1 (en) * 2013-03-08 2014-09-11 Telefonaktiebolaget L M Ericsson (Publ) Network bandwidth allocation in multi-tenancy cloud computing networks
CN105577834A (zh) * 2016-02-06 2016-05-11 清华大学 具有可预测性能的云数据中心两层带宽分配方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
FANGXIN WANG ET AL: "Bandwidth Guaranteed Virtual Network Function Placement and Scaling in Datacenter Networks", 《2015 IEEE 34TH INETERNATIONAL PERFORMANCE COMPUTING AND COMMUNICATIONS CONFERENCE》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111124593A (zh) * 2018-10-31 2020-05-08 中国移动通信有限公司研究院 信息处理方法及装置、网元及存储介质

Similar Documents

Publication Publication Date Title
CN108829494A (zh) 基于负载预测的容器云平台智能资源优化方法
CN106411678A (zh) 带宽保障的虚拟网络功能部署方法
CN108874525A (zh) 一种面向边缘计算环境的服务请求分配方法
CN108076486A (zh) 一种基于负载均衡的动态无线资源分配算法
CN104270421B (zh) 一种支持带宽保证的多租户云平台任务调度方法
CN105843670A (zh) 一种云平台虚拟集群部署整合方法
CN102075402A (zh) 虚拟网络映射处理方法和系统
CN102981910A (zh) 虚拟机调度的实现方法和装置
CN104993941A (zh) 一种基于Openflow网络高容错性虚拟网络映射算法
CN111092749A (zh) 一种面向全业务的区域网格划分方法及装置
CN108737213A (zh) 一种基于fpga的高并行大吞吐量渗透测试系统及方法
CN107069801B (zh) 一种基于最小用户停电损失的配电网孤岛划分方法
CN109447264A (zh) 云计算环境下基于vham-r模型的虚拟机放置遗传优化方法
CN106296315A (zh) 基于用户用电数据的情境感知系统
CN112365366A (zh) 一种基于智能化5g切片的微电网管理方法及系统
CN115347569B (zh) 一种基于智能预测的电力调配系统
CN110557345A (zh) 一种电力通信网资源分配方法
CN112953007A (zh) 配电网调度方法、装置及系统、处理器、电子设备
CN107749805A (zh) 一种虚拟机部署方法及装置
CN112291791A (zh) 一种基于5g切片电力通信网带宽资源分配方法
CN106301930A (zh) 一种满足通用带宽请求的云计算虚拟机部署方法及系统
Yuan et al. Topology-oriented virtual network embedding approach for data centers
CN109889573A (zh) 混合云中基于ngsa多目标的副本放置方法
CN105634850B (zh) Ptn网络的业务流量建模方法及装置
CN106230615A (zh) 一种基于智能路径搜索的业务工单开通方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20170104