CN106982255A - 物理服务器、云调度器、云平台及用于其的方法 - Google Patents

物理服务器、云调度器、云平台及用于其的方法 Download PDF

Info

Publication number
CN106982255A
CN106982255A CN201710208028.8A CN201710208028A CN106982255A CN 106982255 A CN106982255 A CN 106982255A CN 201710208028 A CN201710208028 A CN 201710208028A CN 106982255 A CN106982255 A CN 106982255A
Authority
CN
China
Prior art keywords
instruction set
virtual machine
instruction
cloud
host
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
CN201710208028.8A
Other languages
English (en)
Other versions
CN106982255B (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.)
Lenovo Beijing Ltd
Original Assignee
Lenovo Beijing 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 Lenovo Beijing Ltd filed Critical Lenovo Beijing Ltd
Priority to CN201710208028.8A priority Critical patent/CN106982255B/zh
Publication of CN106982255A publication Critical patent/CN106982255A/zh
Application granted granted Critical
Publication of CN106982255B publication Critical patent/CN106982255B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network 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/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)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

公开了物理服务器、云调度器、云平台及用于其的方法。一种监控方法,应用于一云平台中的物理服务器,所述云平台还包括一云调度器,所述物理服务器作为一虚拟机的宿主机,所述监控方法包括:向所述云调度器查询所述宿主机的CPU支持的一个或多个指令集;确定待监控的第一指令集集合;启动对所述第一指令集集合中的指令集的监控;以及获得所述虚拟机中的应用对于所述第一指令集集合中的指令集的调用信息。

Description

