CN112363808A - 一种基于双游标控制机制的虚拟机动态部署方法 - Google Patents

一种基于双游标控制机制的虚拟机动态部署方法 Download PDF

Info

Publication number
CN112363808A
CN112363808A CN202011364154.0A CN202011364154A CN112363808A CN 112363808 A CN112363808 A CN 112363808A CN 202011364154 A CN202011364154 A CN 202011364154A CN 112363808 A CN112363808 A CN 112363808A
Authority
CN
China
Prior art keywords
resource
virtual machine
resources
physical
user
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.)
Granted
Application number
CN202011364154.0A
Other languages
English (en)
Other versions
CN112363808B (zh
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.)
HUNAN WOMEN'S UNIVERSITY
Original Assignee
HUNAN WOMEN'S 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 HUNAN WOMEN'S UNIVERSITY filed Critical HUNAN WOMEN'S UNIVERSITY
Priority to CN202011364154.0A priority Critical patent/CN112363808B/zh
Publication of CN112363808A publication Critical patent/CN112363808A/zh
Application granted granted Critical
Publication of CN112363808B publication Critical patent/CN112363808B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • 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/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开一种基于双游标控制机制的虚拟机动态部署方法,涉及虚拟机数据分配技术领域,具体方案为:包括以下步骤:S1:物理资源约束集合为PRS,用户在一时间点ti的资源需求状态为RDS(ti),用户Ui需求的变化率为Ra(Ui);云平台中包括H个数据中心,所有数据中心的资源总和为
Figure DDA0002804931210000011
S2:数据中心资源配置;S3:构建资源供给服务框架,根据用户的动态需求,对资源进行动态回收,对目前拥有的资源集合进行收集。本申请基于双游标动态协调机制,针对虚拟机部署问题提出了双游标控制方法。

Description

