CN110362398B - 虚拟机的调度方法和*** - Google Patents

虚拟机的调度方法和*** Download PDF

Info

Publication number
CN110362398B
CN110362398B CN201810312065.8A CN201810312065A CN110362398B CN 110362398 B CN110362398 B CN 110362398B CN 201810312065 A CN201810312065 A CN 201810312065A CN 110362398 B CN110362398 B CN 110362398B
Authority
CN
China
Prior art keywords
consumption data
virtual machine
power consumption
host
rack
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.)
Active
Application number
CN201810312065.8A
Other languages
English (en)
Other versions
CN110362398A (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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201810312065.8A priority Critical patent/CN110362398B/zh
Priority to PCT/CN2019/080946 priority patent/WO2019196701A1/zh
Priority to EP19785670.1A priority patent/EP3779689A4/en
Priority to JP2020555379A priority patent/JP7366054B2/ja
Priority to SG11202009426VA priority patent/SG11202009426VA/en
Publication of CN110362398A publication Critical patent/CN110362398A/zh
Priority to US17/066,362 priority patent/US11782769B2/en
Application granted granted Critical
Publication of CN110362398B publication Critical patent/CN110362398B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • 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/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • G06F9/4893Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues taking into account power or heat criteria
    • 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
    • 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/5094Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05KPRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
    • H05K7/00Constructional details common to different types of electric apparatus
    • H05K7/14Mounting supporting structure in casing or on frame or rack
    • H05K7/1485Servers; Data center rooms, e.g. 19-inch computer racks
    • H05K7/1488Cabinets therefor, e.g. chassis or racks or mechanical interfaces between blades and support structures
    • H05K7/1492Cabinets therefor, e.g. chassis or racks or mechanical interfaces between blades and support structures having electrical distribution arrangements, e.g. power supply or data communications
    • 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
    • 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/4557Distribution of virtual machine instances; Migration and load balancing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Power Sources (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请公开了一种虚拟机的调度方法和***。其中,该方法包括:获取机架的能耗数据和宿主机的能耗数据,其中,机架用于放置宿主机;确定虚拟机的功耗数据;根据机架的能耗数据、宿主机的能耗数据和虚拟机的功耗数据,确定虚拟机对应的目标宿主机;将虚拟机调度至目标宿主机。本申请解决了现有技术中虚拟机的调度方法仅根据CPU参数来实现,导致功耗调度不均衡的技术问题。

Description

虚拟机的调度方法和***
技术领域
本申请涉及云计算领域,具体而言,涉及一种虚拟机的调度方法和***。
背景技术
目前业内的云计算调度一般是使用CPU、memory等作为静态因子,CPU利用率、网络利用率等作为动态因子,共同约束虚拟机是否能调度到宿主机上,也即,现有的虚拟机的调度方式仅根据CPU参数来实现。并且对于宿主机来说,功耗分配并不均匀。
在功耗上,一般是通过调整服务器的参数(包括关闭、休眠)来达到节能的目的,降低机器的耗电量。现有的功耗调度是从节能的调度去考虑,尽量增加休眠服务器的数量,但数据中心的主要成本是机房和设备的成本,为了充分均摊该成本,需要上架更多的服务器,售卖出去更多的虚拟机。当前业内根据经验值来调整上架密度,则需要预留机位以防止整个机架掉电,造成浪费。
针对现有技术中虚拟机的调度方法仅根据CPU参数来实现,导致功耗调度不均衡的问题,目前尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种虚拟机的调度方法和***,以至少解决现有技术中虚拟机的调度方法仅根据CPU参数来实现,导致功耗调度不均衡的技术问题。
根据本申请实施例的一个方面,提供了一种虚拟机的调度方法,包括:获取机架的能耗数据和宿主机的能耗数据,其中,机架用于放置宿主机;确定虚拟机的功耗数据;根据机架的能耗数据、宿主机的能耗数据和虚拟机的功耗数据,确定虚拟机对应的目标宿主机;将虚拟机调度至目标宿主机。
根据本申请实施例的另一方面,还提供了一种虚拟机的调度方法,包括:获取机架的能耗数据,宿主机的能耗数据和虚拟机的功耗数据,其中,机架上放置有多个宿主机;根据机架的能耗数据、宿主机的能耗数据和虚拟机的功耗数据,确定虚拟机对应的目标宿主机;将虚拟机调度至宿主机;根据机架的能耗数据和宿主机的能耗数据,得到机架的上架密度,其中,上架密度用于表征同一个机架上放置的宿主机的数量。
根据本申请实施例的另一方面,还提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行如下步骤:获取机架的能耗数据和宿主机的能耗数据,其中,机架用于放置宿主机;确定虚拟机的功耗数据;根据机架的能耗数据、宿主机的能耗数据和虚拟机的功耗数据,确定虚拟机对应的目标宿主机;将虚拟机调度至目标宿主机。
根据本申请实施例的另一方面,还提供了一种处理器,处理器用于运行程序,其中,程序运行时执行如下步骤:获取机架的能耗数据和宿主机的能耗数据,其中,机架用于放置宿主机;确定虚拟机的功耗数据;根据机架的能耗数据、宿主机的能耗数据和虚拟机的功耗数据,确定虚拟机对应的目标宿主机;将虚拟机调度至目标宿主机。
根据本申请实施例的另一方面,还提供了一种虚拟机的调度***,包括:处理器;以及存储器,与处理器连接,用于为处理器提供处理以下处理步骤的指令:获取机架的能耗数据和宿主机的能耗数据,其中,机架用于放置宿主机;确定虚拟机的功耗数据;根据机架的能耗数据、宿主机的能耗数据和虚拟机的功耗数据,确定虚拟机对应的目标宿主机;将虚拟机调度至目标宿主机。
在本申请实施例中,可以获取机架和宿主机的能耗数据,同时确定虚拟机的功耗数据,进一步根据机架和宿主机的能耗数据以及虚拟机的功耗数据,确定目标宿主机,并将虚拟机调度至目标宿主机,从而实现基于实时功耗感知,对虚拟机进行调度的目的。
容易注意到的是,由于根据机架的能耗数据、宿主机的能耗数据和虚拟机的功耗数据,确定虚拟机对应的目标宿主机,与现有技术相比,在进行虚拟机调度时,不仅仅考虑CPU参数,还考虑机架和宿主机的功耗,达到数据中心机架粒度宿主机的功耗调度均衡,提高云计算数据中心的资源利用率的技术效果。
由此,本申请提供的方案解决了现有技术中虚拟机的调度方法仅根据CPU参数来实现,导致功耗调度不均衡的技术问题。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的一种用于实现虚拟机的调度方法的计算机终端(或移动设备)的硬件结构框图;
图2是根据本申请实施例1的一种虚拟机的调度方法的流程图;
图3是根据本申请实施例的一种可选的虚拟机的调度方法的示意图;
图4是根据本申请实施例的一种可选的虚拟机功耗模型相关性矩阵的示意图;
图5是根据本申请实施例的一种可选的虚拟机的特征向量的示意图;
图6是根据本申请实施例2的一种虚拟机的调度方法的流程图;
图7是根据本申请实施例3的一种虚拟机的调度装置的示意图;
图8是根据本申请实施例4的一种虚拟机的调度装置的示意图;以及
图9是根据本申请实施例的一种计算机终端的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,在对本申请实施例进行描述的过程中出现的部分名词或术语适用于如下解释:
虚拟机(VM)调度:创建虚拟机时,可以是调度***如何分配虚拟机到具体哪台宿主机(NC)上的过程。
机架(RACK):可以是机房中放置宿主机(NC)的架子,有额定功耗的限制。
上架密度:可以是同一个机架下放置宿主机(NC)的台数。
散热设计功耗(TDP):可以是处理器在最糟糕、最坏情况下的功耗,散热解决方案的设计必须满足这种热设计功耗。
Power Capping:宿主机(NC)限电,可以是设置处理器功耗能达到的最大或者最小值。
实施例1
根据本申请实施例,还提供了一种虚拟机的调度方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。图1示出了一种用于实现虚拟机的调度方法的计算机终端(或移动设备)的硬件结构框图。如图1所示,计算机终端10(或移动设备10)可以包括一个或多个(图中采用102a、102b,……,102n来示出)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输装置106。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为I/O接口的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
应当注意到的是上述一个或多个处理器102和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算机终端10(或移动设备)中的其他元件中的任意一个内。如本申请实施例中所涉及到的处理器,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
存储器104可用于存储应用软件的软件程序以及模块,如本申请实施例中的虚拟机的调度方法对应的程序指令/数据存储装置,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的虚拟机的调度方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与计算机终端10(或移动设备)的用户界面进行交互。
此处需要说明的是,在一些可选实施例中,上述图1所示的计算机设备(或移动设备)可以包括硬件元件(包括电路)、软件元件(包括存储在计算机可读介质上的计算机代码)、或硬件元件和软件元件两者的结合。应当指出的是,图1仅为特定具体实例的一个实例,并且旨在示出可存在于上述计算机设备(或移动设备)中的部件的类型。
在上述运行环境下,本申请提供了如图2所示的虚拟机的调度方法。图2是根据本申请实施例1的一种虚拟机的调度方法的流程图。如图2所示,该方法可以包括如下步骤:
步骤S22,获取机架的能耗数据和宿主机的能耗数据,其中,机架用于放置宿主机。
需要说明的是,本申请提供的虚拟机的调度方法应用于云计算数据中心中。
本申请上述实施例中,能耗数据包括:功耗数据和电热数据。
具体地,上述的宿主机NC可以是放置在机架上的服务器;上述的能耗数据可以是机架或NC的实时功耗数据、电热数据,电热数据主要指机架或NC的温度,功耗数据和电热数据均包含有库存水位和预警水位,其中,预警水位可以是根据实际使用需求,预先设定的最低库存水位。
步骤S24,确定虚拟机的功耗数据。
具体地,上述的虚拟机可以是新创建的虚拟机VM,也可以是需要进行二次调度或迁移的VM,包括服务器VM和用户VM;为了确保虚拟机功耗分配均衡,需要确定虚拟机的功耗数据,也即确定服务器VM和用户VM的功耗数据。VM类型不同,对应的功耗模型也不同,例如,服务器VM对应的功耗模型可以是相关性模型,用户VM对应的功耗模型可以是用户行为模型。
步骤S26,根据机架的能耗数据、宿主机的能耗数据和虚拟机的功耗数据,确定虚拟机对应的目标宿主机。
为了确保虚拟机功耗调度均衡,调度***可以根据功耗数据,库存水位等进行功耗感知调度,也即结合机架和NC的能耗数据,以及VM的功耗数据,对VM进行均衡调度,使得机架之间的功耗方差最小化,确保高功耗VM优先调度到功耗水位充足的NC上,也即使得机架和宿主机CPU的功耗消耗尽可能地平均。
步骤S28,将虚拟机调度至目标宿主机。
在一种可选的方案中,当需要对VM进行调度时,可以实时采集机架和机架上放置的NC的功耗数据和电热数据,同时预测VM的功耗数据和未来功耗数据,根据机架和NC的功耗数据和电热数据以及虚拟机的功耗数据和未来功耗数据,确定需要将VM调度至相应的机架和相应的NC,也即确定VM对应的NC,然后将虚拟机调度至该NC。
例如,如图3所示,当新VM创建,或者二次调度/迁移时,可以采集机架和NC的功耗数据和IDC(互联网数据中心,是Internet Data Center的简称)电热数据,并通过服务器VM功耗模型和用户VM功耗模型得到VM的功耗数据,将机架和NC的功耗数据和IDC电热数据以及VM的功耗数据输入调度***中,通过调度算法对VM进行调度,选择集群、机架和服务器。
本申请上述实施例1所提供的方案,可以获取机架和宿主机的能耗数据,同时确定虚拟机的功耗数据,进一步根据机架和宿主机的能耗数据以及虚拟机的功耗数据,确定目标宿主机,并将虚拟机调度至目标宿主机,从而实现基于实时功耗感知,对虚拟机进行调度的目的。
容易注意到的是,由于根据机架的能耗数据、宿主机的能耗数据和虚拟机的功耗数据,确定虚拟机对应的目标宿主机,与现有技术相比,在进行虚拟机调度时,不仅仅考虑CPU参数,还考虑机架和宿主机的功耗,达到数据中心机架粒度宿主机的功耗调度均衡,提高云计算数据中心的资源利用率的技术效果。
由此,本申请提供的上述实施例1的方案解决了现有技术中虚拟机的调度方法仅根据CPU参数来实现,导致功耗调度不均衡的技术问题。
本申请上述实施例中,步骤S26,根据机架的能耗数据、宿主机的能耗数据和虚拟机的功耗数据,确定虚拟机对应的目标宿主机,包括:
步骤S262,根据机架的能耗数据,确定能耗正常的第一机架。
本申请上述实施例中,第一机架为功耗数据未超过第一阈值,且电热数据未超过第二阈值的机架。
为了避免机架的功耗过大,或者温度过高,调度VM之后导致功耗继续增加,因此,在对VM进行调度之前,可以对机架进行筛选,剔除掉功耗较大、温度较高的机架,也即从所有的机架中确定能耗正常的机架,剔除掉能耗异常的机架。
具体地,上述的第一阈值可以是确定机架功耗正常的最大功耗,如果机架的功耗数据超过第一阈值,则确定机架的功耗过大,该机架为能耗异常的机架;上述的第二阈值可以是确定机架温度正常的最高温度,如果机架的电热数据超过第二阈值,则确定机架的温度过高,该机架为能耗异常的机架。
步骤S264,根据第一机架上放置的宿主机的能耗数据,确定能耗正常的第一宿主机。
本申请上述实施例中,第一宿主机为第一机架上放置的,功耗数据未超过第三阈值,电热数据未超过第四阈值,且硬件检测结果为未出现异常的宿主机。
与机架筛选原理相同,在对VM进行调度之前,可以对NC进行筛选,剔除掉功耗较大、温度较高、硬件异常(例如风扇异常)的NC,也即从能耗正常的机架上放置的所有NC中确定能耗正常的NC,剔除掉能耗异常的NC。
具体地,上述的第三阈值可以是确定NC功耗正常的最大功耗,如果NC的功耗数据超过第三阈值,则确定NC的功耗过大,该NC为能耗异常的NC;上述的第四阈值可以是确定NC温度正常的最高温度,如果NC的电热数据超过第四阈值,则确定NC的温度过高,该NC为能耗异常的NC;上述的硬件检测结果可以是异常检测机制自动对NC的硬件进行检测得到的结果,并对NC进行打标。
需要说明的是,对于能耗异常的机架,不允许将VM调度至该机架上的任意一个NC上,而对于能耗异常的NC,不允许将VM调度至该NC上,也即,能耗异常的机架上所有的NC和能耗异常的NC均不准进行VM调度。
步骤S266,根据第一宿主机的能耗数据和虚拟机的功耗数据,确定目标宿主机。
在一种可选的方案中,在对异常机架和异常NC进行过滤之后,可以根据过滤后的NC的功耗和VM的功耗,确定该VM对应的目标NC,保证将高功耗VM优先调度至功耗水位充足的NC上,也即,高功耗VM对应的NC的功耗较低。
本申请上述实施例中,步骤S266,根据第一宿主机的能耗数据和虚拟机的功耗数据,确定目标宿主机,包括:
步骤S2662,根据第一宿主机的功耗数据,确定第一宿主机的权重值,其中,功耗数据与权重值成反比例关系。
具体地,为了保证高功耗VM优先调度到功耗水位充足的NC上,可以根据NC的功耗计算得到相应的权重值,功耗大的NC的权重值小。
步骤S2664,根据第一宿主机的权重值和虚拟机的功耗数据,得到目标宿主机。
在一种可选的方案中,调度***可以分为过滤器和权重器,在通过过滤器对能耗异常的机架和NC进行过滤之后,对于余下的NC,可以通过权重器计算每个NC相应的权重值,并根据NC的权重值和VM的功耗,对余下的NC进行权重打分,选择排名高的NC得到目标NC。例如,对于NC1,CPU利用率为20%,功耗利用率为60%,计算得到总load的权重比为CPU利用率和功耗利用率各占50%,则该NC1的分值为:CPU利用率分值+功耗利用率分值=100*50%*20%+100*50%*60%=10+30=40。
本申请上述实施例中,在步骤S26,根据机架的能耗数据、宿主机的能耗数据和虚拟机的功耗数据,确定虚拟机对应的目标宿主机之前,该方法还可以包括如下步骤:
步骤S210,判断虚拟机是否为预设虚拟机,其中,预设虚拟机为无法进行调度的虚拟机。
具体地,上述的预设虚拟机可以是预先根据安全需求设置的不能主动迁移的VM,例如,大内存的VM,或者无法进行热迁移的VM。
步骤S212,如果虚拟机不是预设虚拟机,则根据机架的能耗数据、宿主机的能耗数据和虚拟机的功耗数据,确定虚拟机对应的目标宿主机。
在一种可选的方案中,对于能够主动迁移的VM,可以根据机架的能耗数据对机架进行过滤,进一步根据NC的能耗数据对NC进行过滤,根据过滤后的NC的能耗数据计算相应的权重值,结合VM的功耗数据,对过滤后的NC进行权重打分,从而选取排名高的NC得到目标NC,进一步将VM调度至该NC。
步骤S214,如果虚拟机是预设虚拟机,则根据机架和宿主机的能耗数据和虚拟机的功耗数据,对预设虚拟机进行限电处理。
在一种可选的方案中,对于不能主动迁移的VM,可以根据实时采集到的机架和NC的能耗数据,结合VM的功耗数据,对不能主动迁移的VM进行Power Capping处理,从而确保机架水位安全,具体地,可以根据实时功耗数据和预警水位,对不能主动迁移的VM进行Power Capping处理,从而确保机架水位安全,达到实时消除峰刺的Power Capping调度的目的。例如,对于10000W的机架,实时功耗达到90%(9000W),开始VM迁移,实时功耗到95%(9500),可以挑选NC进行Power Capping。
例如,如图3所示,调度***在通过调度算法对VM进行调度的过程中,对于能主动迁移的VM,可以根据获取到的机架和NC的功耗数据、IDC电热数据以及VM的功耗数据,选择集群,机架和服务器;对于不能主动迁移的VM,可以根据获取到的机架和NC的功耗数据、IDC电热数据以及VM的功耗数据,选择Power Capping配置。
本申请上述实施例中,步骤S24,确定虚拟机的功耗数据,包括:
步骤S242,通过相关性模型得到虚拟机的第一功耗数据,其中,相关性模型用于表征虚拟机的特征参数之间的相关性。
具体地,对于服务器VM,可以通过相关性模型得到VM的功耗数据,如图4所示的相关矩阵(图4中圆圈的颜色和大小不同,表示相关性强弱不同),矩阵对角线元素为某一特征(例如Volt)的自相关性,自相关性为1,也即该矩阵对角线元素的值均为1,并且该矩阵为对称矩阵;上述的特征参数可以是CFreq、Util、Temp等,如图4和图5所示,特征参数可以包括:Dev、CFreq、X.Util、X.C0、DTS、Temp、Volt。
在一种可选的方案中,如图3所示,对于服务器VM,可以通过相关性模型得到相应的功耗数据。
步骤S244,根据虚拟机的历史功耗数据和特征数据,得到虚拟机的第二功耗数据。
具体地,上述的历史功耗数据可以是用户VM的用户历史功耗数据,上述的特征数据可以是用户特征,例如,是否为大数据用户,是否为离线计算用户。
在一种可选的方案中,对于用户VM,如图3所示,可以通过历史数据(即历史功耗数据)和用户规格(即特征数据),为用户VM分类是否为高功耗VM,从而预测未来一段时间的功耗数据。
步骤S246,根据第一功耗数据和第二功耗数据,确定虚拟机的功耗数据。
在一种可选的方案中,为了实现基于功耗感知的VM调度,需要确定VM的功耗,如图3所示,可以通过服务器VM功耗模型(即相关性模型)得到服务器VM的功耗数据,可以包括VM1、VM2、VM3、主机服务(host service)以及基础power,同时可以通过用户VM功耗模型,结合历史数据和用户规格,得到用户VM的功耗数据。
本申请上述实施例中,步骤S242,通过相关性模型得到虚拟机的第一功耗数据,包括:
步骤S2422,获取虚拟机的特征向量和虚拟机所在宿主机的功耗数据。
具体地,上述的特征向量可以由CFreq,Util,Temp等特征维度构成。
步骤S2424,将虚拟机的特征向量和虚拟机所在宿主机的功耗数据输入至相关性模型,得到第一功耗数据。
具体地,上述的相关性模型可以通过功耗分摊问题得到,功耗分摊的目标为:
其中,当J接近为0时,可以确定功耗已经分摊;n表示NC上的进程数,也即NC上VM数;P为实际采集到的CPU的功耗,也即,NC的功耗数据,CPU的数量在此不作限定,可以是N个;pi为每个进程的功耗,也即每个VM的功耗,可以通过线性模型表示,具体为:pi=WTXi+b,其中,W为参数因子矩阵,b为偏移量,W和b可以通过学习得到,从而得到W和b之后,即可得到VM的功耗数据;X为特征信息构成的特征向量,如图5所示。
则功耗分摊的目标函数变为:
由上可知,要想得到功耗分摊模型,需要利用NC下所有VM特征值的累加值和NC的功耗构建模型,从而根据功耗分摊模型,即可得到VM功耗模型,也即,得到相关性模型。
在一种可选的方案中,当需要确定某个VM的功耗数据时,可以获取该VM的特征向量X以及宿主机的功耗数据P,并将X和P输入至相关性模型,在输入X之后,可以得到W和b,在输入P之后,通过pi=WTXi+b可以得到该VM的功耗数据。
本申请上述实施例中,在步骤S242,通过相关性模型得到虚拟机的第一功耗数据之前,该方法还可以包括如下步骤:
步骤S248,构建初始模型。
具体地,上述的初始模型可以是根据功耗分摊问题和相关性矩阵确定的模型。
步骤S2410,获取虚拟机的历史功耗数据,虚拟机的特征向量和虚拟机所在宿主机的历史功耗数据,得到样本数据。
具体地,训练模型的样本数据可以由VM的历史功耗数据、特征向量以及相应的NC的功耗数据组成,其中,可以将VM的历史功耗数据作为VM的特征向量和NC的功耗数据的标签。
步骤S2412,通过样本数据对初始模型进行训练,得到相关性模型。
在一种可选的方案中,通过获取到的样本数据对初始模型进行训练,由上可知,可以对W和b进行计算,直至W和b满足训练要求,完成训练,从而得到相关性模型。也即,训练模型的过程是对W和b进行求解的过程。
本申请上述实施例中,在步骤S28,将虚拟机调度至目标宿主机之后,该方法还可以包括如下步骤:
步骤S216,获取宿主机的历史售卖率。
具体地,上述的历史售卖率用于表示宿主机被用户使用的频率,历史售卖率越高,表明被用户使用的频率越高,越需要放置在机架上,从而对机架的上架密度有较大影响。
步骤S218,根据历史售卖率,获取满足预设条件的第二宿主机。
具体地,由于宿主机的历史售卖率越高,对机架的上架密度影响越大,可以筛选出售卖率高的宿主机,因此上述的预设条件可以是表示宿主机的售卖率较高的售卖率阈值。
需要说明的是,为了使筛选出来的NC具有达标性,需要确保筛选出来的NC数量够多,例如超过1000个。
步骤S220,根据第二宿主机的功耗数据,预设置信度和机架的额定功耗数据,得到机架的上架密度,其中,上架密度用于表征同一个机架上放置的宿主机的数量。
具体地,上述的预设置信度可以是根据业务指定的Power Capping和功耗异常的比例所得到的,例如,业务指定的Power Capping和功耗异常的比例为5%,则预设置信度可以是95%,也即,上架密度有95%时是可信的。
需要说明的是,上述的预设置信度不仅仅可以是一个确定的值,还可以是一个置信度区间。
在一种可选的方案中,机架具有额定功耗,为了确保安全,上架后的所有宿主机的总功耗不能超过机架的额定功耗,并且由于预设置信度的存在,可以根据预设置信度和NC的功耗数据,对NC进行筛选,并根据筛选后的NC的功耗数据和机架的总功耗,得到上架密度。
通过上述方案,通过给出上架密度既可以确保业务安全,又可以给出上架标准,从而不需要提前预留机位以防止机架掉电,实现节省成本的目的。
本申请上述实施例中,步骤S220,根据第二宿主机的功耗数据,预设置信度和机架的额定功耗数据,得到机架的上架密度,包括:
步骤S2202,按照功耗数据从小到大的顺序,对第二宿主机进行排序。
步骤S2204,根据预设置信度,从排序后的第二宿主机中获取第三宿主机。
需要说明的是,受到置信度的影响,为了确保业务安全,可以根据预设置信度,筛选出功耗较小的NC。
在一种可选的方案中,可以按照NC的功耗数据从小到大的顺序进行排序,并根据预设置信度,筛选出排名靠前的NC,例如,预设置信度为95%,1000个NC按照功耗从小到大的顺序排序后(例如1至1000w),筛选出前95%的NC(例如1至950w),也即,筛选出排名前950的NC。
步骤S2206,从第三宿主机的功耗数据中获取最大功耗数据。
步骤S2208,获取机架的额定功耗数据和最大功耗数据的比值,得到上架密度。
在一种可选的方案中,可以根据预设置信度,取相应NC的最大功耗来上架,也即,在筛选出NC之后,可以通过计算机架的额定功耗和NC的最大功耗的比值,得到上架密度,例如,筛选出排名前950的NC(例如1至950w)后,可以确定上架密度为机架的额定功耗8000w/950w=8,也即,该机架上允许放置8个NC。
本申请上述实施例中,步骤S218,根据历史售卖率,获取满足预设条件的第二宿主机,包括:
步骤S2182,按照历史售卖率从大到小的顺序,对宿主机进行排序。
步骤S2184,根据预设售卖率阈值,从排序后的宿主机中获取第二宿主机。
具体地,上述的预设售卖率阈值可以是用于筛选出售卖率较高的NC的最小售卖率,例如,可以是90%。
在一种可选的方案中,为了计算得到上架密度,需要筛选出售卖率较高的NC,所有NC可以按照售卖率从大到小的顺序进行排序,并筛选出排名靠前的NC,例如,可以在对NC进行排序之后,筛选出排名前90%的NC,同时,需要确保NC的数量足够多。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
实施例2
根据本申请实施例,还提供了一种虚拟机的调度方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图6是根据本申请实施例2的一种虚拟机的调度方法的流程图。如图6所示,该方法可以包括如下步骤:
步骤S62,获取机架的能耗数据,宿主机的能耗数据和虚拟机的功耗数据,其中,机架上放置有多个宿主机。
需要说明的是,本申请提供的虚拟机的调度方法应用于云计算数据中心中。
本申请上述实施例中,能耗数据包括:功耗数据和电热数据。
具体地,上述的宿主机NC可以是放置在机架上的服务器;上述的能耗数据可以是机架或NC的实时功耗数据、电热数据,电热数据主要指机架或NC的温度,功耗数据和电热数据均包含有库存水位和预警水位,其中,预警水位可以是根据实际使用需求,预先设定的最低库存水位;上述的虚拟机可以是新创建的虚拟机VM,也可以是需要进行二次调度或迁移的VM,包括服务器VM和用户VM;为了确保虚拟机功耗分配均衡,需要确定虚拟机的功耗数据,也即确定服务器VM和用户VM的功耗数据。VM类型不同,对应的功耗模型也不同,例如,服务器VM对应的功耗模型可以是相关性模型,用户VM对应的功耗模型可以是用户行为模型。
步骤S64,根据机架的能耗数据、宿主机的能耗数据和虚拟机的功耗数据,确定虚拟机对应的目标宿主机。
为了确保虚拟机功耗调度均衡,调度***可以根据功耗数据,库存水位等进行功耗感知调度,也即结合机架和NC的能耗数据,以及VM的功耗数据,对VM进行均衡调度,使得机架之间的功耗方差最小化,确保高功耗VM优先调度到功耗水位充足的NC上,也即使得机架和宿主机CPU的功耗消耗尽可能地平均。
步骤S66,将虚拟机调度至宿主机。
在一种可选的方案中,当需要对VM进行调度时,可以实时采集机架和机架上放置的NC的功耗数据和电热数据,同时预测VM的功耗数据和未来功耗数据,根据机架和NC的功耗数据和电热数据以及虚拟机的功耗数据和未来功耗数据,确定需要将VM调度至相应的机架和相应的NC,也即确定VM对应的NC,然后将虚拟机调度至该NC。
例如,如图3所示,当新VM创建,或者二次调度/迁移时,可以采集机架和NC的功耗数据和IDC电热数据,并通过服务器VM功耗模型和用户VM功耗模型得到VM的功耗数据,将机架和NC的功耗数据和IDC电热数据以及VM的功耗数据输入调度***中,通过调度算法对VM进行调度,选择集群、机架和服务器。
步骤S68,根据机架的能耗数据和宿主机的能耗数据,得到机架的上架密度,其中,上架密度用于表征同一个机架上放置的宿主机的数量。
在一种可选的方案中,机架具有额定功耗,为了确保安全,上架后的所有宿主机的总功耗不能超过机架的额定功耗,可以根据NC的功耗数据和宿主机的额定功耗数据,得到该机架的上架密度,从而给出上架密度标准,不需要提前预留机位以防止机架掉电,实现节省成本的目的。
本申请上述实施例2所提供的方案,可以获取机架和宿主机的能耗数据,同时确定虚拟机的功耗数据,进一步根据机架和宿主机的能耗数据以及虚拟机的功耗数据,确定目标宿主机,并将虚拟机调度至目标宿主机,进一步根据机架的能耗数据和宿主机的能耗数据,得到机架的上架密度,从而实现基于实时功耗感知,对虚拟机进行调度,并给出上架密度标准的目的。
容易注意到的是,由于根据机架的能耗数据、宿主机的能耗数据和虚拟机的功耗数据,确定虚拟机对应的目标宿主机,并且根据机架的能耗数据和宿主机的能耗数据,得到机架的上架密度,与现有技术相比,在进行虚拟机调度时,不仅仅考虑CPU参数,还考虑机架和宿主机的功耗,而且能够给出精确的上架密度,达到数据中心机架粒度宿主机的功耗调度均衡,提高上架密度,提高云计算数据中心的资源利用率的技术效果。
由此,本申请提供的上述实施例2的方案解决了现有技术中虚拟机的调度方法仅根据CPU参数来实现,导致功耗调度不均衡的技术问题。
本申请上述实施例中,步骤S68,根据机架的能耗数据和宿主机的能耗数据,得到机架的上架密度,包括:
步骤S682,获取宿主机的历史售卖率。
具体地,上述的历史售卖率用于表示宿主机被用户使用的频率,历史售卖率越高,表明被用户使用的频率越高,越需要放置在机架上,从而对机架的上架密度有较大影响。
步骤S684,根据历史售卖率,获取满足预设条件的第二宿主机。
具体地,由于宿主机的历史售卖率越高,对机架的上架密度影响越大,可以筛选出售卖率高的宿主机,因此上述的预设条件可以是表示宿主机的售卖率较高的售卖率阈值。
需要说明的是,为了使筛选出来的NC具有达标性,需要确保筛选出来的NC数量够多,例如超过1000个。
步骤S686,根据第二宿主机的功耗数据,预设置信度和机架的额定功耗数据,得到机架的上架密度。
具体地,上述的预设置信度可以是根据业务指定的Power Capping和功耗异常的比例所得到的,例如,业务指定的Power Capping和功耗异常的比例为5%,则预设置信度可以是95%,也即,上架密度有95%时是可信的。
需要说明的是,上述的预设置信度不仅仅可以是一个确定的值,还可以是一个置信度区间。
在一种可选的方案中,由于预设置信度的存在,可以根据预设置信度和NC的功耗数据,对NC进行筛选,并根据筛选后的NC的功耗数据和机架的总功耗,得到上架密度。
需要说明的是,本实施例的优选实施方式可以参见实施例1中的相关描述,此处不再赘述。
实施例3
根据本申请实施例,还提供了一种用于实施上述虚拟机的调度方法的虚拟机的调度装置,如图7所示,该装置700包括:第一获取模块702、第一确定模块704、第二确定模块706和第一调度模块708。
其中,第一获取模块702,用于获取机架的能耗数据和宿主机的能耗数据,其中,机架用于放置宿主机;第一确定模块704,用于确定虚拟机的功耗数据;第二确定模块706,用于根据机架的能耗数据、宿主机的能耗数据和虚拟机的功耗数据,确定虚拟机对应的目标宿主机;第一调度模块708,用于将虚拟机调度至目标宿主机。
本申请上述实施例中,能耗数据包括:功耗数据和电热数据。
具体地,上述的宿主机NC可以是放置在机架上的服务器;上述的能耗数据可以是机架或NC的实时功耗数据、电热数据,电热数据主要指机架或NC的温度,功耗数据和电热数据均包含有库存水位和预警水位,其中,预警水位可以是根据实际使用需求,预先设定的最低库存水位;上述的虚拟机可以是新创建的虚拟机VM,也可以是需要进行二次调度或迁移的VM,包括服务器VM和用户VM;为了确保虚拟机功耗分配均衡,需要确定虚拟机的功耗数据,也即确定服务器VM和用户VM的功耗数据。VM类型不同,对应的功耗模型也不同,例如,服务器VM对应的功耗模型可以是相关性模型,用户VM对应的功耗模型可以是用户行为模型。
此处需要说明的是,上述第一获取模块702、第一确定模块704、第二确定模块706和第一调度模块708对应于实施例1中的步骤S22至步骤S28,四个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例1提供的计算机终端10中。
本申请上述实施例3所提供的方案,可以获取机架和宿主机的能耗数据,同时确定虚拟机的功耗数据,进一步根据机架和宿主机的能耗数据以及虚拟机的功耗数据,确定目标宿主机,并将虚拟机调度至目标宿主机,从而实现基于实时功耗感知,对虚拟机进行调度的目的。
容易注意到的是,由于根据机架的能耗数据、宿主机的能耗数据和虚拟机的功耗数据,确定虚拟机对应的目标宿主机,与现有技术相比,在进行虚拟机调度时,不仅仅考虑CPU参数,还考虑机架和宿主机的功耗,达到数据中心机架粒度宿主机的功耗调度均衡,提高云计算数据中心的资源利用率的技术效果。
由此,本申请提供的上述实施例3的方案解决了现有技术中虚拟机的调度方法仅根据CPU参数来实现,导致功耗调度不均衡的技术问题。
实施例4
根据本申请实施例,还提供了一种用于实施上述虚拟机的调度方法的虚拟机的调度装置,如图8所示,该装置800包括:第二获取模块802、第三确定模块804、第二调度模块806和处理模块808。
其中,第二获取模块802,用于获取机架的能耗数据,宿主机的能耗数据和虚拟机的功耗数据,其中,机架上放置有多个宿主机;第三确定模块804,用于根据机架的能耗数据、宿主机的能耗数据和虚拟机的功耗数据,确定虚拟机对应的目标宿主机;第二调度模块806,用于将虚拟机调度至宿主机;处理模块808,用于根据机架的能耗数据和宿主机的能耗数据,得到机架的上架密度,其中,上架密度用于表征同一个机架上放置的宿主机的数量。
本申请上述实施例中,能耗数据包括:功耗数据和电热数据。
具体地,上述的宿主机NC可以是放置在机架上的服务器;上述的能耗数据可以是机架或NC的实时功耗数据、电热数据,电热数据主要指机架或NC的温度,功耗数据和电热数据均包含有库存水位和预警水位,其中,预警水位可以是根据实际使用需求,预先设定的最低库存水位;上述的虚拟机可以是新创建的虚拟机VM,也可以是需要进行二次调度或迁移的VM,包括服务器VM和用户VM;为了确保虚拟机功耗分配均衡,需要确定虚拟机的功耗数据,也即确定服务器VM和用户VM的功耗数据。VM类型不同,对应的功耗模型也不同,例如,服务器VM对应的功耗模型可以是相关性模型,用户VM对应的功耗模型可以是用户行为模型。
此处需要说明的是,上述第二获取模块802、第三确定模块804、第二调度模块806和处理模块808对应于实施例2中的步骤S62至步骤S68,四个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例2所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例1提供的计算机终端10中。
本申请上述实施例4所提供的方案,可以获取机架和宿主机的能耗数据,同时确定虚拟机的功耗数据,进一步根据机架和宿主机的能耗数据以及虚拟机的功耗数据,确定目标宿主机,并将虚拟机调度至目标宿主机,进一步根据机架的能耗数据和宿主机的能耗数据,得到机架的上架密度,从而实现基于实时功耗感知,对虚拟机进行调度,并给出上架密度标准的目的。
容易注意到的是,由于根据机架的能耗数据、宿主机的能耗数据和虚拟机的功耗数据,确定虚拟机对应的目标宿主机,并且根据机架的能耗数据和宿主机的能耗数据,得到机架的上架密度,与现有技术相比,在进行虚拟机调度时,不仅仅考虑CPU参数,还考虑机架和宿主机的功耗,而且能够给出精确的上架密度,达到数据中心机架粒度宿主机的功耗调度均衡,提高上架密度,提高云计算数据中心的资源利用率的技术效果。
由此,本申请提供的上述实施例4的方案解决了现有技术中虚拟机的调度方法仅根据CPU参数来实现,导致功耗调度不均衡的技术问题。
实施例5
根据本申请实施例,还提供了一种虚拟机的调度***,包括:
处理器;以及
存储器,与处理器连接,用于为处理器提供处理以下处理步骤的指令:获取机架的能耗数据和宿主机的能耗数据,其中,机架用于放置宿主机;确定虚拟机的功耗数据;根据机架的能耗数据、宿主机的能耗数据和虚拟机的功耗数据,确定虚拟机对应的目标宿主机;将虚拟机调度至目标宿主机。
本申请上述实施例5所提供的方案,可以获取机架和宿主机的能耗数据,同时确定虚拟机的功耗数据,进一步根据机架和宿主机的能耗数据以及虚拟机的功耗数据,确定目标宿主机,并将虚拟机调度至目标宿主机,从而实现基于实时功耗感知,对虚拟机进行调度的目的。
容易注意到的是,由于根据机架的能耗数据、宿主机的能耗数据和虚拟机的功耗数据,确定虚拟机对应的目标宿主机,与现有技术相比,在进行虚拟机调度时,不仅仅考虑CPU参数,还考虑机架和宿主机的功耗,达到数据中心机架粒度宿主机的功耗调度均衡,提高云计算数据中心的资源利用率的技术效果。
由此,本申请提供的上述实施例5的方案解决了现有技术中虚拟机的调度方法仅根据CPU参数来实现,导致功耗调度不均衡的技术问题。
实施例6
本申请的实施例可以提供一种计算机终端,该计算机终端可以是计算机终端群中的任意一个计算机终端设备。可选地,在本实施例中,上述计算机终端也可以替换为移动终端等终端设备。
可选地,在本实施例中,上述计算机终端可以位于计算机网络的多个网络设备中的至少一个网络设备。
在本实施例中,上述计算机终端可以执行虚拟机的调度方法中以下步骤的程序代码:获取机架的能耗数据和宿主机的能耗数据,其中,机架用于放置宿主机;确定虚拟机的功耗数据;根据机架的能耗数据、宿主机的能耗数据和虚拟机的功耗数据,确定虚拟机对应的目标宿主机;将虚拟机调度至目标宿主机。
可选地,图9是根据本申请实施例的一种计算机终端的结构框图。如图9所示,该计算机终端A可以包括:一个或多个(图中仅示出一个)处理器902和存储器904。
其中,存储器可用于存储软件程序以及模块,如本申请实施例中的虚拟机的调度方法和装置对应的程序指令/模块,处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的虚拟机的调度方法。存储器可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至终端A。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
处理器可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:获取机架的能耗数据和宿主机的能耗数据,其中,机架用于放置宿主机;确定虚拟机的功耗数据;根据机架的能耗数据、宿主机的能耗数据和虚拟机的功耗数据,确定虚拟机对应的目标宿主机;将虚拟机调度至目标宿主机。
可选的,上述处理器还可以执行如下步骤的程序代码:能耗数据包括:功耗数据和电热数据。
可选的,上述处理器还可以执行如下步骤的程序代码:根据机架的能耗数据,确定能耗正常的第一机架;根据第一机架上放置的宿主机的能耗数据,确定能耗正常的第一宿主机;根据第一宿主机的能耗数据和虚拟机的功耗数据,确定目标宿主机。
可选的,上述处理器还可以执行如下步骤的程序代码:根据第一宿主机的功耗数据,确定第一宿主机的权重值,其中,功耗数据与权重值成反比例关系;根据第一宿主机的权重值和虚拟机的功耗数据,得到目标宿主机。
可选的,上述处理器还可以执行如下步骤的程序代码:第一机架为功耗数据未超过第一阈值,且电热数据未超过第二阈值的机架;第一宿主机为第一机架上放置的,功耗数据未超过第三阈值,电热数据未超过第四阈值,且硬件检测结果为未出现异常的宿主机。
可选的,上述处理器还可以执行如下步骤的程序代码:在根据机架的能耗数据、宿主机的能耗数据和虚拟机的功耗数据,确定虚拟机对应的目标宿主机之前,判断虚拟机是否为预设虚拟机,其中,预设虚拟机为无法进行调度的虚拟机;如果虚拟机不是预设虚拟机,则根据机架的能耗数据、宿主机的能耗数据和虚拟机的功耗数据,确定虚拟机对应的目标宿主机;如果虚拟机是预设虚拟机,则根据机架和宿主机的能耗数据和虚拟机的功耗数据,对预设虚拟机进行限电处理。
可选的,上述处理器还可以执行如下步骤的程序代码:通过相关性模型得到虚拟机的第一功耗数据,其中,相关性模型用于表征虚拟机的特征参数之间的相关性;根据虚拟机的历史功耗数据和特征数据,得到虚拟机的第二功耗数据;根据第一功耗数据和第二功耗数据,确定虚拟机的功耗数据。
可选的,上述处理器还可以执行如下步骤的程序代码:获取虚拟机的特征向量和虚拟机所在宿主机的功耗数据;将虚拟机的特征向量和虚拟机所在宿主机的功耗数据输入至相关性模型,得到第一功耗数据。
可选的,上述处理器还可以执行如下步骤的程序代码:在通过相关性模型得到虚拟机的第一功耗数据之前,构建初始模型;获取虚拟机的历史功耗数据,虚拟机的特征向量和虚拟机所在宿主机的历史功耗数据,得到样本数据;通过样本数据对初始模型进行训练,得到相关性模型。
可选的,上述处理器还可以执行如下步骤的程序代码:在将虚拟机调度至目标宿主机之后,获取宿主机的历史售卖率;根据历史售卖率,获取满足预设条件的第二宿主机;根据第二宿主机的功耗数据,预设置信度和机架的额定功耗数据,得到机架的上架密度,其中,上架密度用于表征同一个机架上放置的宿主机的数量。
可选的,上述处理器还可以执行如下步骤的程序代码:按照功耗数据从小到大的顺序,对第二宿主机进行排序;根据预设置信度,从排序后的第二宿主机中获取第三宿主机;从第三宿主机的功耗数据中获取最大功耗数据;获取机架的额定功耗数据和最大功耗数据的比值,得到上架密度。
可选的,上述处理器还可以执行如下步骤的程序代码:按照历史售卖率从大到小的顺序,对宿主机进行排序;根据预设售卖率阈值,从排序后的宿主机中获取第二宿主机。
采用本申请实施例,可以获取机架和宿主机的能耗数据,同时确定虚拟机的功耗数据,进一步根据机架和宿主机的能耗数据以及虚拟机的功耗数据,确定目标宿主机,并将虚拟机调度至目标宿主机,从而实现基于实时功耗感知,对虚拟机进行调度的目的。
容易注意到的是,由于根据机架的能耗数据、宿主机的能耗数据和虚拟机的功耗数据,确定虚拟机对应的目标宿主机,与现有技术相比,在进行虚拟机调度时,不仅仅考虑CPU参数,还考虑机架和宿主机的功耗,达到数据中心机架粒度宿主机的功耗调度均衡,提高云计算数据中心的资源利用率的技术效果。
由此,本申请提供的方案解决了现有技术中虚拟机的调度方法仅根据CPU参数来实现,导致功耗调度不均衡的技术问题。
本领域普通技术人员可以理解,图9所示的结构仅为示意,计算机终端也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌声电脑以及移动互联网设备(MobileInternet Devices,MID)、PAD等终端设备。图9其并不对上述电子装置的结构造成限定。例如,计算机终端A还可包括比图9中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图9所示不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。
实施例7
本申请的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于保存上述实施例一所提供的虚拟机的调度方法所执行的程序代码。
可选地,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:获取机架的能耗数据和宿主机的能耗数据,其中,机架用于放置宿主机;确定虚拟机的功耗数据;根据机架的能耗数据、宿主机的能耗数据和虚拟机的功耗数据,确定虚拟机对应的目标宿主机;将虚拟机调度至目标宿主机。
可选的,存储介质还被设置为存储用于执行以下步骤的程序代码:能耗数据包括:功耗数据和电热数据。
可选的,存储介质还被设置为存储用于执行以下步骤的程序代码:根据机架的能耗数据,确定能耗正常的第一机架;根据第一机架上放置的宿主机的能耗数据,确定能耗正常的第一宿主机;根据第一宿主机的能耗数据和虚拟机的功耗数据,确定目标宿主机。
可选的,存储介质还被设置为存储用于执行以下步骤的程序代码:根据第一宿主机的功耗数据,确定第一宿主机的权重值,其中,功耗数据与权重值成反比例关系;根据第一宿主机的权重值和虚拟机的功耗数据,得到目标宿主机。
可选的,存储介质还被设置为存储用于执行以下步骤的程序代码:第一机架为功耗数据未超过第一阈值,且电热数据未超过第二阈值的机架;第一宿主机为第一机架上放置的,功耗数据未超过第三阈值,电热数据未超过第四阈值,且硬件检测结果为未出现异常的宿主机。
可选的,存储介质还被设置为存储用于执行以下步骤的程序代码:在根据机架的能耗数据、宿主机的能耗数据和虚拟机的功耗数据,确定虚拟机对应的目标宿主机之前,判断虚拟机是否为预设虚拟机,其中,预设虚拟机为无法进行调度的虚拟机;如果虚拟机不是预设虚拟机,则根据机架的能耗数据、宿主机的能耗数据和虚拟机的功耗数据,确定虚拟机对应的目标宿主机;如果虚拟机是预设虚拟机,则根据机架和宿主机的能耗数据和虚拟机的功耗数据,对预设虚拟机进行限电处理。
可选的,存储介质还被设置为存储用于执行以下步骤的程序代码:通过相关性模型得到虚拟机的第一功耗数据,其中,相关性模型用于表征虚拟机的特征参数之间的相关性;根据虚拟机的历史功耗数据和特征数据,得到虚拟机的第二功耗数据;根据第一功耗数据和第二功耗数据,确定虚拟机的功耗数据。
可选的,存储介质还被设置为存储用于执行以下步骤的程序代码:获取虚拟机的特征向量和虚拟机所在宿主机的功耗数据;将虚拟机的特征向量和虚拟机所在宿主机的功耗数据输入至相关性模型,得到第一功耗数据。
可选的,存储介质还被设置为存储用于执行以下步骤的程序代码:在通过相关性模型得到虚拟机的第一功耗数据之前,构建初始模型;获取虚拟机的历史功耗数据,虚拟机的特征向量和虚拟机所在宿主机的历史功耗数据,得到样本数据;通过样本数据对初始模型进行训练,得到相关性模型。
可选的,存储介质还被设置为存储用于执行以下步骤的程序代码:在将虚拟机调度至目标宿主机之后,获取宿主机的历史售卖率;根据历史售卖率,获取满足预设条件的第二宿主机;根据第二宿主机的功耗数据,预设置信度和机架的额定功耗数据,得到机架的上架密度,其中,上架密度用于表征同一个机架上放置的宿主机的数量。
可选的,存储介质还被设置为存储用于执行以下步骤的程序代码:按照功耗数据从小到大的顺序,对第二宿主机进行排序;根据预设置信度,从排序后的第二宿主机中获取第三宿主机;从第三宿主机的功耗数据中获取最大功耗数据;获取机架的额定功耗数据和最大功耗数据的比值,得到上架密度。
可选的,存储介质还被设置为存储用于执行以下步骤的程序代码:按照历史售卖率从大到小的顺序,对宿主机进行排序;根据预设售卖率阈值,从排序后的宿主机中获取第二宿主机。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

Claims (15)

1.一种虚拟机的调度方法,其特征在于,包括:
获取机架的能耗数据和宿主机的能耗数据,其中,所述机架用于放置所述宿主机;
确定虚拟机的功耗数据;
根据所述机架的能耗数据、所述宿主机的能耗数据和所述虚拟机的功耗数据,确定所述虚拟机对应的目标宿主机;
将所述虚拟机调度至所述目标宿主机;
其中,确定虚拟机的功耗数据,包括:
通过相关性模型得到所述虚拟机的第一功耗数据,其中,所述相关性模型用于表征所述虚拟机的特征参数之间的相关性;
根据所述虚拟机的历史功耗数据和特征数据,得到所述虚拟机的第二功耗数据,其中,所述特征数据用于表示用户特征;
根据所述第一功耗数据和所述第二功耗数据,确定所述虚拟机的功耗数据;
其中,在通过相关性模型得到所述虚拟机的第一功耗数据之前,所述方法还包括:
构建初始模型;
获取所述虚拟机的历史功耗数据,所述虚拟机的特征向量和所述虚拟机所在宿主机的历史功耗数据,得到样本数据;
通过所述样本数据对所述初始模型进行训练,得到所述相关性模型。
2.根据权利要求1所述的方法,其特征在于,所述能耗数据包括:功耗数据和电热数据。
3.根据权利要求2所述的方法,其特征在于,根据所述机架的能耗数据、所述宿主机的能耗数据和所述虚拟机的功耗数据,确定所述虚拟机对应的目标宿主机,包括:
根据所述机架的能耗数据,确定能耗正常的第一机架;
根据所述第一机架上放置的宿主机的能耗数据,确定能耗正常的第一宿主机;
根据所述第一宿主机的能耗数据和所述虚拟机的功耗数据,确定所述目标宿主机。
4.根据权利要求3所述的方法,其特征在于,根据所述第一宿主机的能耗数据和所述虚拟机的功耗数据,确定所述目标宿主机,包括:
根据所述第一宿主机的功耗数据,确定所述第一宿主机的权重值,其中,所述功耗数据与所述权重值成反比例关系;
根据所述第一宿主机的权重值和所述虚拟机的功耗数据,得到所述目标宿主机。
5.根据权利要求3所述的方法,其特征在于,所述第一机架为功耗数据未超过第一阈值,且电热数据未超过第二阈值的机架;所述第一宿主机为所述第一机架上放置的,功耗数据未超过第三阈值,电热数据未超过第四阈值,且硬件检测结果为未出现异常的宿主机。
6.根据权利要求2所述的方法,其特征在于,在根据所述机架的能耗数据、所述宿主机的能耗数据和所述虚拟机的功耗数据,确定所述虚拟机对应的目标宿主机之前,所述方法还包括:
判断所述虚拟机是否为预设虚拟机,其中,所述预设虚拟机为无法进行调度的虚拟机;
如果所述虚拟机不是所述预设虚拟机,则根据所述机架的能耗数据、所述宿主机的能耗数据和所述虚拟机的功耗数据,确定所述虚拟机对应的目标宿主机;
如果所述虚拟机是所述预设虚拟机,则根据所述机架和宿主机的能耗数据和所述虚拟机的功耗数据,对所述预设虚拟机进行限电处理。
7.根据权利要求2所述的方法,其特征在于,通过相关性模型得到所述虚拟机的第一功耗数据,包括:
获取所述虚拟机的特征向量和所述虚拟机所在宿主机的功耗数据;
将所述虚拟机的特征向量和所述虚拟机所在宿主机的功耗数据输入至所述相关性模型,得到所述第一功耗数据。
8.根据权利要求2所述的方法,其特征在于,在将所述虚拟机调度至所述目标宿主机之后,所述方法还包括:
获取所述宿主机的历史售卖率;
根据所述历史售卖率,获取满足预设条件的第二宿主机;
根据所述第二宿主机的功耗数据,预设置信度和所述机架的额定功耗数据,得到所述机架的上架密度,其中,所述上架密度用于表征同一个机架上放置的宿主机的数量。
9.根据权利要求8所述的方法,其特征在于,根据所述第二宿主机的功耗数据,预设置信度和所述机架的额定功耗数据,得到所述机架的上架密度,包括:
按照功耗数据从小到大的顺序,对所述第二宿主机进行排序;
根据所述预设置信度,从排序后的第二宿主机中获取第三宿主机;
从所述第三宿主机的功耗数据中获取最大功耗数据;
获取所述机架的额定功耗数据和所述最大功耗数据的比值,得到所述上架密度。
10.根据权利要求8所述的方法,其特征在于,根据所述历史售卖率,获取满足预设条件的第二宿主机,包括:
按照历史售卖率从大到小的顺序,对所述宿主机进行排序;
根据预设售卖率阈值,从排序后的宿主机中获取所述第二宿主机。
11.一种虚拟机的调度方法,其特征在于,包括:
获取机架的能耗数据,宿主机的能耗数据和虚拟机的功耗数据,其中,所述机架上放置有多个宿主机;
根据所述机架的能耗数据、所述宿主机的能耗数据和所述虚拟机的功耗数据,确定所述虚拟机对应的目标宿主机;
将所述虚拟机调度至所述宿主机;
根据所述机架的能耗数据和所述宿主机的能耗数据,得到所述机架的上架密度,其中,所述上架密度用于表征同一个机架上放置的宿主机的数量;
其中,获取所述虚拟机的功耗数据,包括:
通过相关性模型得到所述虚拟机的第一功耗数据,其中,所述相关性模型用于表征所述虚拟机的特征参数之间的相关性;
根据所述虚拟机的历史功耗数据和特征数据,得到所述虚拟机的第二功耗数据,其中,所述特征数据用于表示用户特征;
根据所述第一功耗数据和所述第二功耗数据,确定所述虚拟机的功耗数据;
其中,在通过相关性模型得到所述虚拟机的第一功耗数据之前,所述方法还包括:
构建初始模型;
获取所述虚拟机的历史功耗数据,所述虚拟机的特征向量和所述虚拟机所在宿主机的历史功耗数据,得到样本数据;
通过所述样本数据对所述初始模型进行训练,得到所述相关性模型。
12.根据权利要求11所述的方法,其特征在于,根据所述机架的能耗数据和所述宿主机的能耗数据,得到所述机架的上架密度,包括:
获取所述宿主机的历史售卖率;
根据所述历史售卖率,获取满足预设条件的第二宿主机;
根据所述第二宿主机的功耗数据,预设置信度和所述机架的额定功耗数据,得到所述机架的上架密度。
13.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行如下步骤:获取机架的能耗数据和宿主机的能耗数据,其中,所述机架用于放置所述宿主机;确定虚拟机的功耗数据;根据所述机架的能耗数据、所述宿主机的能耗数据和所述虚拟机的功耗数据,确定所述虚拟机对应的目标宿主机;将所述虚拟机调度至所述目标宿主机,其中,确定虚拟机的功耗数据,包括:通过相关性模型得到所述虚拟机的第一功耗数据,其中,所述相关性模型用于表征所述虚拟机的特征参数之间的相关性;根据所述虚拟机的历史功耗数据和特征数据,得到所述虚拟机的第二功耗数据,其中,所述特征数据用于表示用户特征;根据所述第一功耗数据和所述第二功耗数据,确定所述虚拟机的功耗数据;其中,在通过相关性模型得到所述虚拟机的第一功耗数据之前,还包括:构建初始模型;获取所述虚拟机的历史功耗数据,所述虚拟机的特征向量和所述虚拟机所在宿主机的历史功耗数据,得到样本数据;通过所述样本数据对所述初始模型进行训练,得到所述相关性模型。
14.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行如下步骤:获取机架的能耗数据和宿主机的能耗数据,其中,所述机架用于放置所述宿主机;确定虚拟机的功耗数据;根据所述机架的能耗数据、所述宿主机的能耗数据和所述虚拟机的功耗数据,确定所述虚拟机对应的目标宿主机;将所述虚拟机调度至所述目标宿主机,其中,确定虚拟机的功耗数据,包括:通过相关性模型得到所述虚拟机的第一功耗数据,其中,所述相关性模型用于表征所述虚拟机的特征参数之间的相关性;根据所述虚拟机的历史功耗数据和特征数据,得到所述虚拟机的第二功耗数据,其中,所述特征数据用于表示用户特征;根据所述第一功耗数据和所述第二功耗数据,确定所述虚拟机的功耗数据;其中,在通过相关性模型得到所述虚拟机的第一功耗数据之前,还包括:构建初始模型;获取所述虚拟机的历史功耗数据,所述虚拟机的特征向量和所述虚拟机所在宿主机的历史功耗数据,得到样本数据;通过所述样本数据对所述初始模型进行训练,得到所述相关性模型。
15.一种虚拟机的调度***,其特征在于,包括:
处理器;以及
存储器,与所述处理器连接,用于为所述处理器提供处理以下处理步骤的指令:获取机架的能耗数据和宿主机的能耗数据,其中,所述机架用于放置所述宿主机;
确定虚拟机的功耗数据;根据所述机架的能耗数据、所述宿主机的能耗数据和所述虚拟机的功耗数据,确定所述虚拟机对应的目标宿主机;将所述虚拟机调度至所述目标宿主机,其中,确定虚拟机的功耗数据,包括:通过相关性模型得到所述虚拟机的第一功耗数据,其中,所述相关性模型用于表征所述虚拟机的特征参数之间的相关性;根据所述虚拟机的历史功耗数据和特征数据,得到所述虚拟机的第二功耗数据,其中,所述特征数据用于表示用户特征;根据所述第一功耗数据和所述第二功耗数据,确定所述虚拟机的功耗数据;其中,在通过相关性模型得到所述虚拟机的第一功耗数据之前,还包括:构建初始模型;获取所述虚拟机的历史功耗数据,所述虚拟机的特征向量和所述虚拟机所在宿主机的历史功耗数据,得到样本数据;
通过所述样本数据对所述初始模型进行训练,得到所述相关性模型。
CN201810312065.8A 2018-04-09 2018-04-09 虚拟机的调度方法和*** Active CN110362398B (zh)

Priority Applications (6)

Application Number Priority Date Filing Date Title
CN201810312065.8A CN110362398B (zh) 2018-04-09 2018-04-09 虚拟机的调度方法和***
PCT/CN2019/080946 WO2019196701A1 (zh) 2018-04-09 2019-04-02 虚拟机的调度方法和***
EP19785670.1A EP3779689A4 (en) 2018-04-09 2019-04-02 VIRTUAL MACHINE PLANNING PROCESS AND SYSTEM
JP2020555379A JP7366054B2 (ja) 2018-04-09 2019-04-02 仮想マシンをスケジュールするための方法およびシステム
SG11202009426VA SG11202009426VA (en) 2018-04-09 2019-04-02 Virtual machine scheduling method and system
US17/066,362 US11782769B2 (en) 2018-04-09 2020-10-08 Virtual machine scheduling method and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810312065.8A CN110362398B (zh) 2018-04-09 2018-04-09 虚拟机的调度方法和***

Publications (2)

Publication Number Publication Date
CN110362398A CN110362398A (zh) 2019-10-22
CN110362398B true CN110362398B (zh) 2023-09-12

Family

ID=68163407

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810312065.8A Active CN110362398B (zh) 2018-04-09 2018-04-09 虚拟机的调度方法和***

Country Status (6)

Country Link
US (1) US11782769B2 (zh)
EP (1) EP3779689A4 (zh)
JP (1) JP7366054B2 (zh)
CN (1) CN110362398B (zh)
SG (1) SG11202009426VA (zh)
WO (1) WO2019196701A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111078365A (zh) * 2019-12-20 2020-04-28 中天宽带技术有限公司 一种虚拟数据中心的映射方法及相关装置
WO2022048674A1 (zh) * 2020-09-07 2022-03-10 华为云计算技术有限公司 基于服务器机柜的虚拟机管理方法及装置
CN112260878A (zh) * 2020-11-04 2021-01-22 罗鑫龙 互联网数据中心机房人工智能管理***及方法
US20230061637A1 (en) * 2021-08-26 2023-03-02 Microsoft Technology Licensing, Llc Allocating compute nodes as storage in a power-constrained environment
CN115016949A (zh) * 2022-08-09 2022-09-06 中智关爱通(南京)信息科技有限公司 为客户机选择宿主机的方法、计算设备和计算机介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140208322A1 (en) * 2011-09-22 2014-07-24 Fujitsu Limited Computer system and virtual machine arranging method
CN104360893A (zh) * 2014-10-23 2015-02-18 西安未来国际信息股份有限公司 一种基于环境能耗的虚拟资源调度方法
CN105426229A (zh) * 2015-12-07 2016-03-23 中国联合网络通信集团有限公司 虚拟机迁移方法及装置
CN105893113A (zh) * 2016-03-29 2016-08-24 上海携程商务有限公司 虚拟机的管理***及管理方法

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009110404A (ja) * 2007-10-31 2009-05-21 Toshiba Corp 仮想計算機システム及び同システムにおけるゲストosスケジューリング方法
US8359594B1 (en) 2009-06-30 2013-01-22 Sychron Advanced Technologies, Inc. Automated rapid virtual machine provisioning system
US9081621B2 (en) 2009-11-25 2015-07-14 Microsoft Technology Licensing, Llc Efficient input/output-aware multi-processor virtual machine scheduling
US8862914B2 (en) * 2010-02-26 2014-10-14 Microsoft Corporation Virtual machine power consumption measurement and management
US8627123B2 (en) * 2010-03-25 2014-01-07 Microsoft Corporation Managing power provisioning in distributed computing
US8589932B2 (en) 2010-07-02 2013-11-19 International Business Machines Corporation Data processing workload control
US8448006B2 (en) 2010-10-19 2013-05-21 International Business Machines Corporation Performing virtual and/or physical resource management for power management
US9250962B2 (en) 2011-01-10 2016-02-02 International Business Machines Corporation Optimizing energy use in a data center by workload scheduling and management
US9183030B2 (en) 2011-04-27 2015-11-10 Microsoft Technology Licensing, Llc Virtual processor allocation techniques
CN102759979B (zh) 2011-04-29 2016-03-30 国际商业机器公司 一种虚拟机能耗估计方法及装置
JP5785050B2 (ja) 2011-10-27 2015-09-24 株式会社日立製作所 情報処理システム、その省電力制御方法、及び装置
JP5165104B2 (ja) 2011-12-16 2013-03-21 株式会社日立製作所 情報処理システムおよびそのシステムにおける省電力制御方法
JP5801732B2 (ja) 2012-01-24 2015-10-28 株式会社日立製作所 情報処理システムの運用管理方法
JP5765279B2 (ja) 2012-03-26 2015-08-19 株式会社Jvcケンウッド カメラ制御装置、カメラ制御方法及びカメラ制御プログラム
WO2014101010A1 (zh) 2012-12-26 2014-07-03 华为技术有限公司 一种虚拟机***的资源管理方法、虚拟机***和装置
US10386900B2 (en) 2013-09-24 2019-08-20 Intel Corporation Thread aware power management
US20150227397A1 (en) * 2014-02-10 2015-08-13 Ca, Inc. Energy efficient assignment of workloads in a datacenter
JP2017134668A (ja) 2016-01-28 2017-08-03 富士通株式会社 情報処理システム、情報処理システムの制御方法および管理装置の制御プログラム
CN105955795B (zh) * 2016-04-20 2019-04-09 南京邮电大学 一种面向绿色云计算的虚拟机迁移方法
US10423455B2 (en) * 2017-02-03 2019-09-24 Microsoft Technology Licensing, Llc Method for deploying virtual machines in cloud computing systems based on predicted lifetime
CN107193640B (zh) * 2017-06-26 2020-08-04 浙江工业大学 一种基于Rendezvous哈希算法的虚拟机初始放置策略方法
CN107479949A (zh) * 2017-08-21 2017-12-15 重庆电子工程职业学院 低能耗云计算任务调度方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140208322A1 (en) * 2011-09-22 2014-07-24 Fujitsu Limited Computer system and virtual machine arranging method
CN104360893A (zh) * 2014-10-23 2015-02-18 西安未来国际信息股份有限公司 一种基于环境能耗的虚拟资源调度方法
CN105426229A (zh) * 2015-12-07 2016-03-23 中国联合网络通信集团有限公司 虚拟机迁移方法及装置
CN105893113A (zh) * 2016-03-29 2016-08-24 上海携程商务有限公司 虚拟机的管理***及管理方法

Also Published As

Publication number Publication date
EP3779689A1 (en) 2021-02-17
EP3779689A4 (en) 2022-01-05
WO2019196701A1 (zh) 2019-10-17
JP7366054B2 (ja) 2023-10-20
US20210034436A1 (en) 2021-02-04
SG11202009426VA (en) 2020-10-29
CN110362398A (zh) 2019-10-22
JP2021521520A (ja) 2021-08-26
US11782769B2 (en) 2023-10-10

Similar Documents

Publication Publication Date Title
CN110362398B (zh) 虚拟机的调度方法和***
CN110795203B (zh) 资源调度方法、装置、***和计算设备
US9104497B2 (en) Method and system for work load balancing
KR101563031B1 (ko) 냉각 효율 향상을 위해 데이터 센터 동작을 관리하는 설비
CN108429304B (zh) 充电电流控制方法及装置、计算机装置、可读存储介质
WO2013075640A1 (en) Balancing virtual machine loads
CN110209500B (zh) 服务器负载均衡方法及装置
CN106686039B (zh) 一种云计算***中的资源调度方法及装置
US20190171267A1 (en) Balancing a power load among usb ports
CN115033352A (zh) 多核处理器任务调度方法、装置及设备、存储介质
CN114661462A (zh) 资源分配方法、***、计算机可读存储介质及电子设备
CN116775304A (zh) 任务分配方法、***、装置及非易失性存储介质
CN110427160A (zh) 归置组分布的均衡方法及装置
CN110908804A (zh) 计算资源分配方法、装置及其模型的训练方法、装置
JP2013196695A (ja) 仮想マシン割り当てシステム及びその方法
CN111352815A (zh) 一种服务器***的性能均衡检测方法、***及装置
CN115202810A (zh) 一种Kubernetes工作节点分配方法及***
CN105302808A (zh) 一种降低用户组匹配过程中负载峰值的方法和装置
CN115269110A (zh) 云计算平台的资源分配方法、装置、电子设备和存储介质
CN114153592A (zh) 云平台的物理主机负载调度方法、装置、电子设备及介质
CN109408195B (zh) 虚拟机热迁移方法及装置
CN116450282A (zh) 云数据中心的虚拟机迁移方法及装置
CN110704175A (zh) 容器部署方法和装置
CN115459366B (zh) 电力***中机组的控制方法、存储介质以及电子设备
CN113485132B (zh) 用于智慧家庭***的管理方法、装置和智慧家庭***

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