物理服务器、云调度器、云平台及用于其的方法
技术领域
本发明涉及虚拟化领域和云计算领域,更具体地说,涉及感知虚拟机中所运行应用对资源需求的使用偏好的物理服务器和用于其的监控方法、基于所述使用偏好进行资源调度的云调度器和用于其的调度方法以及包含所述物理服务器和云调度器的云平台和用于其的控制方法。
背景技术
虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。宿主机是虚拟机的物理基础,虚拟机存在于宿主机中,与宿主机共享使用硬件。宿主机的运行是虚拟机运行的前提与基础。
云计算是近年来兴起的新理念,目标是将计算和存储简化为像公共的水和电一样易用的资源,用户只要连上网络即可方便地使用,按量付费。它是现有技术和模式的演进和采用。
虚拟化是云计算中主要支撑技术之一。云平台中用户的虚拟机通常运行在大量的异构物理服务器之上,并在不同的物理服务器上迁移。这里,运行虚拟机的当前物理服务器即上文中所述的宿主机,或称为宿主物理机。然而,在宿主机上,通常难以感知虚拟机中所运行应用对资源需求的使用偏好。
发明内容
鉴于以上情形,期望提供能够监控虚拟机中所运行应用对资源需求的使用偏好的监控方法以及物理服务器。
另外,在此基础之上,还期望提供能够利用物理服务器上监控和统计得到的虚拟机中所运行的应用具备的计算特点,根据这种统计分析结果指导云平台中的资源调度的调度方法和云调度器。
此外,还期望提供包括上述物理服务器、云调度器的云平台以及应用于所述云平台的控制方法。
根据本发明的第一方面,提供了一种监控方法,应用于一云平台中的物理服务器,所述云平台还包括一云调度器,所述物理服务器作为一虚拟机的宿主机,所述监控方法包括:向所述云调度器查询所述宿主机的CPU支持的一个或多个指令集;确定待监控的第一指令集集合;启动对所述第一指令集集合中的指令集的监控;以及获得所述虚拟机中的应用对于所述第一指令集集合中的指令集的调用信息。
优选地,在根据本发明实施例的监控方法中,所述确定待监控的第一指令集集合的步骤进一步包括:基于预定规则,对所述宿主机的CPU支持的一个或多个指令集进行筛选。
优选地,根据本发明实施例的监控方法可以进一步包括:响应于所述云调度器的查询,将所述调用信息发送到所述云调度器。
优选地,在根据本发明实施例的监控方法中,启动对所述第一指令集集合中的指令集的监控的步骤进一步包括:每当所述虚拟机中的应用调用所述第一指令集集合中的第一指令集时,将与所述第一指令集对应的计数值增加1,其中所述计数值的初始值为0,其中所述调用信息包括所述虚拟机中的应用对所述第一指令集的调用次数。
根据本发明的第二方面,提供了一种调度方法,应用于一云平台中的云调度器,所述云平台包括多个物理服务器,并且所述云调度器在所述多个物理服务器之中为虚拟机分配合适的宿主机,所述调度方法包括:获取针对所述虚拟机的迁移指令,所述迁移指令用于将所述虚拟机从当前宿主机迁移到目标宿主机;获取所述迁移指令所对应的目标宿主机的第一参数,所述第一参数与当前宿主机的CPU的第二指令集集合相对应;判断第一参数是否满足预定条件;当所述第一参数满足预定条件时,执行所述迁移指令。
优选地,在根据本发明实施例的调度方法中,所述第一参数是指示是否支持所述第二指令集集合中的所有指令集的参数。
优选地,在根据本发明实施例的调度方法中,在获取所述迁移指令所对应的目标宿主机的第一参数的步骤之前,进一步包括:向所述当前宿主机查询所述虚拟机中的应用对于CPU的特征指令集的调用信息;统计分析所述调用信息,并获得第二指令集集合。
优选地,在根据本发明实施例的调度方法中,所述调用信息包括所述虚拟机中的应用对一个或多个指令集的调用次数,并且其中统计分析所述调用信息,并获得第二指令集集合的步骤进一步包括:在所述一个或多个指令集中,筛选出调用次数大于预定阈值的指令集作为第二指令集集合。
优选地,在根据本发明实施例的调度方法中,所述预定条件为所述第一参数指示支持所述第二指令集集合中的所有指令集。
根据本发明的第三方面,提供了一种控制方法,应用于一云平台,所述云平台包括云调度器和多个物理服务器,并且所述云调度器在所述多个物理服务器之中为虚拟机分配合适的宿主机,所述方法包括:获取针对所述虚拟机的迁移指令,所述迁移指令用于将所述虚拟机从当前宿主机迁移到目标宿主机;查询所述当前宿主机的CPU支持的一个或多个指令集;确定待监控的第一指令集集合;启动对所述第一指令集集合中的指令集的监控;获得所述虚拟机中的应用对于所述第一指令集集合中的指令集的调用信息;统计分析所述调用信息,并获得第二指令集集合;获取所述迁移指令所对应的目标宿主机的第一参数,所述第一参数与当前宿主机的CPU的第二指令集集合相对应;判断第一参数是否满足预定条件;当所述第一参数满足预定条件时,执行所述迁移指令。
根据本发明的第四方面,提供了一种物理服务器,包括于一云平台中,并作为一虚拟机的宿主机,所述云平台还包括一云调度器,所述物理服务器包括:查询模块,用于向所述云调度器查询所述宿主机的CPU支持的一个或多个指令集;确定模块,用于确定待监控的第一指令集集合;监控模块,用于启动对所述第一指令集集合中的指令集的监控,并获得所述虚拟机中的应用对于所述第一指令集集合中的指令集的调用信息。
优选地,在根据本发明实施例的物理服务器中,所述确定模块进一步包括:筛选模块,用于基于预定规则,对所述宿主机的CPU支持的一个或多个指令集进行筛选。
优选地,根据本发明实施例的物理服务器可以进一步包括:发送模块,用于响应于所述云调度器的查询,将所述调用信息发送到所述云平台。
优选地,在根据本发明实施例的物理服务器中,所述监控模块进一步包括:计数模块,用于每当所述虚拟机中的应用调用所述第一指令集集合中的第一指令集时,将与所述第一指令集对应的计数值增加1,其中所述计数值的初始值为0,其中所述调用信息包括所述虚拟机中的应用对所述第一指令集的调用次数。
根据本发明的第五方面,提供了一种云调度器,包含于一云平台中,所述云平台还包括多个物理服务器,并且所述云调度器在所述多个物理服务器之中为虚拟机分配合适的宿主机,包括:获取单元,用于获取针对所述虚拟机的迁移指令,所述迁移指令用于将所述虚拟机从当前宿主机迁移到目标宿主机;注册单元,用于与物理服务器对应地记录其CPU支持的特征指令集,并获取所述迁移指令所对应的目标宿主机的第一参数,所述第一参数与当前宿主机的CPU的第二指令集集合相对应;以及调度单元,用于判断第一参数是否满足预定条件,并且当所述第一参数满足预定条件时,执行所述迁移指令。
优选地,在根据本发明实施例的云调度器中,所述第一参数是指示是否支持所述第二指令集集合中的所有指令集的参数。
优选地,根据本发明实施例的云调度器可以进一步包括:统计分析单元,用于向所述当前宿主机查询所述虚拟机中的应用对于CPU的特征指令集的调用信息,统计分析所述调用信息,并获得第二指令集集合。
优选地,在根据本发明实施例的云调度器中,所述调用信息包括所述虚拟机中的应用对一个或多个指令集的调用次数,并且其中所述统计分析单元被配置为在所述一个或多个指令集中,筛选出调用次数大于预定阈值的指令集作为第二指令集集合。
优选地,在根据本发明实施例的云调度器中,所述预定条件为所述第一参数指示支持所述第二指令集集合中的所有指令集。
根据本发明的第六方面,提供了一种云平台,包括:多个物理服务器,其每一个包括调用监控模块,用于监控其上运行的虚拟机中的应用对于CPU的特征指令集的调用情况,并获得调用信息;以及云调度器,用于在所述多个物理服务器之中为虚拟机分配合适的宿主机;其中所述云调度器包括:获取单元,用于获取针对所述虚拟机的迁移指令,所述迁移指令用于将所述虚拟机从当前宿主机迁移到目标宿主机;注册单元,用于与物理服务器对应地记录其CPU支持的特征指令集,并获取所述迁移指令所对应的目标宿主机的第一参数,所述第一参数与当前宿主机的CPU的第二指令集集合相对应;以及调度单元,用于判断第一参数是否满足预定条件,并且当所述第一参数满足预定条件时,执行所述迁移指令。
通过根据本发明实施例的物理服务器和监控方法,能够获得虚拟机中的应用对于指令集的调用信息,从而能够感知虚拟机中的应用对计算资源的需求。通过根据本发明实施例的云调度器和调度方法,通过基于第一参数来确定是否执行迁移指令,能够考虑虚拟机中所运行应用对CPU资源的使用需求,从而可以更加合理地执行虚拟机调度。通过根据本发明实施例的云平台和控制方法,可以实现虚拟机中应用对计算资源的监控和虚拟机在各物理服务器间的合理调度。
附图说明
图1是图示根据本发明实施例的应用于物理服务器的监控方法的过程的流程图;
图2是图示根据本发明实施例的应用于云调度器的调度方法的过程的流程图;
图3是图示根据本发明实施例的应用于云平台的控制方法的过程的流程图;
图4是图示根据本发明实施例的物理服务器的配置的功能性框图;
图5是图示根据本发明实施例的云调度器的配置的功能性框图;以及
图6是图示根据本发明实施例的云平台的配置的功能性框图。
具体实施方式
下面将参照附图对本发明的各个优选的实施方式进行描述。提供以下参照附图的描述,以帮助对由权利要求及其等价物所限定的本发明的示例实施方式的理解。其包括帮助理解的各种具体细节,但它们只能被看作是示例性的。因此,本领域技术人员将认识到,可对这里描述的实施方式进行各种改变和修改,而不脱离本发明的范围和精神。而且,为了使说明书更加清楚简洁,将省略对本领域熟知功能和构造的详细描述。
首先,将参照图1描述根据本发明实施例的监控方法,所述监控方法应用于一云平台中的物理服务器。所述云平台还包括一云调度器,所述物理服务器作为一虚拟机的宿主机。
如图1所示,所述监控方法包括如下步骤。
首先,在步骤S101,向所述云调度器查询所述宿主机的CPU支持的一个或多个指令集。这里,需要指出的是,在云平台的云调度器中维护当前云平台中所有物理服务器所对应的记录信息,所述记录信息表示物理服务器的CPU所支持的特征指令集。关于该部分的详细内容将在下文中描述。
然后,在步骤S102,确定待监控的第一指令集集合。
接下来,在步骤S103,启动对所述第一指令集集合中的指令集的监控。
最后,在步骤S104,获得所述虚拟机中的应用对于所述第一指令集集合中的指令集的调用信息。
在根据本发明的监控方法中,能够获得虚拟机中的应用对于指令集的调用信息,从而能够感知虚拟机中的应用对计算资源的需求。不需要在虚拟机中安装特定的应用监控代理,也不需要用户提供虚拟机中的应用信息,而是在物理服务器上统计分析虚拟机中应用的计算特点。所述调用信息的用途广泛。例如,可以收集所述调用信息用于大数据统计。另外,如下文中将要描述的,也可以利用所述调用信息来提供云平台中更为合理的虚拟机调度依据。
在根据本发明的监控方法中,上述步骤S102中确定的待监控的第一指令集集合可以是在步骤S101获取的所述物理服务器(即,宿主机)中的CPU所支持的全部指令集。
或者,可替代地,所述第一指令集集合也可以是CPU所支持的全部指令集的一部分。在这种情况下,确定待监控的第一指令集集合的步骤S203可以进一步包括:基于预定规则,对所述宿主机的CPU支持的一个或多个指令集进行筛选。
具体来说,不需要对虚拟机调用的所有指令集进行监控统计,仅对可以明显刻画计算特点的特征指令集的调用情况进行统计分析,从而以较小的监控统计代价实现较准确的应用计算特点的分析。例如,通常每款CPU具有特定的CPU特征指令集,如Intel CPU可支持SSE(浮点运算加速)和MMX(多媒体处理)指令集,这两个指令集就是可以明显刻画计算特点的特征指令集,通过对这种指令集的调用信息进行监控,可以更准确地分析应用计算特点。例如,如果虚拟机中的应用总是频繁地调用MMX指令集,则说明虚拟机极有可能是一个运行多媒体处理相关应用的虚拟机。
为了更好地利用所获得的调度信息,在根据本发明的监控方法中,在步骤S104之后,还可以进一步包括如下步骤:响应于所述云调度器的查询,将所述调用信息发送到所述云调度器。
如下文中将描述的那样,云调度器中的CPU特征指令集统计分析模块(FeatureAnalysis Module,FAM)(在下文中简称为统计分析模块)周期性地调用物理服务器中的CPU特征指令集调用监控模块(Feature Monitor Module,FMM)(在下文中简称为监控模块)查询接口获取虚拟机对所在宿主机的CPU特征指令集的调用信息。
另外,具体来说,在根据本发明的监控方法中,启动对所述第一指令集集合中的指令集的监控的步骤S103可以进一步包括:每当所述虚拟机中的应用调用所述第一指令集集合中的第一指令集时,将与所述第一指令集对应的计数值(cpu_feature_call_count)增加1,其中所述计数值的初始值为0。
也就是说,在这种情况下,在步骤S104获得的所述调用信息包括所述虚拟机中的应用对所述第一指令集的调用次数。
当然,启动对所述第一指令集集合中的指令集的监控的具体实施方式并不仅限于对指令集的调用次数进行监控。例如,还可以对指令集的调用频率、调用时段、调用是否呈现周期性等进行监控。
接下来,将参照图2描述根据本发明实施例的调度方法,所述调度方法应用于一云平台中的云调度器。所述云平台包括多个物理服务器,并且所述云调度器在所述多个物理服务器之中为虚拟机分配合适的宿主机。
如图2所示,所述调度方法包括如下步骤。
首先,在步骤S201,获取针对所述虚拟机的迁移指令,所述迁移指令用于将所述虚拟机从当前宿主机迁移到目标宿主机。
接下来,在步骤S202,获取所述迁移指令所对应的目标宿主机的第一参数,所述第一参数与当前宿主机的CPU的第二指令集集合相对应。
然后,在步骤S203,判断第一参数是否满足预定条件。
当在步骤S203判断出所述第一参数满足预定条件时,处理进行到步骤S204。在步骤S204,执行所述迁移指令。也就是说,执行将所述虚拟机从当前宿主机到目标宿主机的迁移。
另一方面,当在步骤S203判断出所述第一参数不满足预定条件时,处理进行到步骤S205。在步骤S205,不执行所述迁移指令。也就是说,不执行将所述虚拟机从当前宿主机到目标宿主机的迁移。
云平台中用户的虚拟机通常运行在大量的异构物理服务器之上,如何能够根据应用对CPU计算资源需求的不同为虚拟机分配合适的CPU资源从而保证虚拟机中应用的高效运行是云平台资源调度的一个重要目标。在现有技术中,云平台只针对CPU资源使用情况(如,CPU资源利用率)进行监控,难以感知虚拟机中所运行应用对CPU资源的使用偏好,因此云调度器无法针对应用的实际需求进行高效的资源调度。传统云调度器的调度目标是最大化资源使用,为了达到这一目标会对虚拟机进行动态的迁移和配置调整,虚拟机迁移到不同的物理机上时其中运行应用的资源需求也会相应发生变化。比如,对于一个运行多媒体处理相关应用的虚拟机来说,假设把它调度到支持MMX CPU指令集的物理机上需要分配2个物理CPU core并且CPU利用率达到70%即可满足其计算资源需求。如果把该虚拟机迁移到不支持MMX
CPU指令集的物理机上,则可能需要分配4个物理CPU core并且CPU利用率达到70%才可以满足其计算资源需求。对于传统的云调度器来说,这两种情况下物理机的CPU资源利用率均为70%,具有相同的调度效果,两种情形均有可能发生,但显然第一种调度结果具有更好的资源使用效率。可见,现有技术中的云平台的调度器仅考虑CPU资源利用率等资源层次的指标,缺乏对应用的资源需求偏好的分析,难以保证CPU资源的高效利用。
在根据本发明的调度方法中,通过获取目标宿主机的、与当前宿主机的CPU的第二指令集集合相对应的第一参数,并判断其是否满足预定条件来决定是否执行迁移指令。所述第一参数是表示目标宿主机是否能够满足与当前宿主机相同的计算资源需求的参数。也就是说,在根据本发明的调度方法中,通过基于第一参数来确定是否执行迁移指令,能够考虑虚拟机中所运行应用对CPU资源的使用需求,从而可以更加合理地执行虚拟机调度。
另外,在根据本发明的调度方法中,在步骤S201之前,还进一步包括与物理服务器对应地记录其CPU支持的特征指令集的步骤。具体地,每个物理服务器对应一条(feature1,feature 2,…,feature m)的记录,维护当前云平台中所有服务器所对应的记录信息,并构造一个n*m的矩阵H,其中n为物理服务器的个数,m为平台中所有CPU特征指令集的个数,如果序号为i的物理服务器支持序号为j的特征指令集,则Hij=1,否则Hij=0。
当在所述云平台中增加新的物理服务器时,获取所述新的物理服务器的CPU支持的指令集,并在矩阵H中增加一行本物理服务器所支持的CPU特征指令集的记录。
此外,所述第一参数是指示是否支持所述第二指令集集合中的所有指令集的参数。所述预定条件为所述第一参数指示支持所述第二指令集集合中的所有指令集。
第二指令集集合是当前宿主机所支持的全部指令集的一部分,是能够体现虚拟机在当前宿主机中对CPU资源的使用偏好的指令集的集合。第二指令集集合可以通过如下方式获得。在获取所述迁移指令所对应的目标宿主机的第一参数的步骤S202之前,所述调度方法进一步包括如下步骤。
在步骤S206,向所述当前宿主机查询所述虚拟机中的应用对于CPU的特征指令集的调用信息。
然后,在步骤S207,统计分析所述调用信息,并获得第二指令集集合。
如上文中所述,所述调用信息包括但不限于调用次数、调用频率、调用时段、调用是否呈现周期性等。在所述调用信息包括所述虚拟机中的应用对一个或多个指令集的调用次数的情况下,统计分析所述调用信息,并获得第二指令集集合的步骤S207进一步包括:在所述一个或多个指令集中,筛选出调用次数大于预定阈值的指令集作为第二指令集集合。
具体地,周期性查询分布于各个物理机上的FMM的查询接口获取虚拟机对所在宿主机的CPU特征指令集的调用信息cpu_feature_call_count,计算出虚拟机对CPU特征指令集的调用次数。构造一个p*m的矩阵C,其中p为虚拟机的个数,m为所有CPU特征指令集的个数,Cij的值设置为序号为i的虚拟机在最近t时间内对序号为j的CPU特征指令集的调用次数。当当前宿主机为服务器k,而目标宿主机是服务器g时,对于大于某个值f的所有Cij,查询Hgj是否均为1,即:对于在当前宿主机上调用次数较多的特征指令集,查询是否在目标宿主机上也支持。
接下来,将参照图3描述根据本发明实施例的控制方法,所述控制方法应用于一云平台,所述云平台包括云调度器和多个物理服务器,并且所述云调度器在所述多个物理服务器之中为虚拟机分配合适的宿主机。
如图3所示,所述方法包括如下步骤。
首先,在步骤S301,获取针对所述虚拟机的迁移指令,所述迁移指令用于将所述虚拟机从当前宿主机迁移到目标宿主机。
然后,在步骤S302,查询所述当前宿主机的CPU支持的一个或多个指令集。
接下来,在步骤S303,确定待监控的第一指令集集合。
然后,在步骤S304,启动对所述第一指令集集合中的指令集的监控。
并且,在步骤S305,获得所述虚拟机中的应用对于所述第一指令集集合中的指令集的调用信息。
在步骤S306,统计分析所述调用信息,并获得第二指令集集合。
在步骤S307,获取所述迁移指令所对应的目标宿主机的第一参数,所述第一参数与当前宿主机的CPU的第二指令集集合相对应。
在步骤S308,判断第一参数是否满足预定条件。
当在步骤S308判断出所述第一参数满足预定条件时,处理进行到步骤S309。在步骤S309,执行所述迁移指令。另一方面,当在步骤S308判断出所述第一参数不满足预定条件时,处理进行到步骤S310。在步骤S310,不执行所述迁移指令。
在上文中,已经参照图1到图3详细描述了根据本发明实施例的应用于物理服务器的监控方法、应用于云调度器的调度方法以及应用于云平台的控制方法。接下来,将参照图4描述根据本发明实施例的物理服务器。所述物理服务器包括于一云平台中,并且作为一虚拟机的宿主机。所述云平台包括多个物理服务器和一云调度器。
如图4所示,所述物理服务器400包括:查询模块401、确定模块402以及监控模块403。
查询模块401用于向所述云调度器查询所述宿主机的CPU支持的一个或多个指令集。
确定模块402用于确定待监控的第一指令集集合。
监控模块403用于启动对所述第一指令集集合中的指令集的监控,并获得所述虚拟机中的应用对于所述第一指令集集合中的指令集的调用信息。
在根据本发明的物理服务器中,能够获得虚拟机中的应用对于指令集的调用信息,从而能够感知虚拟机中的应用对计算资源的需求。不需要在虚拟机中安装特定的应用监控代理,也不需要用户提供虚拟机中的应用信息,而是在物理服务器上统计分析虚拟机中应用的计算特点。所述调用信息的用途广泛。例如,可以收集所述调用信息用于大数据统计,也可以利用所述调用信息来提供云平台中更为合理的虚拟机调度依据。
在根据本发明的物理服务器中,所述确定模块402中确定的待监控的第一指令集集合可以是在所述查询模块401获取的所述物理服务器(即,宿主机)中的CPU所支持的全部指令集。
或者,可替代地,所述第一指令集集合也可以是CPU所支持的全部指令集的一部分。在这种情况下,所述确定模块402可以进一步包括:筛选模块(图中未示出),用于基于预定规则,对所述宿主机的CPU支持的一个或多个指令集进行筛选。不需要对虚拟机调用的所有指令集进行监控统计,仅对可以明显刻画计算特点的特征指令集的调用情况进行统计分析,从而以较小的监控统计代价实现较准确的应用计算特点的分析。
为了更好地利用所获得的调度信息,根据本发明的物理服务器可以进一步包括:发送模块(图中未示出),用于响应于所述云调度器的查询,将所述调用信息发送到所述云平台。
另外,具体来说,在根据本发明实施例的物理服务器中,所述监控模块403进一步包括:计数模块(图中未示出),用于每当所述虚拟机中的应用调用所述第一指令集集合中的第一指令集时,将与所述第一指令集对应的计数值增加1,其中所述计数值的初始值为0。
也就是说,在这种情况下,所述调用信息包括所述虚拟机中的应用对所述第一指令集的调用次数。
当然,所述监控模块403启动对所述第一指令集集合中的指令集的监控的具体实施方式并不仅限于对指令集的调用次数进行监控。例如,所述监控模块403还可以对指令集的调用频率、调用时段、调用是否呈现周期性等进行监控。
接下来,将参照图5描述根据本发明实施例的云调度器。所述云调度器包含于一云平台中,所述云平台还包括多个物理服务器,并且所述云调度器在所述多个物理服务器之中为虚拟机分配合适的宿主机。
如图5所示,云调度器500包括:获取单元501、注册单元502以及调度单元503。
获取单元501用于获取针对所述虚拟机的迁移指令,所述迁移指令用于将所述虚拟机从当前宿主机迁移到目标宿主机。
注册单元502用于与物理服务器对应地记录其CPU支持的特征指令集。如上文中所述,每个物理服务器对应一条(feature 1,feature 2,…,feature m)的记录,注册单元502维护当前云平台中所有服务器所对应的记录信息,并构造一个n*m的矩阵H,其中n为物理服务器的个数,m为平台中所有CPU特征指令集的个数,如果序号为i的物理服务器支持序号为j的特征指令集,则Hij=1,否则Hij=0。当在所述云平台中增加新的物理服务器时,获取所述新的物理服务器的CPU支持的指令集,并在矩阵H中增加一行本物理服务器所支持的CPU特征指令集的记录。
并且,注册单元502还被配置为获取所述迁移指令所对应的目标宿主机的第一参数,所述第一参数与当前宿主机的CPU的第二指令集集合相对应。
调度单元503用于判断第一参数是否满足预定条件,并且当所述第一参数满足预定条件时,执行所述迁移指令。
在根据本发明的云调度器中,通过获取目标宿主机的、与当前宿主机的CPU的第二指令集集合相对应的第一参数,并判断其是否满足预定条件来决定是否执行迁移指令。所述第一参数是表示目标宿主机是否能够满足与当前宿主机相同的计算资源需求的参数。也就是说,在根据本发明的调度方法中,通过基于第一参数来确定是否执行迁移指令,能够考虑虚拟机中所运行应用对CPU资源的使用需求,从而可以更加合理地执行虚拟机调度。
所述第一参数是指示是否支持所述第二指令集集合中的所有指令集的参数。所述预定条件为所述第一参数指示支持所述第二指令集集合中的所有指令集。
第二指令集集合是当前宿主机所支持的全部指令集的一部分,是能够体现虚拟机在当前宿主机中对CPU资源的使用偏好的指令集的集合。第二指令集集合可以通过如下方式获得。
根据本发明的云调度器可以进一步包括:统计分析单元504,用于向所述当前宿主机查询所述虚拟机中的应用对于CPU的特征指令集的调用信息,统计分析所述调用信息,并获得第二指令集集合。
如上文中所述,所述调用信息包括但不限于调用次数、调用频率、调用时段、调用是否呈现周期性等。在所述调用信息包括所述虚拟机中的应用对一个或多个指令集的调用次数的情况下,所述统计分析单元504被配置为在所述一个或多个指令集中,筛选出调用次数大于预定阈值的指令集作为第二指令集集合。
具体地,统计分析单元504周期性查询分布于各个物理机上的FMM的查询接口获取虚拟机对所在宿主机的CPU特征指令集的调用信息cpu_feature_call_count,计算出虚拟机对CPU特征指令集的调用次数。构造一个p*m的矩阵C,其中p为虚拟机的个数,m为所有CPU特征指令集的个数,Cij的值设置为序号为i的虚拟机在最近t时间内对序号为j的CPU特征指令集的调用次数。当当前宿主机为服务器k,而目标宿主机是服务器g时,对于大于某个值f的所有Cij,查询Hgj是否均为1,即:对于在当前宿主机上调用次数较多的特征指令集,查询是否在目标宿主机上也支持。
最后,将参照图6描述根据本发明实施例的云平台。如图6所示,云平台600包括多个物理服务器4001-400n(在不需要特别区分的情况下,将其统一地表示为400)和云调度器500。
多个物理服务器中的每一个包括调用监控模块403,用于监控其上运行的虚拟机中的应用对于CPU的特征指令集的调用情况,并获得调用信息。
云调度器500用于在所述多个物理服务器之中为虚拟机分配合适的宿主机。
所述云调度器500包括:获取单元501,用于获取针对所述虚拟机的迁移指令,所述迁移指令用于将所述虚拟机从当前宿主机迁移到目标宿主机;注册单元502,用于与物理服务器对应地记录其CPU支持的特征指令集,并获取所述迁移指令所对应的目标宿主机的第一参数,所述第一参数与当前宿主机的CPU的第二指令集集合相对应;统计分析单元504,用于向所述当前宿主机查询所述虚拟机中的应用对于CPU的特征指令集的调用信息,统计分析所述调用信息,并获得第二指令集集合;以及调度单元503用于判断第一参数是否满足预定条件,并且当所述第一参数满足预定条件时,执行所述迁移指令。
迄今为止,已经参照图1到图6详细描述了根据本发明实施例的物理服务器、云调度器、云平台以及应用于其的监控方法、调度方法和控制方法。通过根据本发明实施例的物理服务器和监控方法,能够获得虚拟机中的应用对于指令集的调用信息,从而能够感知虚拟机中的应用对计算资源的需求。通过根据本发明实施例的云调度器和调度方法,通过基于第一参数来确定是否执行迁移指令,能够考虑虚拟机中所运行应用对CPU资源的使用需求,从而可以更加合理地执行虚拟机调度。通过根据本发明实施例的云平台和控制方法,可以实现虚拟机中应用对计算资源的监控和虚拟机在各物理服务器间的合理调度。
需要说明的是,在本说明书中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
最后,还需要说明的是,上述一系列处理不仅包括以这里所述的顺序按时间序列执行的处理,而且包括并行或分别地、而不是按时间顺序执行的处理。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的硬件平台的方式来实现,当然也可以全部通过软件来实施。基于这样的理解,本发明的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
以上对本发明进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (20)

