发明内容
本申请实施例提供一种服务器、资源管理方法及虚拟机管理器,用以解决现有技术中的虚拟机管理器的实现复杂度和性能损耗较高的技术问题。
本申请第一方面提供了一种服务器,包括:
N类物理处理器核心;N为大于1的正整数;
控制器,用于根据所述N类物理处理器核心的种类部署M个虚拟机管理器,每个所述虚拟机管理器用于管理一个物理处理器核心区,每个所述物理处理器核心区属于所述N类物理处理器中核心的一类;其中,M为大于等于N的正整数。
结合第一方面,在第一方面的第一种可能的实现方式中,所述控制器具体用于:根据所述N类物理处理器核心的种类部署N个虚拟机管理器,所述N个虚拟机管理器与所述N类物理处理器核心一一对应;或者
根据所述N类物理处理器核心的种类和同一种类的处理器核心之间的互联类型部署所述M个虚拟机管理器;或者
根据所述N类物理处理器核心的种类、同一种类的处理器核心之间的互联类型以及同一互联类型的处理器核心的数量部署所述M个虚拟机管理器。
结合第一方面或第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述控制器还用于在每个所述虚拟机管理器管理的物理处理器核心区中确定部分核心区以运行对应的虚拟机管理器。
结合第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,每个所述虚拟机管理器具体用于:根据应用的类型和/或需求分配所述管理的物理处理器核心区中的另一部分核心区以运行所述应用所寄宿的客户端操作系统;其中,所述另一部分核心区和所述部分核心区不相同。
结合第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式中,每个所述虚拟机管理器还用于:接收所述客户端操作系统发送的处理器核间中断IPI事件,处理所述IPI事件,并在处理完所述IPI事件之后,向所述客户端操作系统发送进入通知,以通知所述客户端操作系统继续运行。
结合第一方面的第四种可能的实现方式,在第一方面的第五种可能的实现方式中,所述服务器还包括与处理器核心数量一致的本地高级可编程中断控制器,分别配置给所述每个处理器核心,每个所述虚拟机管理器具体用于:在接收所述客户端操作系统发送的处理器核间中断IPI事件之前,获取每个所述虚拟机管理器自身所管理的物理处理器核心对应的本地高级可编程中断控制器的标识信息,并将所述标识信息发送给运行在自身所管理的物理处理器核心上的客户端操作系统,以使所述客户端操作系统根据所述标识信息发送所述IPI事件。
结合第一方面的第五种可能的实现方式,在第一方面的第六种可能的实现方式中,每个所述虚拟机管理器还用于:为每个所述虚拟机管理器所管理的物理处理器核心区分配I/O高级可编程中断控制器;并配置所述I/O高级可编程中断控制器的重定向表;在接收到外部中断信息时,通过所述重定向表将所述外部中断信息分发到对应的本地高级可编程中断控制器中。
结合第一方面或第一方面的第一种可能的实现方式至第一方面的第六种可能的实现方式中的任意一种,在第一方面的第七种可能的实现方式中,每个所述虚拟机管理器还用于:向其他虚拟机管理器发送自身所管理的物理处理器核心的信息;接收所述其他虚拟机管理器发送的所述其他虚拟机管理器所管理的物理处理器核心的信息并将所述M个虚拟机管理器所管理的物理处理器核心的信息发送给上层管理平台,以使得所述上层管理平台根据所述信息将应用的部署请求发送给匹配的虚拟机管理器。
本申请第二方面提供一种资源管理方法,包括:
虚拟机管理器接收应用的部署请求,所述请求中包括所述应用的类型和/或需求;其中,虚拟机管理器管理一个物理处理器核心区,所述物理处理器核心区为服务器上的N类物理处理器核心中的一类;所述虚拟机管理器为根据所述N类物理处理器核心的种类部署的M个虚拟机管理器中的一个;所述虚拟机管理器运行在所述物理处理器核心区的部分核心区上;
所述虚拟机管理器根据所述类型和/或需求分配所述物理处理器核心区的另一部分核心区以运行所述应用所寄宿的客户端操作系统;其中,所述另一部分核心区和所述部分核心区不相同。
结合第二方面,在第二方面的第一种可能的实现方式中,所述方法还包括:
所述虚拟机管理器接收所述客户端操作系统发送的处理器核间中断IPI事件;
所述虚拟机管理器处理所述IPI事件;
所述虚拟机管理器在处理完所述IPI事件之后,向所述客户端操作系统发送进入通知,以通知所述客户端操作系统继续运行。
结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述服务器还包括与每个处理器核心数量一致的本地高级可编程中断控制器,分别配置给所述每个处理器核心,所述方法还包括:
所述虚拟机管理器获取所述虚拟机管理器所管理的物理处理器核心对应的本地高级可编程中断控制器的标识信息;
所述虚拟机管理器将所述标识信息发送给所述客户端操作系统,以使所述客户端操作系统根据所述标识信息发送所述IPI事件。
结合第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述方法还包括:
所述虚拟机管理器为所述虚拟机管理器所管理的物理处理器核心区分配I/O高级可编程中断控制器;并配置所述I/O高级可编程中断控制器的重定向表;在接收到外部中断信息时,通过所述重定向表将所述外部中断信息分发到对应的本地高级可编程中断控制器中。
结合第二方面或第二方面的第一种可能的实现方式至第二方面的第三种可能的实现方式中的任意一种,在第一方面的第四种可能的实现方式中,所述方法还包括:
所述虚拟机管理器向其他虚拟机管理器发送自身所管理的物理处理器核心的信息;接收所述其他虚拟机管理器发送的所述其他虚拟机管理器所管理的物理处理器核心的信息并将所述M个虚拟机管理器所管理的物理处理器核心的信息发送给上层管理平台,以使得所述上层管理平台根据所述信息将应用的部署请求发送给匹配的虚拟机管理器。
本申请第三方面提供一种虚拟机管理器,所述虚拟机管理器管理一个物理处理器核心区,所述物理处理器核心区为服务器上的N类物理处理器核心中的一类;所述虚拟机管理器为根据所述N类物理处理器核心的种类部署的M个虚拟机管理器中的一个;所述虚拟机管理器运行在所述物理处理器核心区的部分核心区上;所述虚拟机管理器包括:
分区及管理模块,用于接收应用的部署请求,所述请求中包括所述应用的类型和/或需求;并根据所述类型和/或需求分配所述物理处理器核心区的另一部分核心区以运行所述应用所寄宿的客户端操作系统;其中,所述另一部分核心区和所述部分核心区不相同。
结合第三方面,在第三方面的第一种可能的实现方式中,所述分区及管理模块还用于:接收所述客户端操作系统发送的处理器核间中断IPI事件;处理所述IPI事件;并在处理完所述IPI事件之后,向所述客户端操作系统发送进入通知,以通知所述客户端操作系统继续运行。
结合第三方面的第一种可能的实现方式,在第三方面的第二种可能的实现方式中,所述服务器还包括与每个处理器核心数量一致的本地高级可编程中断控制器,分别配置给所述每个处理器核心,所述虚拟机管理器还包括:
中断定向分发模块,用于获取所述虚拟机管理器所管理的物理处理器核心对应的本地高级可编程中断控制器的标识信息;并将所述标识信息发送给所述客户端操作系统,以使所述客户端操作系统根据所述标识信息发送所述IPI事件。
结合第三方面的第二种可能的实现方式,在第三方面的第三种可能的实现方式中,所述中断定向分发模块还用于:为所述虚拟机管理器所管理的物理处理器核心区分配I/O高级可编程中断控制器;并配置所述I/O高级可编程中断控制器的重定向表;在接收到外部中断信息时,通过所述重定向表将所述外部中断信息分发到对应的本地高级可编程中断控制器中。
结合第三方面或第三方面的第一种可能的实现方式至第三方面的第三种可能的实现方式中的任意一种,在第一方面的第四种可能的实现方式中,所述虚拟机管理器还包括:
交互模块,用于向其他虚拟机管理器发送所述虚拟机管理器所管理的物理处理器核心的信息;接收所述其他虚拟机管理器发送的所述其他虚拟机管理器所管理的物理处理器核心的信息并将所述M个虚拟机管理器所管理的物理处理器核心的信息发送给上层管理平台,以使得所述上层管理平台根据所述信息将应用的部署请求发送给匹配的虚拟机管理器。
本申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
本申请实施例中,服务器包括N类物理处理器核心;控制器,用于根据所述N类物理处理器核心的种类部署M个虚拟机管理器,每个虚拟机管理器用于管理一个物理处理器核心区,每个所述物理处理器核心区属于所述N类物理处理器中核心的一类。因为每个虚拟机管理器只管理N类物理处理器核心的一类,所以管理的范围有限,如此可以降低每个虚拟机管理器的内部实现复杂度和性能损耗。而且本实施例中的方案,只需要简单的添加虚拟机管理器的数量来进行管理,就可以满足单台服务器的内部处理器核心的不断增多的情况,所以具有良好的扩展性。
具体实施方式
本申请实施例提供一种服务器、资源管理方法及虚拟机管理器,用以解决现有技术中的虚拟机管理器的实现复杂度和性能损耗较高的技术问题。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
下面结合附图对本申请优选的实施方式进行详细说明。
请参考图1所示,为本申请实施例提供的一种服务器的结构框图。如图1所示,该服务器包括:N类物理处理器核心,例如处理器核心区101属于轻量级(light-weight)的处理器核心区。处理器核心区102属于重量级(heavy-weight)的处理器核心区。处理器核心区103属于加速器型的处理器核心区。其中,N为大于1的正整数。该服务器还包括存储器104和控制器105。N类物理处理器核心具体可以是通用的中央处理器(CPU)。存储器104的数量可以是一个或多个。存储器104可以包括只读存储器(英文:ReadOnlyMemory,简称:ROM)、随机存取存储器(英文:RandomAccessMemory,简称:RAM)和磁盘存储器。控制器105具体例如是基本输入输出系统(英文:BasicInputOutputSystem)芯片。存储器104、控制器105通过总线与N类处理器核心相连接。
存储器104中可以存储指令。N类处理器核心和控制器105可以执行存储器104中存储的指令。
控制器105用于根据N类物理处理器核心的种类部署M个虚拟机管理器(hypervisor)。每个虚拟机管理器用于管理一个物理处理器核心区,并且每个物理处理器核心区属于N类物理处理器核心中的一类。其中,M为大于等于N的正整数。举例来说,假设一台众核服务器包含三类处理器核心,分别为上述的处理器核心区101、处理器核心区102和处理器核心区103。因为每个虚拟机管理器只能管理这三类处理器核心中的一类,所以需要分配三个虚拟机管理器。因此,任意两个虚拟机管理器管理的处理器核心区互不相同。在该种只根据物理处理器核心的种类部署虚拟机管理器时,虚拟机管理器的数量与物理处理器核心的种类的数量一一对应。
当然,在实际运用中,控制器105还可以参考其他因素来部署虚拟机管理器。例如:控制器105具体用于:根据N类物理处理器的种类和同一种类的处理器核心(Core)之间的互联类型部署M个虚拟机管理器。其中,同一种类的处理器核心之间的互联类型例如是核心高速缓存器(cache)一致性。在实际运用中,处理器核心之间的互联类型具体还可以是其他特征,本申请不作具体限定。
举例来说,请参考图2所示,假设一台众核服务器内的处理器核心区101的两个核心区,处理器核心区1011和处理器核心区1012没有cache一致性。处理器核心区1011包括核心0至核心11,共12个处理器核心。处理器核心区1012也包括12个处理器核心。首先根据种类为处理器核心区102和处理器核心区103分别部署一个虚拟机管理器。因为处理器核心区1011和处理器核心区1012属于同一种类,所以再看这24个处理器核心之间的cache一致性。在本实施例中,假设处理器核心区1011和处理器核心区1012没有cache一致性,所以处理器核心区1011的12个处理器核心具有cache一致性。处理器核心区1012的12个处理器核心具有cache一致性。而处理器核心区1011和处理器核心区1012的处理器核心之间不具有cache一致性。因此,分别为处理器核心区1011和处理器核心区1012各部署一个虚拟机管理器。如此一来,在本实施例中,控制器105为三种处理器核心共部署4个虚拟机管理器。
再例如:控制器105具体用于:根据N类物理处理器核心的种类、同一种类的处理器核心之间的互联类型以及同一互联类型的处理器核心的数量部署M个虚拟机管理器。
请继续参考图2所示,处理器核心区1011、处理器核心区1012和处理器核心区103内的处理器核心数量较多,所以可以再根据同一互联类型的处理器核心的数量进行部署。具体来说,可以设置一个阈值,当同一互联类型的处理器核心的数量大于阈值时,就可以根据数量再次划分核心区。举例来说,阈值为10,而处理器核心区1011的核心数量为12,所以超过阈值。因此,就再将处理器核心区1011划分为第一部分和第二部分。第一部分包含8个处理器核心。第二部分包含4个处理器核心。控制器105分别为第一部分和第二部分各部署一个虚拟机管理器。因此,在本实施例中,控制器105为三种处理器核心共部署5个虚拟机管理器。
由以上描述可以看出,本实施例中的每个虚拟机管理器管理的核心区有一定的范围,如此可以降低每个虚拟机管理器的内部实现复杂度和性能损耗。进一步,随着单台服务器的内部处理器核心的不断增多,可以简单的添加虚拟机管理器的数量来进行管理,实现良好的扩展性。
在进一步的实施例中,控制器105还用于在每个虚拟机管理器所管理的物理处理器核心区中确定部分核心区以运行对应的虚拟机管理器。
请参考图3所示,例如:确定处理器核心区1011的Core0和Core1运行对应的虚拟机管理器。
在实际运用中,上述过程可以在服务器上电初始化时或初始化之后、在加载操作系统之前执行。当虚拟机管理器运行之后,可以对其所管理的物理处理器核心区中的处理器核心进行管理。
在一实施例中,每个虚拟机管理器具体用于:根据应用的类型和/或需求分配所述管理的物理处理器核心区中的另一部分核心区以运行所述应用所寄宿的客户端操作系统;其中,另一部分核心区和部分核心区不相同。以下将详细说明虚拟机管理器进行管理的内容和实施方式。
请参考图4所示,为本申请实施例提供的一种资源管理方法的流程图。在该流程图中,以M个虚拟机管理器中的任意一个虚拟机管理器为例进行说明,其他虚拟机管理器的管理过程与该虚拟机管理器的管理过程相同。如图4所示,该方法包括:
步骤201:虚拟机管理器接收应用的部署请求;所述请求中包括所述应用的类型和/或需求;
步骤202:虚拟机管理器根据所述类型和/或需求为所述应用分配物理处理器核心区的另一部分核心区以运行所述应用的客户端操作系统。
请同时参考图3所示,虚拟机管理器接收到应用的部署请求之后,分析所述请求中的所述应用的类型和/或需求。其中,所述类型具体例如是轻量级的、重量级的或者是加速器型的。所述需求例如是保证服务质量或者是考虑经济性。举例来说,当所剩余的处理器核心资源不足时,如果需求是保证服务质量,那么就不分配,而是等到回收足够的资源再分配。如果需求是考虑经济性,那么就降低资源数进行分配,只要能够运行即可。当然,在实际运用中,所述需求还可以包括其他内容,本申请不作具体限定。
假设第一应用需要的处理器核心的类型为轻量型的且数量为4,那么虚拟机管理器就分配其处理器核心区1011的4个处理器核心(Core6、Core7、Core9和Core10)给所述应用的客户端操作系统1,使得所述应用的客户端操作系统1在这四个处理器核心上运行。
再假设第二应用需要的处理器核心的类型为轻量型的且数量为2,那么虚拟机管理器就分配其处理器核心区1011的2个处理器核心(Core8和Core11)给所述应用的客户端操作系统2,使得所述应用的客户端操作系统2在这两个处理器核心上运行。
鉴于每个处理器核心可能会运行虚拟机管理器,也可能运行客户端操作系统,所以每个处理器核心可以有两种操作模式。在本实施例中,可以称为虚拟机管理器(英文:VirtualMachineManager,简称:VMM)模式和客户端模式。在VMM模式下,处理器核心运行虚拟机管理器。在客户端模式下,处理器核心运行客户端操作系统。
因为虚拟机管理器和客户端操作系统之间的“空间划分”的性质,即占用不同的处理器核心的性质,所以如图3中运行客户端操作系统1的处理器核心(Core6、Core7、Core9和Core10)不会从客户端模式切换到VMM模式,避免导致运行在处理器核心(Core6、Core7、Core9和Core10)上的客户端操作系统1挂起而载入虚拟机管理器运行接管。
在本申请实施例中,当客户端操作系统发生需要与虚拟机管理器的交互事件时,客户端操作系统向运行虚拟机管理器的处理器核心产生处理器核间中断(英文:Inter-ProcessorInterrupt,简称:IPI),中断信息包含退出通知(Exitnotification)。然后等待虚拟机管理器的IPI,该IPI中的中断信息包含进入通知(Entrynotification)。当接收到虚拟机管理器发送的IPI之后,客户端操作系统挂起现有进程,恢复等待中断的进程。如果客户端操作系统未接收到虚拟机管理器发送的IPI,就进行进程调度,继续运行。
对应的,虚拟机管理器接收客户端操作系统发送的IPI事件;虚拟机管理器处理所述中断事件;虚拟机管理器在处理完所述中断事件之后,向客户端操作系统发送进入通知,以通知所述客户端操作系统继续运行。
请再参考图5a和图5b所示,服务器还包括与处理器核心数量一致的本地高级可编程中断控制器(LocalAPIC)。每个处理器核心配置一个Local_APIC。需要说明的是,对于加速器类型的处理器核心可以不配置Local_APIC。每个虚拟机管理器用于记录自身所管理的物理处理器核心区的每个Local_APIC的标识信息,并发送给运行在自身所管理的物理处理器核心区的客户端操作系统,以使所述客户端操作系统根据所述标识信息发送所述IPI事件。如此可以防止客户端操作系统将中断信息传递到其他虚拟机管理器所管理的物理处理器核心区内。
对于客户端操作系统来说,当一个处理器核心想对另一个处理器核心发送中断信息时,就在自己的Local_APIC里的中断命令寄存器(英文:InterruptCommandRegister,简称:ICR)中存放其中断向量和目标处理器核心对应的Local_APIC的标识信息,触发中断,通知目标处理器核心进行中断处理。
因此,虚拟机管理器可以通过与运行自身的处理器核心对应的Local_APIC来接收客户端操作系统发送的IPI事件。
进一步,服务器还包括P个I/O高级可编程中断控制器(I/OAPIC),如图5a和图5b所示。其中,P为小于等于M的正整数。当P等于M时,每个虚拟机管理器所管理的物理处理器核心区可以对应一个I/OAPIC,如图5a中,第一部分可以对应一个I/OAPIC,例如I/OAPIC_0。第二部分可以对应一个I/OAPIC,例如I/OAPIC_1。因此,每个虚拟机管理器还用于:为自身所管理的物理处理器核心区分配I/OAPIC,并配置I/OAPIC内的重定向表。通过所述重定向表,虚拟机管理器自身所管理的物理处理器核心能够通过I/OAPIC接收到外部的中断信息。其中,外部的中断信息例如是来自存储、网络等外部I/O硬件。
当P小于M时,表示可以多个物理处理器核心区可以被分配一个I/OAPIC。换言之,虚拟机管理器可以配置该一个I/OAPIC的重定向表,使得一个I/OAPIC服务于多个物理处理器核心区。
在配置完成后,在服务器的运行过程中,物理处理器核心区的内部中断和外部中断均不会出现跨越物理处理器核心区的情况,实现中断处理的硬划分。客户端操作系统在运行时可以在自己的另一部分核心区内实现自己的“中断亲和力”和“中断负载均衡”等功能。而且不需要虚拟机管理器的干预。因此,降低了虚拟机管理器的内部实现复杂度。其中,“中断亲和力”是指相关中断只会发送到相关的处理器核心中处理。“中断负载均衡”是指大量的中断会被划分到不同的处理器核心区域中处理,不会出现某块处理器核心区域处理中断忙不过来,另一部分较闲的情况。
可选的,在本实施例中,独立的物理处理器之间是通过片上网络进行连接虚拟机管理器之间的通信消息可以以广播的形式在片上网络传播,使得每个虚拟机管理器内保存的信息完整且全局统一。由于服务器内部署的虚拟机管理器的数量的级别不会过大,且物理处理器核心区的划分和撤销、客户端操作系统的创建和销毁通常不会过于频繁,所以总的消息广播量是可控的。当然,在实际运用中,虚拟机管理器之间的通信消息还可以以其他形式传播,本申请不作具体限定。
可选的,每个虚拟机管理器还用于:向其他虚拟机管理器发送自身所管理的物理处理器核心的信息;接收其他虚拟机管理器发送的其他虚拟机管理器所管理的物理处理器核心的信息并保存所有虚拟机管理器所管理的物理处理器核心的信息。
可选的,M个虚拟机管理器中的任意一个虚拟机管理器还用于:向上层管理平台发送保存的所有虚拟机管理器所管理的物理处理器核心的信息,以使得上层管理平台根据所述信息将应用的部署请求发送给匹配的虚拟机管理器。其中,上层管理平台例如为Openstack。
上述过程通常在服务器初始化流程中实施,例如在运行每个虚拟机管理器之后,虚拟机管理器就开始执行上述动作。该信息例如是处理器核心的种类和/或数量。
在运行过程中,该信息例如是每个虚拟机管理器所管理的物理处理器核心区的资源利用率。
上层管理平台可以根据虚拟机管理器上报的信息,按照应用与物理处理器核心区的匹配程度,调用相应的虚拟机管理器为应用分配上述另一部分处理器核心区。因此,每个虚拟机管理器才会执行步骤201和步骤202。
基于同一发明构思,请参考图6所示,为本申请实施例提供的一种虚拟机管理器的结构框图。所述虚拟机管理器用于实现上述图4所示的资源管理方法。如图6所示,虚拟机管理器包括:分区及管理模块301,用于接收应用的部署请求,请求中包括应用的类型和/或需求;并根据类型和/或需求分配物理处理器核心区的另一部分核心区以运行应用所寄宿的客户端操作系统;其中,另一部分核心区和部分核心区不相同。
可选的,分区及管理模块301还用于:接收客户端操作系统发送的处理器核间中断IPI事件;处理IPI事件;并在处理完IPI事件之后,向客户端操作系统发送进入通知,以通知客户端操作系统继续运行。
可选的,服务器还包括与每个处理器核心数量一致的本地高级可编程中断控制器,分别配置给每个处理器核心,虚拟机管理器还包括:
中断定向分发模块302,用于获取虚拟机管理器所管理的物理处理器核心对应的本地高级可编程中断控制器的标识信息;并将标识信息发送给客户端操作系统,以使客户端操作系统根据标识信息发送IPI事件。
进一步,中断定向分发模块302还用于:为虚拟机管理器所管理的物理处理器核心区分配I/O高级可编程中断控制器;并配置I/O高级可编程中断控制器的重定向表;在接收到外部中断信息时,通过重定向表将外部中断信息分发到对应的本地高级可编程中断控制器中。
结合以上各实施例,虚拟机管理器还包括:
交互模块303,用于向其他虚拟机管理器发送虚拟机管理器所管理的物理处理器核心的信息;接收其他虚拟机管理器发送的其他虚拟机管理器所管理的物理处理器核心的信息并将M个虚拟机管理器所管理的物理处理器核心的信息发送给上层管理平台,以使得上层管理平台根据信息将应用的部署请求发送给匹配的虚拟机管理器。
前述图1-图5b实施例中的服务器及资源管理方法中的各种变化方式和具体实例同样适用于本实施例的虚拟机管理器,通过前述对服务器及资源管理方法的详细描述,本领域技术人员可以清楚的知道本实施例中服务器的实施方法,所以为了说明书的简洁,在此不再详述。
申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
本申请实施例中,服务器包括N类物理处理器核心;控制器,用于根据所述N类物理处理器核心的种类部署M个虚拟机管理器,每个虚拟机管理器用于管理一个物理处理器核心区,每个所述物理处理器核心区属于所述N类物理处理器中核心的一类。因为每个虚拟机管理器只管理N类物理处理器核心的一类,所以管理的范围有限,如此可以降低每个虚拟机管理器的内部实现复杂度和性能损耗。而且本实施例中的方案,只需要简单的添加虚拟机管理器的数量来进行管理,就可以满足单台服务器的内部处理器核心的不断增多的情况,所以具有良好的扩展性。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。