CN105653347A - 一种服务器、资源管理方法及虚拟机管理器 - Google Patents

一种服务器、资源管理方法及虚拟机管理器 Download PDF

Info

Publication number
CN105653347A
CN105653347A CN201410711984.4A CN201410711984A CN105653347A CN 105653347 A CN105653347 A CN 105653347A CN 201410711984 A CN201410711984 A CN 201410711984A CN 105653347 A CN105653347 A CN 105653347A
Authority
CN
China
Prior art keywords
virtual machine
processor core
machine manager
physical processor
core
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
CN201410711984.4A
Other languages
English (en)
Other versions
CN105653347B (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.)
XFusion Digital Technologies Co Ltd
Original Assignee
Hangzhou Huawei Digital 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 Hangzhou Huawei Digital Technologies Co Ltd filed Critical Hangzhou Huawei Digital Technologies Co Ltd
Priority to CN201410711984.4A priority Critical patent/CN105653347B/zh
Publication of CN105653347A publication Critical patent/CN105653347A/zh
Application granted granted Critical
Publication of CN105653347B publication Critical patent/CN105653347B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Hardware Redundancy (AREA)
  • Computer And Data Communications (AREA)

Abstract

本申请提供一种服务器、资源管理方法及虚拟机管理器,该服务器包括:N类物理处理器核心;N为大于1的正整数;控制器,用于根据所述N类物理处理器核心的种类部署M个虚拟机管理器,每个所述虚拟机管理器用于管理一个物理处理器核心区,每个所述物理处理器核心区属于所述N类物理处理器中核心的一类;其中,M为大于等于N的正整数。

Description

一种服务器、资源管理方法及虚拟机管理器
技术领域
本申请涉及虚拟计算技术领域,尤其涉及一种服务器、资源管理方法及虚拟机管理器。
背景技术
虚拟化技术通过虚拟机管理器在物理硬件上生成多个可以运行独立操作系统的虚拟机实例,以提高每台服务器的平均资源利用率。因此,各种虚拟化技术应运而生。
然而,现有技术中的一个虚拟机管理器通常管理一台服务器上的所有处理处理器。因此导致虚拟机管理器内的实现复杂度大,而且性能损耗高。
发明内容
本申请实施例提供一种服务器、资源管理方法及虚拟机管理器,用以解决现有技术中的虚拟机管理器的实现复杂度和性能损耗较高的技术问题。
本申请第一方面提供了一种服务器,包括:
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类物理处理器核心的一类,所以管理的范围有限,如此可以降低每个虚拟机管理器的内部实现复杂度和性能损耗。而且本实施例中的方案,只需要简单的添加虚拟机管理器的数量来进行管理,就可以满足单台服务器的内部处理器核心的不断增多的情况,所以具有良好的扩展性。
附图说明
图1为本申请实施例提供的一种服务器的结构框图;
图2为本申请实施例中服务器的处理器核心的分区示意图;
图3为本申请实施例中物理处理器核心的空间划分示意图;
图4为本申请实施例提供的一种资源管理方法的流程图;
图5a-图5b为本申请实施例中高级可编程中断控制器的配置示意图;
图6为本申请实施例提供的一种虚拟机管理器的结构框图。
具体实施方式
本申请实施例提供一种服务器、资源管理方法及虚拟机管理器,用以解决现有技术中的虚拟机管理器的实现复杂度和性能损耗较高的技术问题。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,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类物理处理器核心的一类,所以管理的范围有限,如此可以降低每个虚拟机管理器的内部实现复杂度和性能损耗。而且本实施例中的方案,只需要简单的添加虚拟机管理器的数量来进行管理,就可以满足单台服务器的内部处理器核心的不断增多的情况,所以具有良好的扩展性。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (18)