1.一种监控方法,应用于一云平台中的物理服务器,所述云平台还包括一云调度器,所述物理服务器作为一虚拟机的宿主机,所述监控方法包括:
向所述云调度器查询所述宿主机的CPU支持的一个或多个指令集;
确定待监控的第一指令集集合;
启动对所述第一指令集集合中的指令集的监控;以及
获得所述虚拟机中的应用对于所述第一指令集集合中的指令集的调用信息。
2.根据权利要求1所述的监控方法,其中所述确定待监控的第一指令集集合的步骤进一步包括:
基于预定规则,对所述宿主机的CPU支持的一个或多个指令集进行筛选。
3.根据权利要求1所述的监控方法,进一步包括:
响应于所述云调度器的查询,将所述调用信息发送到所述云调度器。
4.根据权利要求1所述的监控方法,其中启动对所述第一指令集集合中的指令集的监控的步骤进一步包括:
每当所述虚拟机中的应用调用所述第一指令集集合中的第一指令集时,将与所述第一指令集对应的计数值增加1,其中所述计数值的初始值为0,
其中所述调用信息包括所述虚拟机中的应用对所述第一指令集的调用次数。
5.一种调度方法,应用于一云平台中的云调度器,所述云平台包括多个物理服务器,并且所述云调度器在所述多个物理服务器之中为虚拟机分配合适的宿主机,所述调度方法包括:
获取针对所述虚拟机的迁移指令,所述迁移指令用于将所述虚拟机从当前宿主机迁移到目标宿主机;
获取所述迁移指令所对应的目标宿主机的第一参数,所述第一参数与当前宿主机的CPU的第二指令集集合相对应;
判断第一参数是否满足预定条件;
当所述第一参数满足预定条件时,执行所述迁移指令。
6.根据权利要求5所述的调度方法,其中所述第一参数是指示是否支持所述第二指令集集合中的所有指令集的参数。
7.根据权利要求5所述的调度方法,其中在获取所述迁移指令所对应的目标宿主机的第一参数的步骤之前,进一步包括:
向所述当前宿主机查询所述虚拟机中的应用对于CPU的特征指令集的调用信息;
统计分析所述调用信息,并获得第二指令集集合。
8.根据权利要求7所述的方法,其中所述调用信息包括所述虚拟机中的应用对一个或多个指令集的调用次数,并且
其中统计分析所述调用信息,并获得第二指令集集合的步骤进一步包括:
在所述一个或多个指令集中,筛选出调用次数大于预定阈值的指令集作为第二指令集集合。
9.根据权利要求6所述的调度方法,其中所述预定条件为所述第一参数指示支持所述第二指令集集合中的所有指令集。
10.一种控制方法,应用于一云平台,所述云平台包括云调度器和多个物理服务器,并且所述云调度器在所述多个物理服务器之中为虚拟机分配合适的宿主机,所述方法包括:
获取针对所述虚拟机的迁移指令,所述迁移指令用于将所述虚拟机从当前宿主机迁移到目标宿主机;
查询所述当前宿主机的CPU支持的一个或多个指令集;
确定待监控的第一指令集集合;
启动对所述第一指令集集合中的指令集的监控;
获得所述虚拟机中的应用对于所述第一指令集集合中的指令集的调用信息;
统计分析所述调用信息,并获得第二指令集集合;
获取所述迁移指令所对应的目标宿主机的第一参数,所述第一参数与当前宿主机的CPU的第二指令集集合相对应;
判断第一参数是否满足预定条件;
当所述第一参数满足预定条件时,执行所述迁移指令。
11.一种物理服务器,包括于一云平台中,并作为一虚拟机的宿主机,所述云平台还包括一云调度器,所述物理服务器包括:
查询模块,用于向所述云调度器查询所述宿主机的CPU支持的一个或多个指令集;
确定模块,用于确定待监控的第一指令集集合;
监控模块,用于启动对所述第一指令集集合中的指令集的监控,并获得所述虚拟机中的应用对于所述第一指令集集合中的指令集的调用信息。
12.根据权利要求11所述的物理服务器,其中所述确定模块进一步包括:
筛选模块,用于基于预定规则,对所述宿主机的CPU支持的一个或多个指令集进行筛选。
13.根据权利要求11所述的物理服务器,进一步包括:
发送模块,用于响应于所述云调度器的查询,将所述调用信息发送到所述云平台。
14.根据权利要求11所述的物理服务器,其中所述监控模块进一步包括:
计数模块,用于每当所述虚拟机中的应用调用所述第一指令集集合中的第一指令集时,将与所述第一指令集对应的计数值增加1,其中所述计数值的初始值为0,
其中所述调用信息包括所述虚拟机中的应用对所述第一指令集的调用次数。
15.一种云调度器,包含于一云平台中,所述云平台还包括多个物理服务器,并且所述云调度器在所述多个物理服务器之中为虚拟机分配合适的宿主机,包括:
获取单元,用于获取针对所述虚拟机的迁移指令,所述迁移指令用于将所述虚拟机从当前宿主机迁移到目标宿主机;
注册单元,用于与物理服务器对应地记录其CPU支持的特征指令集,并获取所述迁移指令所对应的目标宿主机的第一参数,所述第一参数与当前宿主机的CPU的第二指令集集合相对应;以及
调度单元,用于判断第一参数是否满足预定条件,并且当所述第一参数满足预定条件时,执行所述迁移指令。
16.根据权利要求15所述的云调度器,其中所述第一参数是指示是否支持所述第二指令集集合中的所有指令集的参数。
17.根据权利要求15所述的云调度器,进一步包括:
统计分析单元,用于向所述当前宿主机查询所述虚拟机中的应用对于CPU的特征指令集的调用信息,统计分析所述调用信息,并获得第二指令集集合。
18.根据权利要求17所述的云调度器,其中所述调用信息包括所述虚拟机中的应用对一个或多个指令集的调用次数,并且
其中所述统计分析单元被配置为在所述一个或多个指令集中,筛选出调用次数大于预定阈值的指令集作为第二指令集集合。
19.根据权利要求16所述的云调度器,其中所述预定条件为所述第一参数指示支持所述第二指令集集合中的所有指令集。
20.一种云平台,包括:
多个物理服务器,其每一个包括调用监控模块,用于监控其上运行的虚拟机中的应用对于CPU的特征指令集的调用情况,并获得调用信息;以及
云调度器,用于在所述多个物理服务器之中为虚拟机分配合适的宿主机;
其中所述云调度器包括:
获取单元,用于获取针对所述虚拟机的迁移指令,所述迁移指令用于将所述虚拟机从当前宿主机迁移到目标宿主机;
注册单元,用于与物理服务器对应地记录其CPU支持的特征指令集,并获取所述迁移指令所对应的目标宿主机的第一参数,所述第一参数与当前宿主机的CPU的第二指令集集合相对应;以及
调度单元,用于判断第一参数是否满足预定条件,并且当所述第一参数满足预定条件时,执行所述迁移指令。
CN201710208028.8A 2017-03-31 2017-03-31 物理服务器、云调度器、云平台及用于其的方法 Active CN106982255B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710208028.8A CN106982255B (zh) 2017-03-31 2017-03-31 物理服务器、云调度器、云平台及用于其的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710208028.8A CN106982255B (zh) 2017-03-31 2017-03-31 物理服务器、云调度器、云平台及用于其的方法