一种基于双游标控制机制的虚拟机动态部署方法
技术领域
本发明涉及虚拟机数据分配技术领域,更具体地说,它涉及一种基于双游标控制机制的虚拟机动态部署方法。
背景技术
从一定程度上而言,云计算是传统的并行计算、分布式计算、网格计算和效益计算的有效延伸。目前关于云资源管理的相关研究主要集中在以下三个方面:第一,降低云平台能耗;第二,提高系统资源利用率;第三,基于经济学的资源管理,提高虚拟机部署过程中的容错程度。基于用户效益最大化的虚拟机资源分配模型,云平台中虚拟机部署机制,对于有效地资源利用以及能耗高低都有着至关重要的影响。
然而,在实际工作环境中,云数据中心的建立已经导致了巨大的能量消耗,并且在一定程度上也会导致运营服务商的软硬件成本不断攀升。目前高速发展的虚拟化技术,已经可以实现单个物理节点和多个虚拟机实例的一对多关系的有效对应,实现虚拟机个性化配置已经成为目前的主要趋势。个性化的虚拟机资源配置方法可以对数据中心的能量消耗问题进行总体管控,从而可以进一步使得各个维度的资源使用效率进一步提高。经过一系列研究发现,用户的个性化资源需求已经成为云平台中衡量虚拟机部署的一个关键因子。通过该因子可以调节云平台中必要的活动物理节点的数量,从而可以将处于空闲状态的物理节点切换到节能模式。然而,由于用户需求与负载需求是直接关联的,这种关联性给虚拟机资源预测带来了很大的阻碍,如果资源不能精准预测,往往会使得虚拟机部署过程中出现响应时间增加、交互超时、甚至部署失败等一系列问题。所以,对于资源供应方而言,处理好能耗与性能的关系,并且在解决能耗的同时提供高可靠的QoS保障是一个关键问题。
云平台数据中心的迅速发展,逐渐暴露出能耗急剧增长、虚拟机过度迁移以及资源利用率降低的问题,已成为当前云平台面临的关键问题。当今云平台中虚拟机部署过程中采用的优化方式主要体现为单目标优化和多目标优化。例如在需要激活的物理节点数量、应用服务质量、数据中心能耗以及虚拟机迁移等方面进行优化。但是在实际情况中,上述因素之间往往存在相互冲突。例如,如果在数据中心中减少必要激活的物理节点数量,那么就会导致虚拟机进行多次迁移,增加了虚拟机迁移数量,与此同时总体的能量消耗也会增加。
发明内容
为解决上述技术问题,一种基于双游标控制机制的虚拟机动态部署方法,具体方案如下。
本发明的上述技术目的是通过以下技术方案得以实现的:
一种基于双游标控制机制的虚拟机动态部署方法,包括以下步骤:
S1:物理资源约束集合为PRS,用户在一时间点ti的资源需求状态为RDS(ti),用户Ui需求的变化率为Ra(Ui);云平台中包括H个数据中心,所有数据中心的资源总和为
Figure BDA0002804931190000031
S2:数据中心资源配置:
Figure BDA0002804931190000032
主机CPU资源利用率为:
Figure BDA0002804931190000033
主机内存的资源利用率为:
Figure BDA0002804931190000034
其中:某一数据中心包括m个物理节点,则数据中心DC={dc1,dc2,dc3…,dcm};部署了虚拟机vj的主机为DCi(vj),其中j=1,2,3...,n;i=1,2,3...,m;主机DCi上运行的虚拟机集合为V(DCi),虚拟机vj申请CPU的数量为CPU(VRi),主机DCi总CPU的资源需求为Pcpu(DCi),虚拟机vj申请的内存数量为Mem(VRi),主机DCi总内存分配的资源为Pmem(DCi);
数据中心的物理资源为RT,RT={r1,r2,r3…ri,…rm},其中
Figure BDA0002804931190000035
资源ri由w个不同维度的特征属性构成;在一个服务周期L内,资源ri的可用服务时间满足泊松分布的分布特性,各个资源任意之间相互独立,满足
Figure BDA0002804931190000036
RT中可用服务向量为SV={sv1,sv2,…,svn},其中svi(0≤i≤m)为资源ri的可用服务率;
假定用户需求需要部署虚拟机集合V={v1,v2,v3…,vn},在任意时刻虚拟机vj仅有一个任务完成tj,且虚拟机vj的第k个任务
Figure BDA0002804931190000041
0≤j≤n包含w个不同维度的特征属性;虚拟机Vm的任务产生率向量为Q={q1,q2,q3,…,qj…,qn},0≤j≤n,其中qj为第j个虚拟机vj的任务产生率,各个任务之间相互独立,满足
Figure BDA0002804931190000042
S3:构建资源供给服务框架,根据用户的动态需求,对资源进行动态回收,对目前拥有的资源集合进行收集。
作为一种优选方案,S2过程中,任务tj分派到资源ri上的概率为Pij,则数据资源概率分配矩阵Pn×m=(Pij)n×m,且
Figure BDA0002804931190000043
云平台资源调度矩阵为Mn×m=(Mij)n×m,当虚拟机vj被分配到资源节点ri上时Mij=1,否则Mij=0,同时满足以下条件:
Figure BDA0002804931190000044
作为一种优选方案,资源分配过程中,被分配的任何一个维度资源均都不能超过该资源物理资源的总和,所有虚拟机中反映的资源之和不能超过物理资源的75%。
作为一种优选方案,S3过程中,具体包括以下步骤:
T1:建立物理资源规划中心,对资源进行分类;系统对若干物理节点构成的资源综合体进行分析,分解出每个物理节点的CPU资源和内存资源的类别和相对应的具体资源数量,形成统一、独立的多类别资源平台,打破物理节点的物理界限的局限性;
T2:对用户需求进行分析和归类;将每位用户资源需求粒度与确定存在的物理资源形成有效对应;
T3:构建同一物理资源映射。
作为一种优选方案,T1过程具体包括以下步骤:
R1:获取CPU的计算能力和内存容量;
R2:初始化资源池;
R3:遍历当前状态下拥有的物理节点集合,实现给每个物理节点进行编号;
R4:按照物理节点的编号次序依次累计CPU和内存的资源累加和;
R5:将资源序列一次压入到资源池中,并建立每个资源的链式指针;
R6:获取每个指针对应的资源序列。
作为一种优选方案,T3过程具体包括以下步骤:
Y1:建立空的用户需求队列;
Y2:按照用户需求的实际次序,进行入队;
Y3:从用户需求队列读取ti时刻用户需求,按照用户需求从资源池中选择资源指针;
Y4:读取ti时刻用户需求,按照用户需求从资源池中选择资源指针;
Y5:计算c与m的序偶集合:
Figure BDA0002804931190000061
其中,c为CPU资源,m为内存资源;
满足以下要求:
Figure BDA0002804931190000062
Y6:将虚拟机资源进行分配和封装。
一种基于双游标控制机制的虚拟机资源分配方法,包括以下步骤:
S1:构建约束条件:
Figure BDA0002804931190000063
即:
Figure BDA0002804931190000064
S2:增加两个线积分:
Figure BDA0002804931190000065
S3:得到以下结论:
Figure BDA0002804931190000066
Figure BDA0002804931190000071
S4:根据格林公式,确定二维资源,在积分曲线上获得资源指标的唯一值。
作为一种优选方案,还包括以下步骤:
T1:建立物理资源规划中心,对资源进行分类;系统对若干物理节点构成的资源综合体进行分析,分解出每个物理节点的CPU资源和内存资源的类别和相对应的具体资源数量,形成统一、独立的多类别资源平台,打破物理节点的物理界限的局限性;
T2:对用户需求进行分析和归类;将每位用户资源需求粒度与确定存在的物理资源形成有效对应;
T3:构建同一物理资源映射。
作为一种优选方案,T1过程具体包括以下步骤:
R1:获取CPU的计算能力和内存容量;
R2:初始化资源池;
R3:遍历当前状态下拥有的物理节点集合,实现给每个物理节点进行编号;
R4:按照物理节点的编号次序依次累计CPU和内存的资源累加和;
R5:将资源序列一次压入到资源池中,并建立每个资源的链式指针;
R6:获取每个指针对应的资源序列。
作为一种优选方案,T3过程具体包括以下步骤:
Y1:建立空的用户需求队列;
Y2:按照用户需求的实际次序,进行入队;
Y3:从用户需求队列读取ti时刻用户需求,按照用户需求从资源池中选择资源指针;
Y4:读取ti时刻用户需求,按照用户需求从资源池中选择资源指针;
Y5:计算c与m的序偶集合:
Figure BDA0002804931190000081
其中,c为CPU资源,m为内存资源;
满足以下要求:
Figure BDA0002804931190000082
Y6:将虚拟机资源进行分配和封装。
综上所述,本发明具有以下有益效果:
本申请基于双游标动态协调机制,针对虚拟机部署问题提出了双游标控制方法。双游标机制是针对特定资源(例如,CPU和内存)的动态衡量与调节机制,通过游标机制可以动态地把CPU和内存调整为资源混合的一种协调状态,有效提高资源利用率。双游标二维资源控制机制,对于个性化资源整合和虚拟机迁移的虚拟机部署起到重要作用。
附图说明
图1是本发明实施例的双游标机制示意图;
图2是本发明实施例的资源请求流程图;
图3是本发明实施例的用户需求匹配流程图;
图4是本发明不同实施例的云平台虚拟机映射流程图;
图5是本发明不同实施例的环路积分示意图。
具体实施方式
本说明书及权利要求并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的准则。如在通篇说明书及权利要求当中所提及的“包括”为一开放式用语,故应解释成“包括但不限定于”。“大致”是指在可接受的误差范围内,本领域技术人员能够在一定误差范围内解决所述技术问题,基本达到所述技术效果。
本说明书及权利要求的上下左右等方位名词,是结合附图以便于进一步说明,使得本申请更加方便理解,并不对本申请做出限定,在不同的场景中,上下、左右、里外均是相对而言。
以下结合附图对本发明作进一步详细说明。
本申请中所提出的游标并不是数据库中的游标,而是指资源分配过程中的两个衡量参数。双参数协同控制决定参数分别如何取值,物理资源取得最好的配置效果。模拟物理上的游标卡尺,只有两个维度数值卡紧了,才能度量出物体的精密长度,当然在度量的过程中左边卡尺和游标卡尺可以处于多个不同的位置,所以只有确定好双方的相对参数值,才能最终最精确地衡量资源配置过程中的参数值。本申请中把CPU和内存定义为两个游标参数,简称为双游标。二者协同的机制在本申请中定义为双游标机制。
多种物理设备构成物理资源集合,供应商根据已有的物理设备组合成为云平台(包含若干类型的物理资源)。在云平台中设有用户需求接口,用户在不同的时间序列输入自身的需求,云平台根据用户需求(某一时刻)分配给不同用户虚拟机资源。对于云平台接口而言,会随着不同的时间序列,收集大量的用户对于资源的需求,形成一个需求队列缓冲区,以时间次序为优先分配资源的条件,形成需求等待队列缓冲区。每个运行的任务并行执行,执行完成之后回收物理资源到云平台中。主体过程如下图(图2资源请求过程)所示。
本申请中以固定时间段为例进行问题说明。把时间段T内用户的资源序列定义为Ri,其中ti为大于0小于T的一个时间点(T>ti>0,用户可以同时发出任务资源请求)。Ri表示用户i所需要的资源集合,具体可以表示为{r1,r2,r3,.....rn}。为了满足用户在某一时刻的资源需求,需要把{r1,r2,r3,.....rn}封装成为若干个独立的虚拟机,形成rs与vj(第j个虚拟机)的对应关系序列,从而保证每个需求都被满足。在考虑某个时间点资源与虚拟机对应关系的同时,也要考虑要把资源需求尽量部署到少数虚拟机上。从而降低实际状态中物理机的开启数量。需要考虑的另外一个问题是ti时刻到ti+1时刻变化的过程中,需要考虑CPU和内存的互补程度,计算哪些虚拟机可以进行合并与迁移,能够根据用户的实际需求,动态地调整虚拟机资源的需求量与物理机资源的数量,有效关闭空闲物理节点,从而节省资源开销与能量开销。本申请主要通过CPU和内存双游标自动调节,完成虚拟机资源的自动分配与有效的物理资源的回收。
为了能够完成对性能的统一性表示,本申请以微软虚拟机管理技术报告为参考标准,首先对物理服务器资源评价标准主要采用CPU、内存基本资源为衡量指标。问题过程描述如下。在下述表示中把CPU和内存等价为游标的两个维度。通过双向游标的定值来完成物理资源与虚拟资源的对应。
(1)在某一时刻,存在n个物理节点(M={m1,m2,m3,......,mn},n代表集群中物理节点的个数),并且它们的资源主要包括内存、CPU、磁盘、网络带宽以及I/O资源等。
(2)在某一时间段内,存在m个虚拟机需要有效放置(V={v1,v2,v3,......,vm},m表示集群中需要的虚拟机数量)。暂且假设这些虚拟机的资源需求包括内存、CPU、磁盘、网络带宽以及I/O资源等。
(3)需要找到用户所需要的虚拟机和物理节点之间的合理性映射,这种映射要求既能够满足各个虚拟机的资源需求,又能够尽量减少使用的物理节点数量。同时还要保证该映射关系中,虚拟机所需要的各维度总资源不应超过它所放置的物理节点上各维度的资源总量。
在上述中多维资源中为了方便说明问题,本申请中仅仅考虑CPU和内存两个关键维度值。
本方案中涉及具体表达为物理资源约束集合表示为PRS,用户在某一时间点ti的资源需求状态表示为RDS(ti),用户Ui需求的变化率表示为Ra(Ui)。云平台中一般由若干个数据中心组成,假设有H个数据中心存在,那么所有数据中心中资源总和表示为
Figure BDA0002804931190000111
数据中心主机的物理配置是多元化的,根据用户需求而生成的虚拟机应该要根据各自的具体需求,选择在不同的物理节点上进行部署。假设某数据中心中由m个物理节点构成。
那么数据中心表示为DC={dc1,dc2,dc3……,dcm}。部署了虚拟机vj的主机表示为DCi(Vj),其中j处于1与n之间,i处于1与m之间。主机DCi上运行的虚拟机集合表示为V(DCi)。虚拟机Vj申请的CPU的数量表示为CPU(VRi),主机DCi总CPU的资源需求表示为Pcpu(DCi)。Vj申请的内存数量为Mem(VRi)。主机DCi总内存分配的资源表示为Pmem(DCi)。那么
Figure BDA0002804931190000121
主机CPU资源利用率表示为:
Figure BDA0002804931190000122
主机内存的资源利用率表示为:
Figure BDA0002804931190000123
内存利用率定义为分配的资源总量除以数据中心物理资源内存总量,同理CPU利用率表示为CPU资源分配总量除以物理节点资源总量。用公式分别表示为(1)和(2)。
数据中心的物理资源表示为RT(RT={r1,r2,r3,r4,......,ri,.....,rm}),其中
Figure BDA0002804931190000124
资源ri是由w个不同维度的特征属性构成。在一个服务周期L内(暂定的固定时间段为T,其中T>L>0),资源ri的可用服务时间满足泊松分布的分布特征,并且各个资源任意之间都具有相互独立性,即满足,
Figure BDA0002804931190000125
另外RT中可用服务向量表示为SV={sv1,sv2,......,svn},其中svi(0≤i≤m)为资源ri的可用服务率。
假设用户需求需要部署虚拟机集合V={v1,v2,v3,......,vn}来满足。V是由n个虚拟机构成的满足用户需求的虚拟机矩阵。若在任意时刻虚拟机vj仅有一个任务完成tj,且虚拟机vj的第k个任务
Figure BDA0002804931190000131
0≤j≤n包含w个不同维度的特征属性。虚拟机VM的任务产生率向量表示为Q={q1,q2,q3,q4,...qj...,qn},0≤j≤n,其中qj表示第j个虚拟机vj的任务产生率,且各任务之间相互独立,即
Figure BDA0002804931190000132
如果资源ri能够满足任务tj的要求,那么tj就可以被分派到ri上去执行相应的操作。通常情况下能够满足任务tj的资源ri一般有多个,但是实际情况下为了实现资源的有效均衡分配,任务tj以一定概率Pij分派到资源ri上。那么数据资源概率分配矩阵Pn×m=(Pij)n×m,且
Figure BDA0002804931190000133
云平台资源调度矩阵表示为Mn×m=(Mij)n×m。若虚拟机vj被分配到资源节点ri上时Mij=1,否则Mij=0。整个过程中同时必需满足下面条件:
Figure BDA0002804931190000134
资源矩阵中表示的资源以全概率方式分配到需要的用户端。并且资源分配的过程中,被分配的任何一个维度资源都不能超过该资源物理资源的总和。所有封装的虚拟机中所反映的资源之和,应该不能超过物理资源的总和数量,一般情况下不超过物理资源的75%,否则会影响系统性能(根据微软报告)。由于硬件限制,文中主要关注CPU和内存两个关键指标。
在本申请中我们假设物理节点的负载与功率之间遵循线性关系。在虚拟机部署的实际环境中,数据中心中主机的能耗与工作负载程度有关,取决于CPU、内存、磁盘和网卡等资源的利用率。大多数研究表明,主机的能耗主要来自CPU以及内存,和CPU和内存的利用率呈高度正相关关系。基于此,数据中心Mi主机单点能耗和总能耗可以依次近似表示为:
Figure BDA0002804931190000141
式中:ENi表示主机Mi随CPU利用率和内存变化而产生的能耗,EC表示数据中心总能耗。α和β为内存与CPU之间的相关比例系数。为了降低能耗和节约能源,应该尽量减少数据中心总能耗EC,即Min(EC)。
在满足上述资源约束框架的条件中,平台必需根据用户的基本需求,才能有效地提高服务资源有效率。首先明确此动态框架是在动态变化过程中不断发生变化的。资源发生变化服务资源同样也会发生变化。由于用户需求不断会发生变化,所以在第一阶段就需要进行动态回收、收集目前拥有的资源集合。处于主要资源维度的考虑,在本申请目前工作中暂时仅仅基于中央处理器和内存两个维度指标进行衡量。建立物理资源规划模型有效收集资源机制
第一,建立物理资源规划中心,资源合理分类。系统分析由若干物理节点构成的资源综合体,它可以分解出每个物理节点的CPU资源和内存资源的类别以及与之相对应的具体资源数量,从而形成统一、独立的多类别资源平台。最终快速打破物理节点的物理界限局限性。
第二,用户需求分析、归类
每个到来的用户需求(最终转换为资源需求)都反映出每位用户的资源需求粒度,粒度与确定存在的物理资源形成有效对应。所以,有限的物理资源需要结合具体的粒度需求,才能形成高效的资源对应关系。
第三,统一为物理资源映射
具体综合的资源映射流程如下图3和图4所示。
在内存和中央处理器的维度影响下,本申请把这两个维度看成是主体因素。用户在提起具体的资源要求是CPU和内存的组合可以是二维平面的所有组合。假设把二者看成是环路曲线积分,那么CPU和内存是随机组合的二维自变量,如图5所示。
此过程等价于基于二维变量的环路积分。若把Z的值定义为环路积分函数值,那么反向推导出C和M的值,也就是虚拟资源范围中二维资源的有效值。具体过程如上图5所示:
首先约束条件应该满足:
Figure BDA0002804931190000161
即,
Figure BDA0002804931190000162
增加两个线积分,得到下面1.4公式所示:
Figure BDA0002804931190000163
由公式(5)、(6)和公式(7)可得下面结论:
Figure BDA0002804931190000164
根据格林公式可得,在封闭区间内,确定二维资源后可以在积分曲线上获得资源指标的唯一值。等价于两个维度是可以自由变换的游标。那么这种方法可以称之为双游标算法。只要输入环路积分上的具体点信息,就可以得到比较优化的CPU和Memory对应关系矩阵。从而形成有序的资源配置关系约束。
资源分类汇总算法
综上所述,完成资源的有效配对,首先需要进行资源的收集和分类处理等一系列操作。典型资源收集分类算法(算法1)如下所示:算法1:典型资源收集分类算法输入:物理节点编号、按照节点编号序列统计CPU数量、类型与内存的存储容量。
输出:按类别输出CPU的计算能力、内存的容量
1.Initialize(pool,c,m,s(c),s(m));
//初始化资源池,c代表CPU,m代表内存,s(c)代表CPU总的数量,s(m)代表内存的总量。
2.遍历当前状态下拥有的物理节点集合(给每个物理节点进行编号);
3.按照物理节点的编号次序依次累计CPU和内存的资源累加和;
4.资源序列一次压入到资源池中,并建立每个资源的链式指针(单链表或者双链表形式);
5.输出每个指针对应的资源序列。
资源配对算法
1.建立空的用户需求队列;Initialize(empty(Q(requirments)),c,m)
2.按照用户需求的实际次序,进行入队;Q←requirments(c,m,ui)
3.p(x)←RAND();
p(y)←RAND();
从用户需求队列读取ti时刻用户需求,按照用户需求从资源池中选择资源指针(ti时刻为服务期间中的任意时刻);
4.读取ti时刻用户需求,按照用户需求从资源池中选择资源指针。
for(i=1;i<=ti;i++)
cm read(c(ti),m(ti));
O←selection(c(ti),m(ti))
End for
其中,cm表示CPU与内存的有序序偶对,O为ti时刻为用户选择的c与m的资源序列最优序偶对。
5.假设c为CPU资源,m为内存资源,结合公式1.5,计算出c与m的序偶集合,满足公式1.6的条件要求。
Figure BDA0002804931190000181
6.返回步骤5的序偶序列。根据此序列完成虚拟机资源的分配与封装。
S←results(best,c,m)
empty(Q(requirments))
7.POOL←Q(requirments)
8.Until empty(Q(requirments))
9.Sort(POOL)
10.Q←POOL[0]
11.RETRURN S,Q
本具体实施例仅仅是对本发明的解释,其并不是对本发明的限制,本领域技术人员在阅读完本说明书后可以根据需要对本实施例做出没有创造性贡献的修改,但只要在本发明的权利要求范围内都受到专利法的保护。