1.一种服务器,其特征在于,包括:
N类物理处理器核心;N为大于1的正整数;
控制器,用于根据所述N类物理处理器核心的种类部署M个虚拟机管理器,每个所述虚拟机管理器用于管理一个物理处理器核心区,每个所述物理处理器核心区属于所述N类物理处理器中核心的一类;其中,M为大于等于N的正整数。
2.如权利要求1所述的服务器,其特征在于,所述控制器具体用于:根据所述N类物理处理器核心的种类部署N个虚拟机管理器,所述N个虚拟机管理器与所述N类物理处理器核心一一对应;或者
根据所述N类物理处理器核心的种类和同一种类的处理器核心之间的互联类型部署所述M个虚拟机管理器;或者
根据所述N类物理处理器核心的种类、同一种类的处理器核心之间的互联类型以及同一互联类型的处理器核心的数量部署所述M个虚拟机管理器。
3.如权利要求1或2所述的服务器,其特征在于,所述控制器还用于在每个所述虚拟机管理器管理的物理处理器核心区中确定部分核心区以运行对应的虚拟机管理器。
4.如权利要求3所述的服务器,其特征在于,每个所述虚拟机管理器具体用于:根据应用的类型和/或需求分配所述管理的物理处理器核心区中的另一部分核心区以运行所述应用所寄宿的客户端操作系统;其中,所述另一部分核心区和所述部分核心区不相同。
5.如权利要求4所述的服务器,其特征在于,每个所述虚拟机管理器还用于:接收所述客户端操作系统发送的处理器核间中断IPI事件,处理所述IPI事件,并在处理完所述IPI事件之后,向所述客户端操作系统发送进入通知,以通知所述客户端操作系统继续运行。
6.如权利要求5所述的服务器,其特征在于,所述服务器还包括与处理器核心数量一致的本地高级可编程中断控制器,分别配置给所述每个处理器核心,每个所述虚拟机管理器具体用于:在接收所述客户端操作系统发送的处理器核间中断IPI事件之前,获取每个所述虚拟机管理器自身所管理的物理处理器核心对应的本地高级可编程中断控制器的标识信息,并将所述标识信息发送给运行在自身所管理的物理处理器核心上的客户端操作系统,以使所述客户端操作系统根据所述标识信息发送所述IPI事件。
7.如权利要求6所述的服务器,其特征在于,每个所述虚拟机管理器还用于:为每个所述虚拟机管理器所管理的物理处理器核心区分配I/O高级可编程中断控制器;并配置所述I/O高级可编程中断控制器的重定向表;在接收到外部中断信息时,通过所述重定向表将所述外部中断信息分发到对应的本地高级可编程中断控制器中。
8.如权利要求1-7任一项所述的服务器,其特征在于,每个所述虚拟机管理器还用于:向其他虚拟机管理器发送自身所管理的物理处理器核心的信息;接收所述其他虚拟机管理器发送的所述其他虚拟机管理器所管理的物理处理器核心的信息并将所述M个虚拟机管理器所管理的物理处理器核心的信息发送给上层管理平台,以使得所述上层管理平台根据所述信息将应用的部署请求发送给匹配的虚拟机管理器。
9.一种资源管理方法,其特征在于,包括:
虚拟机管理器接收应用的部署请求,所述请求中包括所述应用的类型和/或需求;其中,虚拟机管理器管理一个物理处理器核心区,所述物理处理器核心区为服务器上的N类物理处理器核心中的一类;所述虚拟机管理器为根据所述N类物理处理器核心的种类部署的M个虚拟机管理器中的一个;所述虚拟机管理器运行在所述物理处理器核心区的部分核心区上;
所述虚拟机管理器根据所述类型和/或需求分配所述物理处理器核心区的另一部分核心区以运行所述应用所寄宿的客户端操作系统;其中,所述另一部分核心区和所述部分核心区不相同。
10.如权利要求9所述的方法,其特征在于,所述方法还包括:
所述虚拟机管理器接收所述客户端操作系统发送的处理器核间中断IPI事件;
所述虚拟机管理器处理所述IPI事件;
所述虚拟机管理器在处理完所述IPI事件之后,向所述客户端操作系统发送进入通知,以通知所述客户端操作系统继续运行。
11.如权利要求10所述的方法,其特征在于,所述服务器还包括与每个处理器核心数量一致的本地高级可编程中断控制器,分别配置给所述每个处理器核心,所述方法还包括:
所述虚拟机管理器获取所述虚拟机管理器所管理的物理处理器核心对应的本地高级可编程中断控制器的标识信息;
所述虚拟机管理器将所述标识信息发送给所述客户端操作系统,以使所述客户端操作系统根据所述标识信息发送所述IPI事件。
12.如权利要求11所述的方法,其特征在于,所述方法还包括:
所述虚拟机管理器为所述虚拟机管理器所管理的物理处理器核心区分配I/O高级可编程中断控制器;并配置所述I/O高级可编程中断控制器的重定向表;在接收到外部中断信息时,通过所述重定向表将所述外部中断信息分发到对应的本地高级可编程中断控制器中。
13.如权利要求9-12任一项所述的方法,其特征在于,所述方法还包括:
所述虚拟机管理器向其他虚拟机管理器发送自身所管理的物理处理器核心的信息;接收所述其他虚拟机管理器发送的所述其他虚拟机管理器所管理的物理处理器核心的信息并将所述M个虚拟机管理器所管理的物理处理器核心的信息发送给上层管理平台,以使得所述上层管理平台根据所述信息将应用的部署请求发送给匹配的虚拟机管理器。
14.一种虚拟机管理器,其特征在于,所述虚拟机管理器管理一个物理处理器核心区,所述物理处理器核心区为服务器上的N类物理处理器核心中的一类;所述虚拟机管理器为根据所述N类物理处理器核心的种类部署的M个虚拟机管理器中的一个;所述虚拟机管理器运行在所述物理处理器核心区的部分核心区上;所述虚拟机管理器包括:
分区及管理模块,用于接收应用的部署请求,所述请求中包括所述应用的类型和/或需求;并根据所述类型和/或需求分配所述物理处理器核心区的另一部分核心区以运行所述应用所寄宿的客户端操作系统;其中,所述另一部分核心区和所述部分核心区不相同。
15.如权利要求14所述的虚拟机管理器,其特征在于,所述分区及管理模块还用于:接收所述客户端操作系统发送的处理器核间中断IPI事件;处理所述IPI事件;并在处理完所述IPI事件之后,向所述客户端操作系统发送进入通知,以通知所述客户端操作系统继续运行。
16.如权利要求15所述的虚拟机管理器,其特征在于,所述服务器还包括与每个处理器核心数量一致的本地高级可编程中断控制器,分别配置给所述每个处理器核心,所述虚拟机管理器还包括:
中断定向分发模块,用于获取所述虚拟机管理器所管理的物理处理器核心对应的本地高级可编程中断控制器的标识信息;并将所述标识信息发送给所述客户端操作系统,以使所述客户端操作系统根据所述标识信息发送所述IPI事件。
17.如权利要求16所述的虚拟机管理器,其特征在于,所述中断定向分发模块还用于:为所述虚拟机管理器所管理的物理处理器核心区分配I/O高级可编程中断控制器;并配置所述I/O高级可编程中断控制器的重定向表;在接收到外部中断信息时,通过所述重定向表将所述外部中断信息分发到对应的本地高级可编程中断控制器中。
18.如权利要求14-17任一项所述的虚拟机管理器,其特征在于,所述虚拟机管理器还包括:
交互模块,用于向其他虚拟机管理器发送所述虚拟机管理器所管理的物理处理器核心的信息;接收所述其他虚拟机管理器发送的所述其他虚拟机管理器所管理的物理处理器核心的信息并将所述M个虚拟机管理器所管理的物理处理器核心的信息发送给上层管理平台,以使得所述上层管理平台根据所述信息将应用的部署请求发送给匹配的虚拟机管理器。
CN201410711984.4A 2014-11-28 2014-11-28 一种服务器、资源管理方法及虚拟机管理器 Active CN105653347B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410711984.4A CN105653347B (zh) 2014-11-28 2014-11-28 一种服务器、资源管理方法及虚拟机管理器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410711984.4A CN105653347B (zh) 2014-11-28 2014-11-28 一种服务器、资源管理方法及虚拟机管理器