Publications (2)

Publication Number Publication Date
CN106982255A true CN106982255A (zh) 2017-07-25
CN106982255B CN106982255B (zh) 2020-08-25

Family

ID=59339833

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710208028.8A Active CN106982255B (zh) 2017-03-31 2017-03-31 物理服务器、云调度器、云平台及用于其的方法

Country Status (1)

Country Link
CN (1) CN106982255B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110795201A (zh) * 2018-08-01 2020-02-14 网宿科技股份有限公司 一种云平台中服务器的管理方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7958506B2 (en) * 2006-06-22 2011-06-07 Intel Corporation Time sliced interrupt processing on virtualized platform
CN102262557A (zh) * 2010-05-25 2011-11-30 运软网络科技(上海)有限公司 通过总线架构构建虚拟机监控器的方法及性能服务框架
CN102546379A (zh) * 2010-12-27 2012-07-04 中国移动通信集团公司 一种虚拟化资源调度的方法及虚拟化资源调度系统
US20130326109A1 (en) * 2012-05-30 2013-12-05 Avi Kivity Dynamic optimization of operating system and virtual machine monitor memory management
CN103533086A (zh) * 2013-10-31 2014-01-22 中国科学院计算机网络信息中心 一种云计算系统中的资源统一调度方法
CN104010028A (zh) * 2014-05-04 2014-08-27 华南理工大学 一种云平台下性能加权的虚拟资源动态管理策略方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7958506B2 (en) * 2006-06-22 2011-06-07 Intel Corporation Time sliced interrupt processing on virtualized platform
CN102262557A (zh) * 2010-05-25 2011-11-30 运软网络科技(上海)有限公司 通过总线架构构建虚拟机监控器的方法及性能服务框架
US20110296411A1 (en) * 2010-05-25 2011-12-01 Transoft Kernel Bus System to Build Virtual Machine Monitor and the Performance Service Framework and Method Therefor
CN102546379A (zh) * 2010-12-27 2012-07-04 中国移动通信集团公司 一种虚拟化资源调度的方法及虚拟化资源调度系统
US20130326109A1 (en) * 2012-05-30 2013-12-05 Avi Kivity Dynamic optimization of operating system and virtual machine monitor memory management
CN103533086A (zh) * 2013-10-31 2014-01-22 中国科学院计算机网络信息中心 一种云计算系统中的资源统一调度方法
CN104010028A (zh) * 2014-05-04 2014-08-27 华南理工大学 一种云平台下性能加权的虚拟资源动态管理策略方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110795201A (zh) * 2018-08-01 2020-02-14 网宿科技股份有限公司 一种云平台中服务器的管理方法及装置
CN110795201B (zh) * 2018-08-01 2024-03-26 深圳爱捷云科技有限公司 一种云平台中服务器的管理方法及装置

