CN108196936A - 一种资源调度方法、设备及系统 - Google Patents

一种资源调度方法、设备及系统 Download PDF

Info

Publication number
CN108196936A
CN108196936A CN201711427262.6A CN201711427262A CN108196936A CN 108196936 A CN108196936 A CN 108196936A CN 201711427262 A CN201711427262 A CN 201711427262A CN 108196936 A CN108196936 A CN 108196936A
Authority
CN
China
Prior art keywords
host
balance
degree
resource
scheduling
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
CN201711427262.6A
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201711427262.6A priority Critical patent/CN108196936A/zh
Publication of CN108196936A publication Critical patent/CN108196936A/zh
Pending legal-status Critical Current

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/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/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明实施例公开了一种资源调度方法、设备及系统,其中方法的实现包括:控制设备接收虚拟机调度指令;所述控制设备获得多个主机的当前资源使用情况信息;所述控制设备根据所述多个主机的当前资源使用情况信息计算各主机的第一资源平衡度;所述控制设备针对所述多个主机计算各主机的第二资源平衡度,所述第二资源平衡度为如将虚拟机调度到某主机上后该主机的资源平衡度;所述控制设备根据各主机的第一资源平衡度和第二资源平衡度选择需要调度的主机,将虚拟机调度到所选择的主机上。使用本发明实施例公开的技术方案,可以使主机上每种资源的使用率尽量保持均衡。

Description