Publications (2)

Publication Number Publication Date
CN105653347A true CN105653347A (zh) 2016-06-08
CN105653347B CN105653347B (zh) 2019-06-07

Family

ID=56480513

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410711984.4A Active CN105653347B (zh) 2014-11-28 2014-11-28 一种服务器、资源管理方法及虚拟机管理器

Country Status (1)

Country Link
CN (1) CN105653347B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021027069A1 (zh) * 2019-08-14 2021-02-18 上海交通大学 分布式虚拟机自适应内存一致性协议及其设计方法、终端
CN112416536A (zh) * 2020-12-10 2021-02-26 成都海光集成电路设计有限公司 提取处理器执行上下文的方法及处理器
US11829466B2 (en) * 2020-10-27 2023-11-28 Dell Products L.P. Device access control system
US11829493B2 (en) * 2020-10-27 2023-11-28 Dell Products L.P. Device access control system

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6058414A (en) * 1998-01-07 2000-05-02 International Business Machines Corporation System and method for dynamic resource access in an asymmetric resource multiple processor computer system
CN101488098A (zh) * 2009-02-13 2009-07-22 华中科技大学 基于虚拟计算技术的多核计算资源管理系统
CN101561769A (zh) * 2009-05-25 2009-10-21 北京航空航天大学 一种基于多核平台虚拟机的进程迁移跟踪方法
CN101788920A (zh) * 2010-02-05 2010-07-28 北京航空航天大学 一种基于处理器分区技术的cpu虚拟化方法
CN102929719A (zh) * 2012-09-18 2013-02-13 中标软件有限公司 一种多核计算机上多操作系统的控制方法及多核计算机
CN102955675A (zh) * 2011-08-19 2013-03-06 株式会社日立制作所 用于改进数据中心中的资源使用效率的方法及装置
CN103049333A (zh) * 2012-12-12 2013-04-17 华中科技大学 一种虚拟化下的中断动态分发方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6058414A (en) * 1998-01-07 2000-05-02 International Business Machines Corporation System and method for dynamic resource access in an asymmetric resource multiple processor computer system
CN101488098A (zh) * 2009-02-13 2009-07-22 华中科技大学 基于虚拟计算技术的多核计算资源管理系统
CN101561769A (zh) * 2009-05-25 2009-10-21 北京航空航天大学 一种基于多核平台虚拟机的进程迁移跟踪方法
CN101788920A (zh) * 2010-02-05 2010-07-28 北京航空航天大学 一种基于处理器分区技术的cpu虚拟化方法
CN102955675A (zh) * 2011-08-19 2013-03-06 株式会社日立制作所 用于改进数据中心中的资源使用效率的方法及装置
CN102929719A (zh) * 2012-09-18 2013-02-13 中标软件有限公司 一种多核计算机上多操作系统的控制方法及多核计算机
CN103049333A (zh) * 2012-12-12 2013-04-17 华中科技大学 一种虚拟化下的中断动态分发方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
李敏: "《轻量级虚拟机管理器及其安全应用研究》", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021027069A1 (zh) * 2019-08-14 2021-02-18 上海交通大学 分布式虚拟机自适应内存一致性协议及其设计方法、终端
US11829466B2 (en) * 2020-10-27 2023-11-28 Dell Products L.P. Device access control system
US11829493B2 (en) * 2020-10-27 2023-11-28 Dell Products L.P. Device access control system
CN112416536A (zh) * 2020-12-10 2021-02-26 成都海光集成电路设计有限公司 提取处理器执行上下文的方法及处理器
CN112416536B (zh) * 2020-12-10 2023-08-18 成都海光集成电路设计有限公司 提取处理器执行上下文的方法及处理器