Also Published As

Publication number Publication date
CN106982255B (zh) 2020-08-25

Similar Documents

Publication Publication Date Title
CN106020715B (zh) 存储池容量管理
CN107231264A (zh) 用于管理云服务器的容量的方法和装置
US7668703B1 (en) Determining required capacity for a resource
US9703592B2 (en) Virtual machine migration management
CN109740755B (zh) 一种基于梯度下降法的数据处理方法及相关装置
US10783002B1 (en) Cost determination of a service call
CN106326002B (zh) 资源调度方法、装置及设备
CN110046070B (zh) 服务器集群系统的监控方法、装置、电子设备及存储介质
CN103971170A (zh) 一种用于对特征信息的变化进行预测的方法和装置
CN103714133A (zh) 数据运维管理方法及装置
CN110618867A (zh) 一种预测资源使用量的方法和装置
CN109144862A (zh) 测试数据的统计方法、装置、计算机设备及存储介质
CN109271257A (zh) 一种虚拟机迁移部署的方法及设备
CN109657965A (zh) 一种服务资源分配方法、装置、存储介质及处理器
CN106982255A (zh) 物理服务器、云调度器、云平台及用于其的方法
CN104937613A (zh) 量化数据质量的探试
US10931776B2 (en) Adaptive data fetching from network storage
CN109359109A (zh) 一种基于分布式流计算的数据处理方法及系统
US20140316953A1 (en) Determining datacenter costs
CN110868330B (zh) 云平台可划分cpu资源的评估方法、装置及评估系统
US20210034495A1 (en) Dynamically updating device health scores and weighting factors
US20220413933A1 (en) Liaison System and Method for Cloud Computing Environment
Arrigo et al. Sparse matrix computations for dynamic network centrality
CN108399031B (zh) 确定界面布局方式的方法和装置
CN114520773A (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