Claims (6)

1.一种基于双游标控制机制的虚拟机动态部署方法,其特征在于,包括以下步骤:
S1:物理资源约束集合为PRS,用户在一时间点ti的资源需求状态为RDS(ti),用户Ui需求的变化率为Ra(Ui);云平台中包括H个数据中心,所有数据中心的资源总和为
Figure FDA0002804931180000011
S2:数据中心资源配置:
Figure FDA0002804931180000012
主机CPU资源利用率为:
Figure FDA0002804931180000013
主机内存的资源利用率为:
Figure FDA0002804931180000014
其中:某一数据中心包括m个物理节点,则数据中心DC={dc1,dc2,dc3…,dcm};部署了虚拟机vj的主机为DCi(vj),其中j=1,2,3...,n;i=1,2,3...,m;主机DCi上运行的虚拟机集合为V(DCi),虚拟机vj申请CPU的数量为CPU(VRi),主机DCi总CPU的资源需求为Pcpu(DCi),虚拟机vj申请的内存数量为Mem(VRi),主机DCi总内存分配的资源为Pmem(DCi);
数据中心的物理资源为RT,RT={r1,r2,r3…ri,…rm},其中
Figure FDA0002804931180000015
资源ri由w个不同维度的特征属性构成;在一个服务周期L内,资源ri的可用服务时间满足泊松分布的分布特性,各个资源任意之间相互独立,满足
Figure FDA0002804931180000021
RT中可用服务向量为SV={sv1,sv2,…,svn},其中svi(0≤i≤m)为资源ri的可用服务率;
假定用户需求需要部署虚拟机集合V={v1,v2,v3…,vn},在任意时刻虚拟机vj仅有一个任务完成tj,且虚拟机vj的第k个任务
Figure FDA0002804931180000022
包含w个不同维度的特征属性;虚拟机Vm的任务产生率向量为Q={q1,q2,q3,…,qj…,qn},0≤j≤n,其中qj为第j个虚拟机vj的任务产生率,各个任务之间相互独立,满足
Figure FDA0002804931180000023
S3:构建资源供给服务框架,根据用户的动态需求,对资源进行动态回收,对目前拥有的资源集合进行收集。
2.根据权利要求1所述的基于双游标控制机制的虚拟机动态部署方法,其特征在于,所述S2过程中,任务tj分派到资源ri上的概率为Pij,则数据资源概率分配矩阵Pn×m=(Pij)n×m,且Pij≥0,
Figure FDA0002804931180000024
云平台资源调度矩阵为Mn×m=(Mij)n×m,当虚拟机vj被分配到资源节点ri上时Mij=1,否则Mij=0,同时满足以下条件:
Figure FDA0002804931180000025
3.根据权利要求2所述的基于双游标控制机制的虚拟机动态部署方法,其特征在于,资源分配过程中,被分配的任何一个维度资源均都不能超过该资源物理资源的总和,所有虚拟机中反映的资源之和不能超过物理资源的75%。
4.根据权利要求3所述的基于双游标控制机制的虚拟机动态部署方法,其特征在于,所述S3过程中,具体包括以下步骤:
T1:建立物理资源规划中心,对资源进行分类;系统对若干物理节点构成的资源综合体进行分析,分解出每个物理节点的CPU资源和内存资源的类别和相对应的具体资源数量,形成统一、独立的多类别资源平台,打破物理节点的物理界限的局限性;
T2:对用户需求进行分析和归类;将每位用户资源需求粒度与确定存在的物理资源形成有效对应;
T3:构建同一物理资源映射。
5.根据权利要求4所述的基于双游标控制机制的虚拟机动态部署方法,其特征在于,所述T1过程具体包括以下步骤:
R1:获取CPU的计算能力和内存容量;
R2:初始化资源池;
R3:遍历当前状态下拥有的物理节点集合,实现给每个物理节点进行编号;
R4:按照物理节点的编号次序依次累计CPU和内存的资源累加和;
R5:将资源序列一次压入到资源池中,并建立每个资源的链式指针;
R6:获取每个指针对应的资源序列。
6.根据权利要求4所述的基于双游标控制机制的虚拟机动态部署方法,其特征在于,所述T3过程具体包括以下步骤:
Y1:建立空的用户需求队列;
Y2:按照用户需求的实际次序,进行入队;
Y3:从用户需求队列读取ti时刻用户需求,按照用户需求从资源池中选择资源指针;
Y4:读取ti时刻用户需求,按照用户需求从资源池中选择资源指针;
Y5:计算c与m的序偶集合:
Figure FDA0002804931180000041
其中,c为CPU资源,m为内存资源;
满足以下要求:
Figure FDA0002804931180000042
Y6:将虚拟机资源进行分配和封装。
CN202011364154.0A 2020-11-27 2020-11-27 一种基于双游标控制机制的虚拟机动态部署方法 Active CN112363808B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011364154.0A CN112363808B (zh) 2020-11-27 2020-11-27 一种基于双游标控制机制的虚拟机动态部署方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011364154.0A CN112363808B (zh) 2020-11-27 2020-11-27 一种基于双游标控制机制的虚拟机动态部署方法