Also Published As

Publication number Publication date
CN105653347B (zh) 2019-06-07

Similar Documents

Publication Publication Date Title
CN105052074B (zh) 用于提供虚拟化直径网络架构以及用于将业务量路由至动态实例化的直径资源实例的方法、系统和计算机可读介质
US10572290B2 (en) Method and apparatus for allocating a physical resource to a virtual machine
CN107025205B (zh) 一种分布式系统中的训练模型的方法及设备
Krishnamurthy et al. Pratyaastha: an efficient elastic distributed sdn control plane
Hermenier et al. Bin repacking scheduling in virtualized datacenters
CN105979007A (zh) 加速资源处理方法、装置及网络功能虚拟化系统
CN103797462A (zh) 一种创建虚拟机的方法和装置
WO2015158108A1 (zh) 虚拟机资源的变更方法、装置及虚拟网络功能设备
CN107864211B (zh) 集群资源调度方法及系统
CN105512083A (zh) 基于yarn的资源管理方法、装置及系统
CN103795804A (zh) 存储资源调度方法及存储计算系统
CN107491340B (zh) 跨物理机的巨型虚拟机实现方法
CN105843683A (zh) 用于动态优化平台资源分配的方法、系统和设备
US20230393879A1 (en) Coordinated Container Scheduling For Improved Resource Allocation In Virtual Computing Environment
CN108322325A (zh) 一种虚拟机管理方法及装置
CN111552550A (zh) 一种基于图形处理器gpu资源的任务调度方法、设备及介质
CN105653347A (zh) 一种服务器、资源管理方法及虚拟机管理器
CN112905297A (zh) 容器集群资源调度方法和装置
CN106897299A (zh) 一种数据库访问方法及装置
CN109960579B (zh) 一种调整业务容器的方法及装置
CN106020969A (zh) 一种高性能云计算混合计算系统及其方法
CN108696373B (zh) 虚拟资源分配方法、nfvo和系统
CN106250202A (zh) 一种云平台自动化开通虚拟机的装置及方法
CN105159784B (zh) 一种虚拟服务器的部署方法及系统
CN104461719B (zh) 一种面向分区操作系统的虚中断扩展方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20200417

Address after: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee after: HUAWEI TECHNOLOGIES Co.,Ltd.

Address before: 301, A building, room 3, building 301, foreshore Road, No. 310052, Binjiang District, Zhejiang, Hangzhou

Patentee before: Huawei Technologies Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20211224

Address after: 450046 Floor 9, building 1, Zhengshang Boya Plaza, Longzihu wisdom Island, Zhengdong New Area, Zhengzhou City, Henan Province

Patentee after: Super fusion Digital Technology Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.