一种资源调度方法、设备及系统
技术领域
本发明涉及云计算技术领域,特别涉及一种资源调度方法、设备及系统。
背景技术
随着计算机技术和网络技术的高速发展,云计算成为最流行的技术。云计算改变了物理资源的分配形式,云数据中心通过虚拟化技术将存储、计算、网络等资源组成虚拟资源池;虚拟资源管理技术可支持资源的动态调整、按需分配。虚拟化技术是云计算领域的关键技术,其可将物理机(也称为主机)的物理资源虚拟成多个虚拟机(VirtualMachine,VM),物理资源被虚拟化平台以虚拟资源池的形式提供给各个虚拟机,不同的虚拟机可以分配给不同的用户,虚拟机之间可以共享物理资源。
现有技术的虚拟机调度方案,会产生资源碎片、且各服务器之间的资源利用率不平衡。因而需要合理的资源调度方案来实现虚拟机的调度。
发明内容
本发明实施例提供了一种资源调度方法、设备及系统,通过合理的资源调度方案来调度虚拟机、使得主机上每种资源的使用率尽量保持均衡。
本发明实施例一方面提供了一种资源调度方法,包括:
控制设备接收虚拟机调度指令;
所述控制设备获得多个主机的当前资源使用情况信息;
所述控制设备根据所述多个主机的当前资源使用情况信息计算各主机的第一资源平衡度;
所述控制设备针对所述多个主机计算各主机的第二资源平衡度,所述第二资源平衡度为如将虚拟机调度到某主机上后该主机的资源平衡度;
所述控制设备根据各主机的第一资源平衡度和第二资源平衡度选择需要调度的主机,将虚拟机调度到所选择的主机上。
本发明实施例还提供了一种资源调度设备,所述设备包括调度引擎和数据库;其中所述数据库用于向所述调度引擎提供多个主机的当前资源使用情况信息;
所述调度引擎,用于根据所述多个主机的当前资源使用情况信息计算各主机的第一资源平衡度,并针对所述多个主机计算各主机的第二资源平衡度,所述第二资源平衡度为如将虚拟机调度到某主机上后该主机的资源平衡度;
所述调度引擎还用于根据各主机的第一资源平衡度和第二资源平衡度选择需要调度的主机,将虚拟机调度到所选择的主机上。
本发明实施例提供的另一种资源调度设备包括:
接收模块,用于接收虚拟机调度指令;
查询模块,用于查询多个主机的当前资源使用情况信息;
控制模块,用于根据所述多个主机的当前资源使用情况信息计算各主机的第一资源平衡度,并针对所述多个主机计算各主机的第二资源平衡度,所述第二资源平衡度为如将虚拟机调度到某主机上后该主机的资源平衡度;
所述控制模块还用于根据各主机的第一资源平衡度和第二资源平衡度选择需要调度的主机,将虚拟机调度到所选择的主机上。
本发明实施例还提供一种资源调度系统,其特征在于,所述系统包括控制设备和多个主机,
所述控制设备用于接收虚拟机调度指令,并获得多个主机的当前资源使用情况信息;
所述控制设备还用于根据所述多个主机的当前资源使用情况信息计算各主机的第一资源平衡度,并针对所述多个主机计算各主机的第二资源平衡度,所述第二资源平衡度为如将虚拟机调度到某主机上后该主机的资源平衡度;
所述控制设备还用于根据各主机的第一资源平衡度和第二资源平衡度选择需要调度的主机,将虚拟机调度到所选择的主机上。
本发明实施例还提供包括至少一处理器和至少一存储器的资源调度设备,所述至少一个存储器用于存储计算机程序,所述至少一个处理器用于调用所述至少一个存储器中的程序代码来执行所述本发明实施例所记载的方法。
本发明实施例还提供一种计算机存储介质,所述计算机存储介质上储存为计算机软件指令,所述计算机软件指令运行后使计算机执行本发明实施例所记载的方法。
使用本发明实施例公开的技术方案,可以使主机上每种资源的使用率尽量保持均衡。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例涉及的云计算平台的物理拓扑结构图;
图2为本发明实施例提供的资源调度方法的流程示意图;
图3为本发明实施例提供的资源调度设备的结构示意图;
图4为本发明实施例提供的资源调度设备的另一种结构示意图;
图5为本发明实施例提供的资源调度设备的又一种结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
如图1所示的云计算平台的物理拓扑结构,包括客户端102、控制设备104和主机106。
客户端102:用户通过该客户端102连接到云服务系统。该客户端102可以基于各种类型的平台,包括但不限于Web Portal、IOS、安卓、Linux以及Windows平台等。该客户端102可以安装在用户设备上,本申请所涉及到的用户设备可以包括各种具有通信功能的手持设备、车载设备、可穿戴设备、计算设备或连接到各类网络的处理设备,以及各种形式移动台(Mobile station,简称MS),终端(terminal),终端设备(Terminal Equipment)等。为方便描述,本申请中,上面提到的设备统称为用户设备。
控制设备104可以接受管理员或者用户通过操作客户端102发送的调度虚拟机的指令,如指示创建或者运行虚拟机的指令。
主机106提供计算服务,相当于计算节点。主机是各种类型的物理服务器,用于提供物理资源。当控制设备104调度虚拟机时,云服务系统会根据控制设备104下发的指令,在相应的主机106上创建或者运行虚拟机。
虚拟机是模拟出来的一台虚拟的计算机,也即逻辑上的一台计算机。每个虚拟机都有一套独立于实际硬件的虚拟硬件环境,如处理器、内存、I/O设备等。一个主机106上可以创建或运行多个虚拟机,如图1中所示的VM1、VM2、VM3……VMn。
本发明实施例通过在控制设备中增加新的调度机制,如增加防碎片调度机制,可以用于合理化资源调度,可以解决资源碎片问题;也可以在控制设备上增加主机抽样调度机制,可以解决大规模调度时的计算资源消耗和时延问题。需要说明的是,本发明实施例既可以不新增硬件、也可以不用改变云计算的现有框架。
如图2所示的资源调度方法的流程示意图,示出了资源调度过程的各环节。控制设备104中的性能监控模块1042实时采集主机106的资源使用情况,并记录在控制设备104的数据库1044中。图2中仅示出了一个主机106,实际的云计算系统中可以包括多个主机。数据库1044中还可以记录每台主机上的虚拟机配置信息和虚拟机的数量,其中虚拟机配置信息可以包括虚拟机的规格信息,比如虚拟机占用的资源情况。
步骤202:用户或者管理员通过客户端102向控制设备104发送的虚拟机调度指令,如创建虚拟机的指令。虚拟机调度指令中可以携带虚拟机的规格参数,如拟创建的虚拟机需占用的资源情况。该虚拟机调度指令中还可以携带调度策略参数用于指示调度的策略。
需要说明的是,创建虚拟机的指令可以是控制设备104上的调度引擎1046通过客户端102和控制设备104之间的接口接收的。调度策略可以根据实际的资源调度要求确定,比如可以采用如下两种策略之一:
策略a:主机间资源平衡+最小化资源碎片策略。该策略a可以尽量保证各个主机间资源利用率接近,避免某些主机资源利用率较高、而另外一些主机资源空闲。从而可以为整个系统可以提供更好的性能和更高的可靠性。
策略b:资源密集型+最小化资源碎片策略。该策略b则优先使部分主机资源利用率达到饱和,从而可以关闭部分主机而达到节能目的。
步骤204:控制设备104中的调度引擎1046向数据库1044发送查询请求,查询各个主机的当前资源使用情况信息。
步骤206:调度引擎1046获得各个主机的当前资源使用情况信息。
步骤208:调度引擎1046根据所获得的各主机的当前资源使用情况信息进行虚拟机调度。
步骤208中的虚拟机调度可以是抽样调度或防碎片调度,也可以是抽样调度和防碎片调度的组合。
调度引擎进行抽样调度可以通过如下方式实现:
步骤1:调度引擎先通过过滤器(Filter)将不符合要求的主机过滤掉,比如剩余资源无法满足虚拟机的规格要求的主机等。
以Openstack为例,FilterScheduler作为默认的调度引擎实现了基于主机过滤(filtering)和权值计算(weighing)的调度算法。执行虚拟机的调度时,FilterScheduler首先过滤掉不满足需求的主机如剩余内存不足以支撑虚拟机规格的主机、上次调度失败的主机等;然后FilterScheduler使用权值计算结果将满足条件的主机进行排序,比如根据主机上可用内存空间的大小进行排序。当然FilterScheduler可以根据多种不同类型资源的组合进行权值计算,来进行排序。
步骤2:调度引擎进行抽样处理。实际云计算系统中,大规模调度所涉及的主机可能会非常多。即使经过前面的过滤处理后,满足要求的主机也可能很多。如果从所有主机中选出用于调度该虚拟机的主机,所需要的调度计算非常消耗资源,导致虚拟机调度会产生大的时延;因此可以采用主机抽样机制,比如选择20台资源利用率最低的主机(对应于前面所述的策略a),或者选取20台资源利用率最高的主机(对应前面所述的策略b)。
防碎片调度是用于防止资源碎片化的一种调度机制。该调度机制中,调度引擎经过一系列调度运算后选出最佳主机,将虚拟机调度到该主机上。
防碎片调度需要尽量使每种资源的使用率尽量保持均衡,避免一主机上的某种资源使用率过高,而其他资源使用率较低。本发明实施例提出了资源平衡度的概念,即多种资源利用率相差越小则资源平衡度越高。调度引擎在每次调度虚拟机时,其上的调度算法要比较调度前后主机上的资源平衡度,优先选择资源平衡度提升更高的那些主机,作为虚拟机的载体。
防碎片调度可以通过如下方式实现:
1)调度引擎计算各主机的第一资源平衡度,第一资源平衡度表示主机当前的资源平衡度;
2)在实际进行虚拟机调度之前,调度引擎计算各主机的第二资源平衡度,第二平衡度是指如果将虚拟机调度到该主机上、调度完成后该主机上的资源平衡度。第二资源平衡度可以根据主机的当前资源使用情况信息和虚拟机调度指令中的虚拟机的规格参数来计算。
3)调度引擎根据各主机的第一资源平衡度和第二平衡度,计算各主机在虚拟调度前和调度后的平衡度提升值;
4)调度引擎根据所计算的各主机的平衡度提升值,将虚拟机调度到平衡度提升最高的主机。
本发明实施例中的资源平衡度的计算方法可以通过多种方式实现。主机的资源包括处理器(Central Processing Unit,CPU)、内存、或IO资源等。以采用CPU、内存和IO资源作为用于计算资源平衡度的计算资源,某主机上的CPU、内存和IO资源的利用率分别为a、b、c。
虚拟机调度前的各主机的资源利用率的平均值可以通过如下公式计算:
如果将虚拟机调度到该主机上,该主机上的CPU、内存和IO资源的利用率分别为a’、b’、c’;则将虚拟机调度到该主机上后,该主机的资源利用率的平均值则可以通过如下公式计算:
虚拟机调度前的各主机的第一资源平衡度可以通过如下公式计算:
根据上述公示,p的值越小,各种类型的资源使用情况越平衡。
若将虚拟机调度到该主机上后,该主机的第二资源平衡度则可以通过如下公式计算:
相应地、调度引擎可以通过如下公式计算平衡度提升值:
x=p-p′
调度引擎计算出所有主机的平衡度提升值x后,选出其中x最大者所对应的主机,将虚拟机调度到该主机上。
本发明实施例上面提供的计算公式仅为示例,具体实现可以根据云服务系统的管理策略自行设计公式计算资源平衡度和平衡度提升值。比如,可以使用方差、极差等算法计算资源平衡度
需要说明的是,如果采用的是抽样调度和防碎片调度的组合,则调度引擎可以先通过抽样调度选择出可用于调度的多个样本主机;针对这些样本主机,调度引擎再按照防碎片调度算法,执行防碎片调度。
在本实施例中“第一”和“第二”仅是为了区分两个不同的资源平衡度,并不代表其他的技术含义,不应理解为具有其他的限定。
本发明实施例提供了一种资源调度的方法,可以包括:
控制设备接收虚拟机调度指令;
控制设备获得多个主机的当前资源使用情况信息;
控制设备根据所述多个主机的当前资源使用情况信息计算各主机的第一资源平衡度;
控制设备针对所述多个主机计算各主机的第二资源平衡度,所述第二资源平衡度为如将虚拟机调度到某主机上后该主机的资源平衡度;
控制设备根据各主机的第一资源平衡度和第二资源平衡度选择需要调度的主机,将虚拟机调度到所选择的主机上。
进一步地,控制设备可以根据各主机的第一资源平衡度和第二资源平衡度先计算各主机的平衡度提升值,然后控制设备根据各主机的平衡度提升值选择需要调度的主机。比如控制设备可以选择平衡度提升值最大即资源平衡度提升最多的主机,将虚拟机调度到该主机上。
上述虚拟机调度指令中可以包括虚拟机的规格参数,控制设备可以根据所述各主机的当前资源使用情况信息和所述虚拟机的规格参数,计算所述各主机的所述第二资源平衡度。
上述虚拟机调度指令中还可以包括调度策略参数,所述调度策略参数用于指示调度的策略。比如本发明实施例所描述的策略a或策略b。
上述方法在控制设备调度虚拟机的过程中,通过先计算资源平衡度作为选择主机的依据,从而可以实现主机上每种资源的使用率尽量保持均衡,避免一主机上的某种资源使用率过高,而其他资源使用率较低。
在控制设备执行上述方法过程中,控制设备还可以进行抽样调度,比如先通过过滤器(Filter)将不符合要求的主机过滤掉;然后进行抽样处理,比如选择20台资源利用率最低的主机(对应于前面所述的策略a),或者选取20台资源利用率最高的主机(对应前面所述的策略b)。。
如前所述,实际云计算系统中,大规模调度所涉及的主机可能会非常多。即使经过前面的过滤处理后,满足要求及的主机也非常多。如果从所有主机中来选出用于调度该虚拟机的主机,所需要进行的调度计算会非常消耗资源。因此通过过滤和抽样处理,可以减少虚拟机调度产生的时延。
本发明实施例还公开了一种资源调度设备,比如图2中所示的控制设备,其中可以包括调度引擎和数据库;
数据库用于向所述调度引擎提供多个主机的当前资源使用情况信息;
调度引擎用于根据本发明上述实施例所公开的资源调度方法的技术方案计算各主机的第一资源平衡度和第二资源平衡度,并选择需要调度的主机,将虚拟机调度到所选择的主机上。
本发明实施例还公开了一种资源调度设备,如图3所示,包括接收模块302、查询模块304和控制模块306。
接收模块302用于接收虚拟机调度指令;
查询模块304用于查询多个主机的当前资源使用情况信息;
控制模块306用于根据本发明上述实施例所公开的资源调度方法的技术方案计算各主机的第一资源平衡度和第二资源平衡度,并选择需要调度的主机,将虚拟机调度到所选择的主机上。
本发明实施例还公开了一种如图4所示的资源调度设备400,包括至少一个处理器401,通信总线402,至少一个存储器403以及至少一个通信接口404。
处理器401可以是一个通用中央处理器(CPU)、微处理器、特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制本申请方案程序执行的集成电路。
通信总线402可包括一通路,在上述组件之间传输信息。所述通信接口404,可以是使用任何收发器一类的装置,用于与其他设备或通信网络之间的通信。这里的通信网络可以是以太网,无线接入网(Radio Access Network,RAN),无线局域网(Wireless LocalArea Networks,WLAN)等。
存储器403可以是只读存储器(read-only memory,ROM)、可存储静态信息和指令的静态存储设备、随机存取存储器(random access memory,RAM)、或者可存储信息和指令的动态存储设备,也可以是电可擦可编程只读存储器(Electrically ErasableProgrammable Read-Only Memory,EEPROM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器403可以是独立存在,通过通信总线402与处理器401相连接;存储器403也可以和处理器401集成在一起。
上述存储器403可用于存储执行本申请方案的应用程序代码;处理器401可用于执行存储器403中存储的应用程序代码。
作为具体实现的一种实施例,资源调度设备400可以包括多个处理器,例如图4中的处理器401和处理器408。这些处理器中的每一个都可以是单核(single-CPU)处理器,也可以是多核(multi-CPU)处理器。每个处理器本身,如处理器401可以包括一个或多个CPU,例如CPU0和CPU1。
资源调度设备400还可以包括输出设备405和输入设备406。输出设备405和处理器401通信,可以以多种方式来显示信息。输出设备405可以是液晶显示器(liquid crystaldisplay,LCD)、发光二级管(light emitting diode,LED)显示设备、阴极射线管(cathoderay tube,CRT)显示设备、或投影仪(projector)等。输入设备406和处理器401通信,可以以多种方式接收用户的输入。输入设备406可以是鼠标、键盘、触摸屏设备或传感设备等。
资源调度设备400可以是通用计算机设备、或者专用计算机设备。在具体实现中,资源调度设备400可以是台式机、便携式电脑、网络服务器、掌上电脑(Personal DigitalAssistant,PDA)、移动手机、平板电脑、无线终端设备、通信设备、或嵌入式设备等。本申请实施例不限定资源调度设备400的类型。
需要说明的是,图4所示的资源调度设备400仅仅是给出了云服务系统中各部分的可能的硬件实现方式,根据系统各部分功能的不同或者变化,可以对计算机设备的硬件组件进行增删,以使得与系统各部分的功能进行匹配。
本发明实施例还公开了一种资源调度系统,包括如图2所示的控制设备和多个主机;控制设备用于根据本发明上述实施例所公开的技术方案计算各主机的第一资源平衡度和第二资源平衡度,并选择需要调度的主机,将虚拟机调度到所选择的主机上。
本发明实施例如果站在一个特定主机的角度看,本发明实施例还公开了如下一种资源调度方法:
控制设备获得主机的当前资源使用情况信息;
控制设备根据当前资源使用情况信息计算该主机的第一资源平衡度;
所述控制设备计算该主机的第二资源平衡度,该第二资源平衡度为如将虚拟机调度到该主机上后该主机的资源平衡度;
控制设备根据第一资源平衡度和第二资源平衡度,判断是否将虚拟机调度到该主机上。
进一步地,控制设备可以根据第一资源平衡度和第二资源平衡度计算该主机的平衡度提升值,然后根据所计算出的平衡度提升值判断是否将虚拟机调度到该主机上。
控制设备可以从客户端接收虚拟机调度指令,其中包括虚拟机的规格参数;控制设备根据当前资源使用情况信息和虚拟机的规格参数,计算该主机的第二资源平衡度。
上述方法在控制设备调度虚拟机的过程中,通过先计算资源平衡度作为是否选择主机的依据,避免将主机调度到资源利用率不平衡的主机上,从而可以实现主机上每种资源的使用率尽量保持均衡。
相对于上述方法,本发明实施例还公开了一种资源调度设备,比如图2中所示的控制设备,其中可以包括调度引擎和数据库;
数据库,用于向调度引擎提供主机的当前资源使用情况信息;
调度引擎,用于根据当前资源使用情况信息计算主机的第一资源平衡度,并计算主机的第二资源平衡度,第二资源平衡度为如将虚拟机调度到该主机上后该主机的资源平衡度;
调度引擎还用于根据第一资源平衡度和第二资源平衡度,判断是否将虚拟机调度到该主机上。
本发明实施例还公开了一种资源调度设备,如图5所示,包括查询模块502,计算模块504和判断模块506。
查询模块502,用于查询主机的当前资源使用情况信息;
计算模块504,用于根据当前资源使用情况信息计算该主机的第一资源平衡度,并计算主机的第二资源平衡度,该第二资源平衡度为如将虚拟机调度到该主机上后该主机的资源平衡度;
判断模块,用于根据第一资源平衡度和第二资源平衡度,判断是否将虚拟机调度到该主机上。
需要说明的是,本发明上述实施例的方法和设备中,判断是否将虚拟机调度到某一主机上,可以是通过该主机和其他的多个主机的第一资源平衡度和第二资源平衡度来进行比较计算,确定是否将虚拟机调度到该主机上;也可以通过预先设置的策略等来确定是否将虚拟机调度到该主机上。
尽管在此结合各实施例对本申请进行了描述,然而,在实施所要求保护的本申请过程中,本领域技术人员通过查看所述附图、公开内容、以及所附权利要求书,可理解并实现所述公开实施例的其他变化。本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元,本文中所出现的单元的划分,仅仅是一种逻辑上的划分,实际应用中实现时可以有另外的划分方式,例如多个单元可以结合成或集成在另一个系统中,或一些特征可以忽略,或不执行,另外,所显示的或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元之间的间接耦合或通信连接可以是电性或其他类似的形式,本文中均不作限定。并且,作为分离部件说明的单元或子单元可以是也可以不是物理上的分离,可以是也可以不是物理单元,或者可以分不到多个电路单元中,可以根据实际的需要选择其中的部分或全部单元来实现本发明实施例方案的目的。
本领域技术人员应明白,本申请的实施例可提供为方法、装置(设备)、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。计算机程序存储/分布在合适的介质中,与其它硬件一起提供或作为硬件的一部分,也可以采用其他分布形式,如通过Internet或其它有线或无线电信系统。
本申请是参照本申请实施例的方法、装置(设备)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管结合具体特征及其实施例对本申请进行了描述,显而易见的,在不脱离本申请的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本申请的示例性说明,且视为已覆盖本申请范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
以上对本发明所提供的技术方案进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (31)

1.一种资源调度方法,其特征在于,所述方法包括:
控制设备接收虚拟机调度指令;
所述控制设备获得多个主机的当前资源使用情况信息;
所述控制设备根据所述多个主机的当前资源使用情况信息计算各主机的第一资源平衡度;
所述控制设备针对所述多个主机计算各主机的第二资源平衡度,所述第二资源平衡度为如将虚拟机调度到某主机上后该主机的资源平衡度;
所述控制设备根据各主机的第一资源平衡度和第二资源平衡度选择需要调度的主机,将虚拟机调度到所选择的主机上。
2.根据权利要求1所述方法,其特征在于,所述控制设备根据各主机的第一资源平衡度和第二资源平衡度选择需要调度的主机包括:
所述控制设备根据各主机的第一资源平衡度和第二资源平衡度计算各主机的平衡度提升值;
所述控制设备根据各主机的平衡度提升值选择需要调度的主机。
3.根据权利要求1或2所述方法,其特征在于,所述虚拟机调度指令中包括虚拟机的规格参数,所述控制设备针对所述多个主机计算各主机的第二资源平衡度为:
所述控制设备根据所述各主机的当前资源使用情况信息和所述虚拟机的规格参数,计算所述各主机的所述第二资源平衡度。
4.根据权利要求1或2或3所述方法,其特征在于,所述虚拟机调度指令中包括调度策略参数,所述调度策略参数用于指示调度的策略。
5.根据权利要求1至4任一项所述方法,其特征在于,所述多个主机为所述控制设备通过抽样选取的主机。
6.根据权利要求1至5任一项所述方法,其特征在于,所述多个主机为所述控制设备对所有主机进行过滤处理后选出的主机。
7.一种资源调度方法,其特征在于,所述方法包括:
控制设备获得主机的当前资源使用情况信息;
所述控制设备根据所述当前资源使用情况信息计算所述主机的第一资源平衡度;
所述控制设备计算所述主机的第二资源平衡度,所述第二资源平衡度为如将虚拟机调度到所述主机上后所述主机的资源平衡度;
所述控制设备根据所述第一资源平衡度和所述第二资源平衡度,判断是否将虚拟机调度到所述主机上。
8.根据权利要求7所述方法,其特征在于,所述控制设备根据所述第一资源平衡度和所述第二资源平衡度选择需要调度的主机,判断是否将虚拟机调度到所述主机上包括:
所述控制设备根据所述第一资源平衡度和所述第二资源平衡度计算所述主机的平衡度提升值;
所述控制设备根据所述主机的平衡度提升值判断是否将虚拟机调度到所主机上。
9.根据权利要求7或8所述方法,其特征在于,所述方法还包括:
所述控制设备接收虚拟机调度指令,所述虚拟机调度指令中包括虚拟机的规格参数;
所述控制设备计算所述主机的第二资源平衡度为:所述控制设备根据所述当前资源使用情况信息和所述虚拟机的规格参数,计算所述第二资源平衡度。
10.一种资源调度设备,其特征在于,所述设备至少一处理器和至少一存储器,所述至少一个存储器用于存储计算机程序,所述至少一个处理器用于调用所述至少一个存储器中的程序代码来执行所述方法1至9任一项所述的操作。
11.一种计算机存储介质,所述计算机存储介质上储存为计算机软件指令,所述计算机软件指令运行后使计算机执行权利要求1至9任一项所记载的方法。
12.一种资源调度设备,其特征在于,所述设备包括调度引擎和数据库;
所述数据库,用于向所述调度引擎提供多个主机的当前资源使用情况信息;
所述调度引擎,用于根据所述多个主机的当前资源使用情况信息计算各主机的第一资源平衡度,并针对所述多个主机计算各主机的第二资源平衡度,所述第二资源平衡度为如将虚拟机调度到某主机上后该主机的资源平衡度;
所述调度引擎还用于根据各主机的第一资源平衡度和第二资源平衡度选择需要调度的主机,将虚拟机调度到所选择的主机上。
13.根据权利要求12所述设备,其特征在于,所述调度引擎根据各主机的第一资源平衡度和第二资源平衡度选择需要调度的主机通过如下方式实现:
所述调度引擎根据各主机的第一资源平衡度和第二资源平衡度计算各主机的平衡度提升值;
所述调度引擎根据各主机的平衡度提升值选择需要调度的主机。
14.根据权利要求12或13所述设备,其特征在于,所述虚拟机调度指令中包括虚拟机的规格参数,所述调度引擎针对所述多个主机计算各主机的第二资源平衡度通过如下方式实现:
所述调度引擎根据所述各主机的当前资源使用情况信息和所述虚拟机的规格参数,计算所述各主机的所述第二资源平衡度。
15.根据权利要求12或13或14所述设备,其特征在于,所述虚拟机调度指令中包括调度策略参数,所述调度策略参数用于指示调度的策略。
16.根据权利要求12至15任一项所述设备,其特征在于,所述多个主机为所述控制设备通过抽样选取的主机。
17.根据权利要求12至16任一项所述设备,其特征在于,所述多个主机为所述控制设备对所有主机进行过滤处理后选出的主机。
18.一种资源调度设备,其特征在于,所述设备包括:
接收模块,用于接收虚拟机调度指令;
查询模块,用于查询多个主机的当前资源使用情况信息;
控制模块,用于根据所述多个主机的当前资源使用情况信息计算各主机的第一资源平衡度,并针对所述多个主机计算各主机的第二资源平衡度,所述第二资源平衡度为如将虚拟机调度到某主机上后该主机的资源平衡度;
所述控制模块还用于根据各主机的第一资源平衡度和第二资源平衡度选择需要调度的主机,将虚拟机调度到所选择的主机上。
19.根据权利要求18所述设备,其特征在于,所述控制模块根据各主机的第一资源平衡度和第二资源平衡度选择需要调度的主机通过如下方式实现:
所述控制模块根据各主机的第一资源平衡度和第二资源平衡度计算各主机的平衡度提升值;
所述控制模块根据各主机的平衡度提升值选择需要调度的主机。
20.根据权利要求18或19所述设备,其特征在于,所述虚拟机调度指令中包括虚拟机的规格参数,所述控制模块针对所述多个主机计算各主机的第二资源平衡度通过如下方式实现:
所述控制模块根据所述各主机的当前资源使用情况信息和所述虚拟机的规格参数,计算所述各主机的所述第二资源平衡度。
21.根据权利要求18至20任一项所述设备,其特征在于,所述多个主机为所述控制设备通过抽样选取的主机。
22.一种资源调度设备,其特征在于,所述设备包括调度引擎和数据库;
所述数据库,用于向所述调度引擎提供主机的当前资源使用情况信息;
所述调度引擎,用于根据所述当前资源使用情况信息计算所述主机的第一资源平衡度,并计算所述主机的第二资源平衡度,所述第二资源平衡度为如将虚拟机调度到所述主机上后所述主机的资源平衡度;
所述调度引擎还用于根据所述第一资源平衡度和所述第二资源平衡度,判断是否将虚拟机调度到所述主机上。
23.根据权利要求22所述设备,其特征在于,所述调度引擎根据所述第一资源平衡度和所述第二资源平衡度,判断是否将虚拟机调度到所述主机上通过如下方式实现:
所述调度引擎根据所述第一资源平衡度和所述第二资源平衡度计算所述主机的平衡度提升值;
所述调度引擎根据所述主机的平衡度提升值判断是否将虚拟机调度到所主机上。
24.根据权利要求22或23所述设备,其特征在于,所述调度引擎计算所述主机的第二资源平衡度通过如下方式实现:
所述调度引擎根据所述当前资源使用情况信息和接收的虚拟机的规格参数,计算所述第二资源平衡度。
25.一种资源调度设备,其特征在于,所述设备包括:
查询模块,用于查询主机的当前资源使用情况信息;
计算模块,用于根据所述当前资源使用情况信息计算所述主机的第一资源平衡度,并计算所述主机的第二资源平衡度,所述第二资源平衡度为如将虚拟机调度到所述主机上后所述主机的资源平衡度;
判断模块,用于根据所述第一资源平衡度和所述第二资源平衡度,判断是否将虚拟机调度到所述主机上。
26.根据权利要求25所述设备,其特征在于,所述计算模块还用于根据所述第一资源平衡度和所述第二资源平衡度计算所述主机的平衡度提升值;
所述判断模块根据所述主机的平衡度提升值判断是否将虚拟机调度到所述主机上。
27.根据权利要求25或26所述设备,其特征在于,所述计算模块根据所述当前资源使用情况信息和接收的虚拟机的规格参数,计算所述第二资源平衡度。
28.一种资源调度系统,其特征在于,所述系统包括控制设备和多个主机,
所述控制设备用于接收虚拟机调度指令,并获得多个主机的当前资源使用情况信息;
所述控制设备还用于根据所述多个主机的当前资源使用情况信息计算各主机的第一资源平衡度,并针对所述多个主机计算各主机的第二资源平衡度,所述第二资源平衡度为如将虚拟机调度到某主机上后该主机的资源平衡度;
所述控制设备还用于根据各主机的第一资源平衡度和第二资源平衡度选择需要调度的主机,将虚拟机调度到所选择的主机上。
29.根据权利要求28所述系统,其特征在于,所述控制设备根据各主机的第一资源平衡度和第二资源平衡度选择需要调度的主机通过如下方式实现:
所述控制设备根据各主机的第一资源平衡度和第二资源平衡度计算各主机的平衡度提升值;
所述控制设备根据各主机的平衡度提升值选择需要调度的主机。
30.根据权利要求28或29所述系统,其特征在于,所述虚拟机调度指令中包括虚拟机的规格参数,所述控制设备针对所述多个主机计算各主机的第二资源平衡度通过如下方式实现:
所述控制设备根据所述各主机的当前资源使用情况信息和所述虚拟机的规格参数,计算所述各主机的所述第二资源平衡度。
31.根据权利要求28至30任一项所述系统,其特征在于,所述多个主机为所述控制设备通过抽样选取的主机。
CN201711427262.6A 2017-12-26 2017-12-26 一种资源调度方法、设备及系统 Pending CN108196936A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711427262.6A CN108196936A (zh) 2017-12-26 2017-12-26 一种资源调度方法、设备及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711427262.6A CN108196936A (zh) 2017-12-26 2017-12-26 一种资源调度方法、设备及系统

Publications (1)

Publication Number Publication Date
CN108196936A true CN108196936A (zh) 2018-06-22

Family

ID=62584033

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711427262.6A Pending CN108196936A (zh) 2017-12-26 2017-12-26 一种资源调度方法、设备及系统

Country Status (1)

Country Link
CN (1) CN108196936A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109062666A (zh) * 2018-07-27 2018-12-21 浪潮电子信息产业股份有限公司 一种虚拟机集群管理方法及相关装置
CN109117115A (zh) * 2018-07-16 2019-01-01 精硕科技(北京)股份有限公司 数据运算调度处理方法及装置、存储介质、处理器

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103514046A (zh) * 2013-09-24 2014-01-15 华为技术有限公司 一种虚拟机放置方法及集群管理服务器
US20140059228A1 (en) * 2012-08-25 2014-02-27 Vmware, Inc. Resource allocation diagnosis on distributed computer systems
CN105872109A (zh) * 2016-06-17 2016-08-17 四川新环佳科技发展有限公司 云平台负载运行方法
CN106648829A (zh) * 2016-10-28 2017-05-10 广州市泰富信通科技有限公司 云资源高效利用的虚拟机迁移方法
CN106686039A (zh) * 2015-11-10 2017-05-17 华为技术有限公司 一种云计算系统中的资源调度方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140059228A1 (en) * 2012-08-25 2014-02-27 Vmware, Inc. Resource allocation diagnosis on distributed computer systems
CN103514046A (zh) * 2013-09-24 2014-01-15 华为技术有限公司 一种虚拟机放置方法及集群管理服务器
CN106686039A (zh) * 2015-11-10 2017-05-17 华为技术有限公司 一种云计算系统中的资源调度方法及装置
CN105872109A (zh) * 2016-06-17 2016-08-17 四川新环佳科技发展有限公司 云平台负载运行方法
CN106648829A (zh) * 2016-10-28 2017-05-10 广州市泰富信通科技有限公司 云资源高效利用的虚拟机迁移方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109117115A (zh) * 2018-07-16 2019-01-01 精硕科技(北京)股份有限公司 数据运算调度处理方法及装置、存储介质、处理器
CN109062666A (zh) * 2018-07-27 2018-12-21 浪潮电子信息产业股份有限公司 一种虚拟机集群管理方法及相关装置

Similar Documents

Publication Publication Date Title
US11073992B2 (en) Allocation and balancing of storage resources
US10896064B2 (en) Coordinated, topology-aware CPU-GPU-memory scheduling for containerized workloads
US10680892B2 (en) Managing servers with quality of service assurances
US9323561B2 (en) Calibrating cloud computing environments
US10324754B2 (en) Managing virtual machine patterns
US9417913B2 (en) Tunable computerized job scheduling
CN108667859A (zh) 一种实现资源调度的方法及装置
US9880885B2 (en) Method and system to rebalance constrained services in a cloud using a genetic algorithm
US9262502B2 (en) Methods and systems for recommending cloud-computing services to a customer
US20110154327A1 (en) Method and apparatus for data center automation
CN104067260A (zh) 动态构建用于承担用户工作量的一组计算节点
US8972941B2 (en) Integrated development environment-based workload testing in a networked computing environment
US20130024573A1 (en) Scalable and efficient management of virtual appliance in a cloud
JP2021504780A (ja) 分散コンピューティング環境における自動対角スケーリングためのアプリケーションの優先順位付け
CN111666158A (zh) 一种基于Kubernetes的容器调度方法、装置、存储介质及电子设备
CN117480494A (zh) 改进虚拟计算环境中资源分配的协调容器调度
CN108196936A (zh) 一种资源调度方法、设备及系统
US7395403B2 (en) Simulating partition resource allocation
US20120240111A1 (en) Storage medium storing program for controlling virtual machine, computing machine, and method for controlling virtual machine
JP7182836B2 (ja) 分散コンピューティング環境における作業負荷の自動対角スケーリング
CN111506414A (zh) 资源调度方法、装置、设备、系统及可读存储介质
Singh et al. Scheduling algorithm with load balancing in cloud computing
CN110958192B (zh) 一种基于虚拟交换机的虚拟数据中心资源分配系统及方法
CN117642719A (zh) 访问核的拓扑映射
US11948010B2 (en) Tag-driven scheduling of computing resources for function execution

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20180622