Publications (2)

Publication Number Publication Date
CN112363808A true CN112363808A (zh) 2021-02-12
CN112363808B CN112363808B (zh) 2024-09-13

Family

ID=74535428

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011364154.0A Active CN112363808B (zh) 2020-11-27 2020-11-27 一种基于双游标控制机制的虚拟机动态部署方法

Country Status (1)

Country Link
CN (1) CN112363808B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106970831A (zh) * 2017-05-15 2017-07-21 金航数码科技有限责任公司 一种面向云平台的虚拟机资源动态调度系统及方法
CN108009003A (zh) * 2017-12-01 2018-05-08 湖南女子学院 一种多目标虚拟机自适应位置选择方法、分布式云系统
US20200034270A1 (en) * 2018-07-24 2020-01-30 Vmware, Inc. Machine learning system for workload failover in a converged infrastructure
CN111309472A (zh) * 2019-07-11 2020-06-19 南京奥工信息科技有限公司 一种基于虚拟机预部署的在线虚拟资源分配方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106970831A (zh) * 2017-05-15 2017-07-21 金航数码科技有限责任公司 一种面向云平台的虚拟机资源动态调度系统及方法
CN108009003A (zh) * 2017-12-01 2018-05-08 湖南女子学院 一种多目标虚拟机自适应位置选择方法、分布式云系统
US20200034270A1 (en) * 2018-07-24 2020-01-30 Vmware, Inc. Machine learning system for workload failover in a converged infrastructure
CN111309472A (zh) * 2019-07-11 2020-06-19 南京奥工信息科技有限公司 一种基于虚拟机预部署的在线虚拟资源分配方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
SHUKUN LIU等: "An Adaptive Virtual Machine Location Selection Mechanism in Distributed Cloud", 《KSII TRANSACTIONS ON INTERNET AND INFORMATION SYSTEMS 》, vol. 9, no. 12, 31 December 2015 (2015-12-31), pages 4776 - 4797 *
李宇: "数学物理方法", vol. 1, 31 August 2020, 大连海事大学出版社, pages: 25 - 27 *

Also Published As

Publication number Publication date
CN112363808B (zh) 2024-09-13

Similar Documents

Publication Publication Date Title
CN104298550B (zh) 一种面向Hadoop的动态调度方法
WO2020206705A1 (zh) 一种基于集群节点负载状态预测的作业调度方法
Ren et al. Workload characterization on a production hadoop cluster: A case study on taobao
CN107038069B (zh) Hadoop平台下动态标签匹配DLMS调度方法
TWI426393B (zh) 雲端計算資源排程方法與應用之系統
CN106095569B (zh) 一种基于sla的云工作流引擎资源调度与控制方法
CN103475538B (zh) 一种基于多接口的自适应的云服务测试方法
CN103500123B (zh) 异构环境中并行计算调度方法
CN103995735A (zh) 用于调度工作流作业的设备和方法
CN103701886A (zh) 一种云计算环境下的服务及资源分层调度方法
CN104753977A (zh) 基于模糊聚类的地震处理解释基础设施云资源调度方法
CN107291539B (zh) 基于资源重要程度的集群程序调度方法
Yin et al. Cloudscout: A non-intrusive approach to service dependency discovery
CN114880130A (zh) 并行训练中突破内存限制的方法、系统、设备及存储介质
CN104156505B (zh) 一种基于用户行为分析的Hadoop集群作业调度方法及装置
CN110084507B (zh) 云计算环境下分级感知的科学工作流调度优化方法
CN111158904A (zh) 一种任务调度方法、装置、服务器及介质
CN115344358A (zh) 资源调度方法、装置和管理节点
CN116048773B (zh) 一种基于波函数坍缩的分布式协作任务指派方法和系统
CN112363808A (zh) 一种基于双游标控制机制的虚拟机动态部署方法
CN112328370A (zh) 一种基于双游标控制机制的虚拟机资源分配方法
Piao et al. Computing resource prediction for mapreduce applications using decision tree
CN115809184A (zh) 构建数据中心多维能耗量化分析模型的方法、介质及设备
CN115391047A (zh) 资源调度方法及装置
Wan et al. Utility-driven share scheduling algorithm in hadoop

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant