CN113485789B - 资源配置方法、装置及计算机架构 - Google Patents

资源配置方法、装置及计算机架构 Download PDF

Info

Publication number
CN113485789B
CN113485789B CN202110741550.9A CN202110741550A CN113485789B CN 113485789 B CN113485789 B CN 113485789B CN 202110741550 A CN202110741550 A CN 202110741550A CN 113485789 B CN113485789 B CN 113485789B
Authority
CN
China
Prior art keywords
processor
group
peripheral
resource
resources
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
CN202110741550.9A
Other languages
English (en)
Other versions
CN113485789A (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.)
Haiguang Information Technology Co Ltd
Original Assignee
Haiguang Information Technology 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 Haiguang Information Technology Co Ltd filed Critical Haiguang Information Technology Co Ltd
Priority to CN202110741550.9A priority Critical patent/CN113485789B/zh
Publication of CN113485789A publication Critical patent/CN113485789A/zh
Application granted granted Critical
Publication of CN113485789B publication Critical patent/CN113485789B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30076Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
    • 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/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
    • 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/45583Memory management, e.g. access or allocation
    • 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/45595Network integration; Enabling network access in virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明实施例提供一种资源配置方法、装置及计算机架构,包括:获取配置请求;根据所述配置请求,将预设数量的处理器核配置为一处理器组,并为所述处理器组分配存储资源;其中,所述预设数量与所述配置请求相匹配;在所述处理器组和所分配的存储资源上部署客户机系统,以使处理器组中的处理器核发出的指令基于其所分配的存储资源进行处理,提高了系统的性能。

Description

资源配置方法、装置及计算机架构
技术领域
本发明实施例涉及计算机技术领域,具体涉及一种资源配置方法、装置及计算机架构。
背景技术
随着信息技术的发展,特别是云计算技术的发展与普及,使得越来越多的客户把业务系统部署在基于云计算的云端。云计算可以通过虚拟化技术实现硬件资源的逻辑抽象和统一管理,使用户简单、高效地管理和使用各种资源。
用于执行云计算的云端服务器,可以在裸机CPU(Central Processing Unit,中央处理器)核上部署虚拟机管理器(Virtual Machine Monitor,VMM),由VMM配置并运行作为虚拟机系统的客户机系统(guest OS)。其中,VMM可以为guest OS分配资源和CPU调度,并在必要时虚拟相关设备作为虚拟设备为guest OS提供服务。
然而,现有的云端服务器的系统性能有待提高。
发明内容
有鉴于此,本发明实施例提供一种资源配置方法、装置及计算机架构,能够提高系统性能。
为实现上述目的,本发明实施例提供如下技术方案:
在本发明的一个实施例中,提供了一种资源配置方法,应用于主机核,包括:
获取配置请求;
根据所述配置请求,将预设数量的处理器核配置为一处理器组;其中,所述预设数量与所述配置请求相匹配;
根据所述配置请求,为所述处理器组分配存储资源;
在所述处理器组和所分配的存储资源上部署客户机系统,所述客户机系统通过所述处理器组中的处理器核发出的指令基于其所分配的存储资源进行处理。
可选的,所述根据所述配置请求,将预设数量的处理器核配置为一处理器组,包括:
查询当前空闲的处理器核;
根据所述配置请求,从当前空闲的处理器核中选取预设数量的处理器核作为一处理器组;
为处理器组中的处理器核配置组标识。
可选的,所述为处理器组中的处理器核配置组标识,包括:
将所述组标识写入所述处理器核的标识寄存器中;其中,所述标识寄存器仅允许主机核写入。
可选的,所述存储资源包括内存资源;所述根据所述配置请求,为所述处理器组分配存储资源,包括:
查询当前空闲的内存资源;
根据所述配置请求,从当前空闲的内存资源中为所述处理器组分配内存资源;
将所述处理器组所分配的内存资源记录至内存分配表。
可选的,所述将所述处理器组所分配的内存资源记录至内存分配表,包括:
将所述处理器组的组标识及其所分配的内存资源的内存地址范围记录至内存分配表,且所述组标识与所述内存地址范围对应。
可选的,所述存储资源包括缓存资源;所述根据所述配置请求,为所述处理器组分配存储资源,包括:
查询当前空闲的缓存资源;
根据所述配置请求,从当前空闲的缓存资源中为所述处理器组分配缓存资源;
将所述处理器组分配的缓存资源记录至缓存分配表。
可选的,所述将所述处理器组分配的缓存资源记录至缓存分配表,包括:
将所述处理器组的组标识及其所分配的缓存资源的缓存地址范围记录至缓存分配表,且所述组标识与所述缓存地址范围对应。
可选的,所述根据所述配置请求,为所述处理器组分配存储资源的步骤中,还包括:
根据所述配置请求,为所述处理器组分配外设资源;其中,所述客户机系统通过所述处理器组中的处理器核发出的任务基于其所分配的外设资源进行处理。
可选的,所述根据所述配置请求,为所述处理器组分配外设资源,包括:
根据所述配置请求,确定为所述处理器组分配的外设资源的类型;其中,所述外设资源的类型为虚拟设备或硬件设备;
为所述处理器组分配与所述外设资源的类型相匹配的外设资源。
可选的,所述外设资源的类型为硬件设备,所述为所述处理器组分配与所述外设资源的类型相匹配的外设资源,包括:
查询当前空闲的外设设备;
根据所述配置请求,从当前空闲的外设设备中为所述处理器组分配外设设备;
将所述处理器组分配的外设设备记录至外设分配表。
可选的,所述将所述处理器组分配的外设设备记录至外设分配表,包括:
将所述处理器组的组标识及其所分配的外设设备的标识信息记录至外设分配表,且所述组标识与所述标识信息对应。
可选的,所述外设资源的类型为硬件设备,所述在所述处理器组和所分配的存储资源上部署客户机系统之后,还包括:
接收外设控制器发送的中断消息,所述中断消息为外设资源的反馈消息,所述中断消息携带外设设备的标识信息;
根据所述中断消息,查询产生所述中断消息的外设设备所属的处理器组;
将所述中断消息转发至查询到的处理器组。
可选的,所述外设资源的类型为虚拟设备,所述为所述处理器组分配与所述外设资源的类型相匹配的外设资源,包括:
为所述处理器组分配共享内存,所述共享内存允许所述处理器组的处理器核和主机核访问;
为所述处理器组提供虚拟设备,并基于所述共享内存为所述处理器组和所述虚拟设备转发外设交互数据。
可选的,所述外设交互数据为磁盘数据或网卡数据。
可选的,所述获取配置请求之前,还包括:
获取计算机架构的硬件资源,所述硬件资源包括处理器核的个数和可分配的存储资源。
可选的,所述在所述处理器组和所分配的存储资源上部署客户机系统,包括:
将客户机系统内核加载至所分配的存储资源上;
向所述处理器组发送中断消息,启动所述处理器组中的首个处理器核,以使所述处理器组中的首个处理器核执行所述客户机系统内核代码,并由所述首个处理器核唤醒所述处理器组中的其他处理器核。
可选的,所述在所述处理器组和所分配的存储资源上部署客户机系统之后,还包括:
获取客户机系统发送的资源回收消息;
根据所述资源回收消息,释放对应所述客户机系统所在的处理器组的存储资源;
根据所述资源回收消息,释放所述客户机系统所在的处理器组的处理器核。
在本发明的另一个实施例中,还提供了一种资源配置装置,包括:
配置请求获取模块,用于获取配置请求;
处理器组配置模块,用于根据所述配置请求,将预设数量的处理器核配置为一处理器组;其中,所述预设数量与所述配置请求相匹配;
存储资源配置模块,用于根据所述配置请求,为所述处理器组分配存储资源;
系统部署模块,用于在所述处理器组和所分配的存储资源上部署客户机系统,所述客户机系统通过所述处理器组中的处理器核发出的指令基于其所分配的存储资源进行处理。
在本发明的另一个实施例中,还提供了一种计算机架构,包括:
主机核、多个处理器核和与所述多个处理器核连接的存储控制器件;
其中,所述主机核用于根据配置请求,将预设数量的处理器核配置为一处理器组,并为所述处理器组分配存储资源,其中,所述预设数量的与所述配置请求相匹配,所述处理器组和所分配的存储资源用于部署客户机系统;
所述存储控制器件用于基于为所述处理器组分配的存储资源,处理所述处理器组中的处理器核发出的指令。
可选的,所述主机核还用于为处理器组中的处理器核配置组标识,以使所述处理器组中的处理器核发出的指令带有所述组标识;
所述存储控制器件还用于基于所述组标识,确定为所述处理器组分配的存储资源。
可选的,所述处理器核包括:
标识寄存器,所述标识寄存器用于记录所述处理器核所属的处理器组的组标识;其中,所述标识寄存器仅允许主机核写入;
所述处理器核包括组标识生成器,所述组标识生成器用于读取所述标识寄存器中的组标识,以在处理器核发出的指令中生成所述组标识。
可选的,还包括总线,所述总线用于连接所述多个处理器核和所述存储控制器件;所述总线包括标识信号线,所述标识信号线用于传输所述组标识;其中,所述标识信号线的位宽与所述处理器核的数量相匹配。
可选的,所述存储资源包括内存资源,所述存储控制器件包括内存控制器,所述内存控制器包括内存分配表和内存权限控制单元;
其中,所述内存分配表记录有分配给所述处理器组的内存资源,所述内存权限控制单元用于根据所述内存分配表,确定所述处理器组中的处理器核发出的指令对所要访问的内存的访问权限。
可选的,所述存储资源包括缓存资源,所述存储控制器件包括缓存控制器,所述缓存控制器包括缓存分配表和缓存使能控制单元;
其中,所述缓存分配表记录有分配给处理器组的缓存资源,所述缓存使能控制单元用于根据所述缓存分配表,控制分配给处理器组的缓存资源的使能状态。
可选的,所述主机核还用于根据配置请求,为所述处理器组分配外设资源;所述计算机架构还包括外设控制器,所述外设控制用于基于为处理器组分配的外设资源,对处理器组中的处理器核发出的任务进行处理。
可选的,所述外设控制器包括外设分配表和标识查询单元;
其中,所述外设分配表记录有分配给处理器组的外设资源,所述标识查询单元用于查询外设资源所分配的处理器组;
所述外设控制器用于向查询到的处理器组发送任务的反馈消息。
可选的,所述存储资源中还包括由所述处理器组和所述主机核共享的共享内存。
可选的,还包括:处理器核数量寄存器,所述处理器核数量寄存器用于记录当前计算机架构中的处理器核的数量;其中,所述处理器核数量寄存器仅对主机核可见。。
本发明实施例提供的资源配置方法,包括:获取配置请求;根据所述配置请求,将预设数量的处理器核配置为一处理器组,并为所述处理器组分配存储资源;其中,所述预设数量与所述配置请求相匹配;在所述处理器组和所分配的存储资源上部署客户机系统,所述客户机系统通过所述处理器组中的处理器核发出的指令基于其所分配的存储资源进行处理。可以看出,本发明实施例通过将预设数量的处理器核配置为一处理器组,可以将客户机系统直接部署在处理器组和所分配的存储资源上,使客户机系统直接在处理器组和所分配的存储资源上运行,从而不必由VMM分配相应的CPU调度和存储资源,进而避免了VMM对CPU资源的消耗,提高了系统的性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为基于虚拟化技术的云服务可选架构图;
图2为用作云端服务器的计算机架构示意图;
图3为本发明实施例提供的一种计算机架构的可选示意图;
图4为本发明实施例提供的一种资源配置方法的可选流程示意图;
图5为本发明实施例提供的步骤S2的可选流程示意图;
图6为本发明实施例提供的处理器核与总线的可选结构图;
图7为本发明实施例提供的一种计算机架构可选结构图;
图8为本发明实施例提供的步骤S3的可选流程示意图;
图9为本发明实施例提供的一种计算机架构可选结构图;
图10为本发明实施例提供的步骤S3的另一可选流程示意图;
图11为本发明实施例提供的步骤S3的又一可选流程示意图;
图12为本发明实施例提供的一种计算机架构可选结构图;
图13为本发明实施例提提供的一种计算机架构可选结构图;
图14为本发明实施例提供的步骤S3的又一可选流程示意图;
图15为本发明实施例提供的一种计算机架构的可选结构图;
图16为本发明实施例提供的资源回收的可选流程示意图;
图17为本发明实施例提供的另一资源配置方法的可选流程示意图;
图18为本发明实施例提供的资源配置装置的可选框图;
图19为本发明实施例提供的资源配置装置的另一可选框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
虚拟化技术可应用于多种场景,特别的,随着云服务的发展,虚拟化技术在云服务这一场景中得到了越来越广泛的应用;为便于理解虚拟化技术,下面以基于虚拟化技术的云服务为例,对虚拟化技术进行介绍。
参照图1所示基于虚拟化技术的云服务可选架构,该云服务架构可以包括:云主机101,网络201,用户31至3n;
其中,云主机101为云服务提供方(如云服务厂商)部署在网络侧的用于提供云服务的主机设备(主机设备的形式可以是服务器);基于不同用户的需求,云主机可通过虚拟化技术为不同用户创建一台或多台虚拟机,例如,用户可以根据业务需求,请求云主机为用户创建适应其业务需求的多台虚拟机,从而用户可以在属于其的多台虚拟机上分别运行应用,以通过多台虚拟机运行的应用来协作完成用户特定的业务;
网络201可以认为是互联网,或者其他形式的具有通信功能的网络,云主机与用户之间通过网络实现通信和数据传输,本发明实施例并不限制网络201的具体网络形式;
用户31至3n为使用云服务的注册用户,其数量可以为多个,本发明实施例并不限制n的具体数值;在云服务场景下,每一个用户可以在云主机中拥有属于其的一台或多台虚拟机,以利用属于用户的虚拟机来完成用户特定的业务。
为便于进一步清楚的了解云服务场景的虚拟化技术,参照图2所示的作为云端服务器的计算机架构示意图,如图2所示,所述计算机架构包括:多个处理器核(CPU core)1,虚拟机管理器(VMM,virtual machine monitor)2和客户机系统(guest OS)3。
其中,处理器核1是物理主机的运算和控制核心,用于解释计算机指令以及处理计算机软件中的数据。处理器核1上可以部署虚拟机管理器2,并由虚拟机管理器配置并运行作为虚拟机的客户机系统3,虚拟机管理器2可以为客户机系统3分配存储资源和CPU(Central Processing Unit,中央处理器)调度,并在必要时模拟相关设备作为虚拟设备为客户机系统3提供服务。
然而,在该计算机架构中,虚拟机管理器分配存储资源和CPU调度同样消耗CPU资源,而在运行多客户机系统时,虚拟机管理器频繁地分配存储资源和CPU调度会消耗大量的CPU资源,给系统性能造成负担。
基于此,本发明实施例提供了一种资源配置方法、装置及计算机架构,其中,所述资源配置方法,包括:获取配置请求;根据所述配置请求,将预设数量的处理器核配置为一处理器组,并为所述处理器组分配存储资源;其中,所述处理器核的数量与所述配置请求相匹配;在所述处理器组和所分配的存储资源上部署客户机系统,以使处理器组中的处理器核发出的指令基于其所分配的存储资源进行处理。可以看出,本发明实施例通过将预设数量的处理器核配置为一处理器组,可以将客户机系统直接部署在处理器组和所分配的存储资源上,使客户机系统直接在处理器组和所分配的存储资源上运行,从而不必由VMM分配相应的CPU调度和存储资源,进而避免了VMM对CPU资源的消耗,提高了系统的性能。
在一个可选的示例中,参照图3所示的计算机架构可选示意图,如图3所示,计算机架构包括:主机核10、多个处理器核11,和与所述多个处理器核11连接的存储控制器件12;
其中,所述主机核10为用于部署主机系统(master OS)的处理器核,所述主机核10可以为多个处理器核中的一个或多个,也可以为独立于所述处理器核之外的异构处理器核。在该主机核10上运行所述主机系统,用于实现对资源的管理和分配。其中,主机核10可以将预设数量的处理器核配置为一个处理器组,并为该处理器组分配存储资源。
参考图3所示的示意图,可以设置与其他处理器核同构的CPU core 0为主机核10,并在该CPU core 0上部署主机系统master OS,主机系统可以通过主机核10分配CPU资源,但不对客户机系统guest OS进行调度。
可以理解的是,针对一个用户,可以配置一个处理器组。通过分组隔离CPU资源技术,为用户分配CPU资源,从而实现硬件层面的隔离,为将用户的客户机系统直接部署在处理器组上提供数据安全保障。
而在处理器组上部署客户机系统guest OS,可以使得该处理器组直接运行所述客户机系统,并执行相应的运算和控制,而不必由VMM分配相应的CPU调度;而主机核为所述处理器组分配存储资源,并由存储控制器件基于为所述处理器组分配的存储资源,处理所述处理器组的指令,从而不必由VMM分配资源,进而避免了VMM对CPU资源的消耗,提高了系统的性能。
可以理解的是,用于部署客户机系统的处理器组中,处理器核11的数量可以为1个,也可以为多个,从而,所述处理器核11的数量的具体值可以基于用户的配置请求进行配置。以图3为例,CPU core 1和CPU core 2同时分配在一个处理器组,其上部署一个guestOS,表明处理器组中包括2个处理器核。
在本实施所述的计算机架构中,可以同时部署多个客户机系统,基于客户机系统部署在处理器组上,可以使得不同的客户机系统部署在不同的处理器组,从而为客户机系统实现在硬件层面的隔离,避免运行在同一处理器核的不同客户机系统之间产生不良影响。
基于上述计算机架构,本发明实施例提供了一种资源配置方法,参考图4示出的资源配置方法的可选流程示意图,所述资源配置方法包括:
步骤S1:主机核获取配置请求;
其中,配置请求可以基于用户的输入获取,也可以基于默认的配置信息获取,所述配置请求可以反映用户对于资源的需求,该资源的需要可以包括硬件资源的需求,也可以包括软件资源的需求。
步骤S2:主机核根据所述配置请求,将预设数量的处理器核配置为一处理器组;
基于所获取的配置请求,可以进行处理器组的配置,并应使得所述预设数量的与所述配置请求相匹配。
步骤S3:主机核根据所述配置请求,为所述处理器组分配存储资源;
基于所获取的配置请求,可以进一步进行存储资源的配置,并使得所配置的存储资源与所述配置请求相匹配。
步骤S4:主机核在所述处理器组和所分配的存储资源上部署客户机系统。
在分配了相应的资源后,即可部署客户机系统,从而使得所述客户机系统通过所述处理器组中的处理器核发出的指令基于其所分配的存储资源进行处理。
在一个可选的实现中,为便于区分不同的处理器组,可以为处理器组中的处理器核配置与之对应的组标识gid,并使处理器组中的处理器核发出的指令带有所述组标识,从而可以基于该组标识,确定发出指令的处理器组。同时,存储控制器件中还可以进一步基于该组标识,确定为所述处理器组分配的存储资源,从而在接收到处理器组的指令时,可以基于为处理器组分配的存储资源进行处理。
相应的,在本发明实施例提供的资源配置方法中,参考图5示出的步骤S2的可选流程示意图,步骤S2可以包括:
步骤S20:主机核查询当前空闲的处理器核;
其中,通过查询当前空闲的处理器核,以实现对处理器核的分配。
步骤S21:主机核根据所述配置请求,从当前空闲的处理器核中选取预设数量的处理器核作为一处理器组;
所述配置请求,可以包括对处理器核的数量需求,基于该数量需求,可以从当前空闲的处理器核中选取对应数量的处理器核作为一处理器组,从而使得所述处理器核的数量与所述配置请求相匹配。
步骤S22:主机核为处理器组中的处理器核配置组标识。
其中,主机核为处理器组中的处理器核配置组标识,以使所述处理器组中的处理器核发出的指令均带有所述组标识,以区分不同处理器组的指令,实现资源的隔离。
处理器组的gid值可以根据实际需求进行配置。需要说明的是,参考图3所示的例子,可以配置master core(图示为CPU core 0)的组标识gid为默认值,例如0,从而基于该组标识,可以确定master core的指令及相应的存储资源。除了master core之外,处理器核的初始值可以为FFFF_FFFFh,表示当前处理器核未被分组。
在一个可选的示例中,参考图6所示的处理器核与总线的可选结构图,可以在处理器核上设置标识寄存器111和组标识生成器112,所述标识寄存器111可以记录处理器核所属的处理器组的gid。其中,所述标识寄存器111中的组标识允许所有处理器核读取,但仅允许主机核写入。所述组标识生成器112可以读取所述标识寄存器111中的组标识,并在处理器核11发出的指令中生成所述组标识gid。
相应的,在本发明实施例提供的资源配置方法中,所述步骤S22包括:
步骤S211:主机核将所述组标识写入所述处理器核的标识寄存器。
对应的,处理器核在发出指令时,可以读取所述标识寄存器中的组标识,并进一步由组标识生成器,在处理器核的执行核心发出的指令中生成所述组标识。
表1.MSR结构示意表
MSR address MSR Name Description Reset value
A000_0000h GID_CPU_0 group id of vcpu 0 0000_0000h
A000_0001h GID_CPU_1 group id of vcpu 1 FFFF_FFFFh
A000_0002h GID_CPU_2 group id of vcpu 2 FFFF_FFFFh
A000_00xxh GID_CPU_n group id of vcpu n FFFF_FFFFh
具体的,所述标识寄存器可以为MSR(Model Specific Register,特殊模块寄存器)。在一个示例中,可以选择处理器核中未被使用的MSR(如A000000)作为所述标识寄存器,一种可行的MSR结构如表1所示,其中,MSR address项用于记录MSR的地址,MSR Name项用于记录该寄存器所对应的处理器核名称,Description项用于记录处理器核所属的处理器组的名称,Reset value项用于记录处理器组的组标识gid。其中,每个处理器核都用一个gid与之对应。除了主机核的组标识为0之外,其他处理器核的组标识均为初始值(FFFF_FFFFh),表示对应处理器核未被分组。
结合参考图3和图6,在本实施所述的计算机架构中,还进一步包括连接所述多个处理器核和所述存储控制器件12的总线13,所述总线用于实现处理器核与存储控制器件之间的信号传递。其中,参考图6所示,本实施例所述总线13中包括用于传输所述组标识的标识信号线131,通过该标识信号线131,可以将信号中的组标识gid单独传输,从而便于处理器核和存储控制器件及时准确的获取信号中的组标识gid,提高信号传递的效率。
具体的,在处理器核的运行过程中,组标识生成器112生成组标识后,可以将对应的组标识发送至总线13的标识信号线131,通过标识信号线131传输所述组标识。
同时,基于总线中单独传输的组标识,可以进一步使得计算机架构内各处理器组基于该组标识获取相应的信息并进行对应的处理,从而实现各处理器组间的资源隔离。
其中,所述标识信号线131的位宽可以与所述处理器核的数量相匹配,以使得标识信号线131能够传输的信号量支持处理器核的最大分组数量的前提下,降低信号传输消耗。例如,CPU core为128个时,则标识信号线的位宽可以为7bit。
在一个可选的实现中,参考图7所示的计算机架构可选结构图,所述存储资源包括内存资源,所述存储控制器件包括内存控制器14,所述内存控制器14中包括内存分配表141和内存权限控制单元142,从而使所述内存控制器,基于为处理器组分配的内存资源,处理所述处理器组的指令。
相应的,在本发明实施例提供的资源配置方法中,参考图8所示的步骤S3的可选流程示意图,步骤S3可以包括:
步骤S30:主机核查询当前空闲的内存资源;
其中,通过查询当前空闲的内存资源,以实现对内存资源的分配。
步骤S31:主机核根据所述配置请求,从当前空闲的内存资源中为所述处理器组分配内存资源;
所述配置请求,可以包括对内存资源的容量需求,基于该容量需求,可以为处理器组配置对应容量的内存资源,从而使得所分配的内存资源与所述配置请求相匹配。
步骤S32:主机核将所述处理器组所分配的内存资源记录至内存分配表;
其中,主机核可以将所述处理器组所分配的内存资源记录至内存分配表,以使得内存控制器中的内存权限控制单元根据所述内存分配表,确定所述处理器组中的处理器核发出的指令对所要访问的内存的访问权限。
在一个可选的示例中,所述内存分配表可以记录处理器组的组标识及其所分配的内存资源的内存地址范围,且所述组标识与所述内存地址范围对应。
一种示例的内存分配表(DRAM gid table)可以如表2所示,每个entry由gidvalue,dram base,dram limit等构成,其中,gid value项用于记录组标识,dram base项用于记录内存起始地址,dram limit项用于记录内存终止地址。
表2.内存分配表
gid value(8bit) dram base(16bit) dram limit(16bit)
0 xxxxh xxxxh
1 xxxxh xxxxh
1 xxxxh xxxxh
xxxxh xxxxh
n xxxxh xxxxh
可以理解的是,一个内存分配表中,条目(entry)的数目不小于处理器核的数目,以使得内存分配表能够支持处理器核的最大分组数量。可选的,一个条目(entry)对应的物理内存的大小可以为固定的,例如,一个条目(entry)可以对应64MB,128MB或256MB的物理内存。其中,为减少DRAM gid table的大小,可以设置entry对应的较大的物理内存,例如大于或等于64MB,或者,大于或等于128MB等。
可选的,同一个gid的值,可以对应多条entry,表示该gid对应的处理器组可以访问多段内存区间。同样的,同一内存地址范围也可以对应多个组标识,表示该区间的物理内存为多个处理器组共享。
在一个可选的示例中,在接收到处理器组发出的访问指令时,内存权限控制单元可以基于所述内存分配表确定处理器核发出的指令的访问权限,从而确定是否执行该访问指令。
相应的,在本发明实施例提供的资源配置方法中,所述步骤S32包括:
步骤S321:主机核将所述处理器组的组标识及其所分配的内存资源的内存地址范围记录至内存分配表,且所述组标识与所述内存地址范围对应;
其中,主机核可以将所述处理器组的组标识及其所分配的内存资源的内存地址范围记录至内存分配表。在处理器组上的客户机系统的运行过程中,若接收到处理器核的指令,内存控制器中的内存权限控制单元可以执行如下步骤:
步骤S323:内存权限控制单元根据所述内存分配表,确定所述处理器组中的处理器核发出的指令中的内存访问地址是否与所分配的内存地址范围相匹配;
具体的,若是,则所述指令具有对应的访问权限,若否,则所述指令不具有对应的访问权限;相应的,在指令具有对应的访问权限时,可以由内存控制单元执行该指令,进行内存的访问,在指令不具有对应的访问权限时,则禁止执行该指令,并执行异常处理。
其中,所述指令中的组标识和内存访问地址是否与所述内存分配表相匹配,可以理解为,所述内存访问地址是否在所述组标识对应的内存地址范围内,若是,则认为相匹配,若不是,则认为不匹配。
可以看出,内存权限控制单元基于权限的控制,可以实现内存资源的隔离,避免处理器组间对内存的相互访问,保证了各处理器组之间的资源的独立性,进而保障了处理器组的信息安全。
具体的,对指令权限的判断流程可以具体如下:
步骤SA1:接收总线中标识信号线传输的组标识和地址总线传输的内存访问地址,从内存分配表中查找所述组标识对应的内存地址范围;
其中,若没有找到entry,则异常处理,退出该流程;
若找到对应的entry,则执行步骤SA2;
步骤SA2:将对应的内存地址范围送入内存权限控制单元(例如可以为DRAM gid逻辑控制单元);
步骤SA3:判断所述内存访问地址是否在所述内存地址范围内;
若内存访问地址在entry的内存地址范围内,则允许访问,若内存访问地址不在entry的内存地址范围内,则异常处理。
在一个可选的实现中,所述计算机架构中包括可以同时为计算机架构中的多个处理器核提供缓存资源的共享缓存(例如,L3 cache),相应的,参考图9所示的计算机架构可选结构图,所述存储控制器件包括控制共享缓存访问的缓存控制器15,所述缓存控制器15中包括缓存分配表151和缓存使能控制单元152,从而使所述缓存控制器15,基于为处理器组分配的缓存资源,处理所述处理器组的指令。
相应的,在本发明实施例提供的资源配置方法中,参考图10所示的步骤S3的另一可选流程示意图,所述步骤S3可以包括:
步骤S33:主机核查询当前空闲的缓存资源;
其中,通过查询当前空闲的缓存资源,以实现对缓存资源的分配。
步骤S34:主机核根据所述配置请求,从当前空闲的缓存资源中为所述处理器组分配缓存资源;
所述配置请求,可以包括对缓存资源的容量需求,基于该容量需求,可以为处理器组配置对应容量的缓存资源,从而使得所分配的缓存资源与所述配置请求相匹配。
步骤S35:主机核将所述处理器组分配的缓存资源记录至缓存分配表;
主机核可以将所述处理器组所分配的缓存源记录至缓存分配表,以使缓存控制器中的缓存使能控制单元控制分配给处理器组的缓存资源的使能状态。
可以理解的是,缓存地址,可以为物理内存地址的有效地址段,而缓存地址范围,可以为物理内存地址的有效地址段范围。一种示例的缓存分配表(cache gid table)可以如表3所示,其中,每个entry由gid value,cache set index base,cache set indexlimit等构成,其中,gid value项用于记录组标识,一个set可以理解为缓存中的一个缓存组,cache set index base项用于记录起始缓存组地址,cache set index base项用于记录终止缓存组地址。
可以理解的是,一个条目(entry)对应的缓存的大小可以为固定的,例如,一个条目(entry)可以对应一个组(set),也可以对应一个行(line)。其中,下表中的,为减少cachegid table的大小,可以设置entry对应一个组(set)。可选的,同一个gid的值,可以对应多条entry,表示该gid对应的处理器组可以访问多个缓存组。
表3.缓存分配表
gid value(8bit) cache set index base(16bit) cache set index limit(16bit)
0 xxxxh xxxxh
1 xxxxh xxxxh
1 xxxxh xxxxh
xxxxh xxxxh
n xxxxh xxxxh
相应的,在本发明实施例提供的资源配置方法中,步骤S35可以具体为:
步骤S351:主机核将所述处理器组的组标识及其所分配的缓存资源的缓存地址范围记录至缓存分配表,且所述组标识与所述缓存地址范围对应。
相应的,在处理器组上的客户机的运行过程中,若接收到处理器核的指令,缓存控制器中的缓存使能控制单元可以执行如下步骤:
步骤S352:缓存使能控制单元根据所述缓存分配表,确定所述处理器组中的处理器核发出的指令中的组标识对应的缓存地址范围,并控制所查找到的缓存地址范围内的缓存为使能状态。
其中,控制所查找到的缓存地址范围内的缓存为使能状态,可以使缓存控制单元基于处理器组的指令执行对该缓存地址范围内的缓存的访问、刷新、清空(flush)或无效(invalidate)等操作。
可以理解的是,主机核为各处理器组分配指定大小的缓存,可以实现缓存的分组隔离,避免处理器组间对缓存的相互访问和操作,保证了各处理器组之间的资源的独立性,进而保障了处理器组的信息安全。
在一个可选的实现中,所述计算机架构中还可以为处理器组分配外设资源,以使客户机系统通过处理器组中的处理器核发出的任务基于其所分配的外设资源进行处理。主机核可以基于用户的配置请求分配外设资源,使得为所述处理器组分配的外设资源与所述配置请求相匹配。
所述外设资源可以为PCI(Peripheral Component Interconnect外设部件互连)设备,如网卡、磁盘等。通过为各处理器组分配外设资源,以实现外设资源的分组隔离,避免了对外设资源的相互访问和操作,保证了各处理器组之间的资源的独立性,进而保障了处理器组的信息安全。
其中,在本发明实施例提供的资源配置方法中,为所述处理器组分配外设资源的步骤可以在步骤S3中执行,从而在为所述处理器组分配存储资源的同时,为处理器组分配外设资源。
具体的,在为所述处理器组分配外设资源的步骤中,可以首先基于配置请求确定需要分配的外设资源的类型,进而进行相应类型的外设资源的分配。
相应的,在本发明实施例提供的资源配置方法中,参考图11所示的步骤S3的又一可选流程示意图,步骤S3为处理器组分配外设资源的过程可以具体为:
步骤S36:主机核根据所述配置请求,确定为所述处理器组分配的外设资源的类型;
其中,所述外设资源的类型可以为虚拟设备或硬件设备。所述配置请求,可以包括对外设资源的需求,也可以包括对外设资源的类型的需求。在所述配置请求包括对外设资源的类型的需求时,可以直接基于该配置请求,确定外设资源的类型;在所述配置请求不包括对外设资源的类型的需求时,则可以基于所述配置请求中,对外设资源的需求,确定外设资源的类型。
可以理解的是,在基于所述配置请求中,对外设资源的需求,确定外设资源的类型的过程中,配置请求对外设资源的性能要求不显著时,可以分配虚拟设备,由主机核上的主机系统在客户机系统的内存中进行虚拟设备的模拟,而不必为处理器组分配独立的外设资源(如网卡、磁盘等)。
步骤S37:主机核为所述处理器组分配与所述外设资源的类型相匹配的外设资源。
在确定为所述处理器组分配的外设资源的类型后,可以根据配置请求,为所述处理器组分配相应的外设资源。
在所述外设资源的类型为硬件设备时,参考图12所示的计算机架构可选结构图,所述计算机架构中还可以包括控制外设设备的外设控制器16,从而控制为处理器组分配的外设资源,执行所述处理器组的任务,并向所述处理器组发送所述任务的反馈消息。外设控制器16可以包括外设分配表161。通过外设分配表,可以记录处理器组的外设资源。
相应的,在本发明实施例提供的资源配置方法中,所述步骤S37包括:
步骤S371:主机核查询当前空闲的外设设备;
其中,通过查询当前空闲的外设设备,以实现对外设设备的分配。
步骤S372:主机核根据所述配置请求,从当前空闲的外设设备中为所述处理器组分配外设设备;
所述配置请求,可以包括对外设设备的需求,基于该需求,可以为处理器组配置对应的外设设备,从而使得所分配的外设设备与所述配置请求相匹配。
步骤S373:主机核将所述处理器组分配的外设设备记录至外设分配表,以使外设控制器根据所述外设分配表,查询外设设备所分配的处理器组,并向查询到的处理器组发送任务的反馈消息。
其中,主机核可以将所述处理器组所分配的外设设备记录至外设分配表,以使得处理器组中的处理器核向相应的外设资源发送任务,并由外设资源执行相应的任务,其中,在执行相应的任务过程中,外设设备会向处理器组发送任务的反馈消息,此时,外设控制器可以根据所述外设分配表,查询外设设备所属的处理器组,并向查询到的处理器组发送任务的反馈消息。
具体的,在所述外设分配表中,可以记录有处理器组的组标识及其所分配的外设设备的标识信息(例如外设设备地址),并使所述组标识与所述标识信息对应。
一种示例的外设分配表(device gid table)可以如表4所示,每个entry由gidvalue,domain,bus,device id和function构成,其中,gid value项用于记录组标识,domain项用于记录外设设备的域号,bus项用于记录外设设备的总线号,device id项用于记录外设设备的设备号,function项用于记录外设设备的功能号。在本示例中,每个entry可以占8字节。
表4.外设分配表
gid(8bit) domain(16bit) bus(8bit) device id(5bit) function(3bit)
0 xxxxh xxh xxh xh
1 xxxxh xxh xxh xh
1 xxxxh xxh xxh xh
n xxxxh xxh xxh xh
其中,在执行相应的任务过程中,在需要向处理器组反馈消息时,可以在外设控制器进一步设置标识查询单元162,通过标识查询单元162查询外设设备所分配的处理器组,进而向查询到的处理器组发送反馈消息。具体的,标识查询单元可以根据外设分配表,查询外设设备所分配的处理器组的组标识。
在一个可选的示例中,外设控制器可以通过中断机制,例如MSI(MessageSignaled Interrupt信息信号中断)或MSI-X(MSI加强版)向处理器核发送反馈消息,其中,向处理器核发送的中断消息可以理解为外设资源的反馈消息。在LAPIC(Local APIC,其中,APIC为Advanced Programmable Interrupt Controller,高级可编程中断控制器)中断机制下,在查询得到外设设备所分配的处理器组后,可以通过向处理器核的中断控制器LAPIC发送中断消息,即,以写入的方式直接向指定的处理器核的LAPIC对应的寄存器地址上写入特定值,以此来向处理器核注入中断。其中,在处理器组具有组标识时,可以查询外设设备所分配的处理器组的组标识,并向处理器核发送携带有所述处理器组的组标识的中断消息。相应的,所述处理器核仅接收组标识与所述处理器核所述的处理器组的组标识相同的中断消息,从而可以隔离不同处理器组之间的消息传递。
相应的,在本发明实施例提供的资源配置方法中,所述步骤S373包括:
步骤S3731:主机核将所述处理器组的组标识及其所分配的外设设备的标识信息记录至外设分配表,且所述组标识与所述标识信息对应;
其中,主机核可以将所述处理器组的组标识及其所分配的外设设备的标识信息记录至外设分配表。在外设设备执行相应的任务过程中,若接收到外设设备的反馈信息时,外设控制器中的标识查询单元可以执行如下步骤:
步骤S3732:标识查询单元根据所述外设分配表,查询外设设备所分配的处理器组的组标识;
进一步的,在查询到所述组标识后,外设控制器可以执行如下步骤:
步骤S3733:外设控制器向处理器核发送携带有所述组标识的中断消息;
其中,由于所述处理器核仅接收组标识与所述处理核所属的处理器组的组标识相同的中断消息,因此,外设控制器所发送的中断消息仅能由对应所述组标识的处理器组中的处理器核接收。
需要说明的是,处理器核仅可以向主机核发送有限的IPI(Inter processorInterrupt,CPU核间中断)中断,比如客户机系统关机中断、虚拟设备IPI中断等。
在一个示例中,外设设备(PCI设备)用于执行DMA(Direct Memory Access,直接存储器访问),在完成DMA后,可以通过标识查询单元(device gid逻辑控制单元),向外设分配表(device gid table)反向查询当前PCI设备对应的gid,并向系统总线的gid信号线发送gid。
需要说明的是,在标识查询单元查询外设设备所分配的处理器组的组标识时,若没有查询到相应的组标识,可以将中断消息发送至主机核,由主机核进行进一步的处理。
在另一个可选的实现中,外设控制器还直接发送中断消息至主机核,并由主机核查询发生中断的外设设备,并根据所述外设设备地址查询其所属的组标识,并将所述中断消息转发至对应的处理器组。可以理解的是,在上一实现中,若没有查询到相应的组标识,即可以执行本实现中的流程。
具体的,在所述步骤S4部署客户机系统之后,在客户机的运行过程中,还包括:
步骤S50:外设控制器发送中断消息至主机核;
参考图13所示的计算机架构的可选结构图,外设控制器中的外设控制单元163接收到外设设备的反馈信息后,可以向主机核发送相应的中断消息至主机核,以使主机核根据该中断消息执行相应的处理。其中,所述中断消息作为外设资源的反馈消息,携带有外设设备的标识信息,例如外设设备地址等,从而可以基于该中断消息中的标识信息确定发送中断消息的外设设备。
步骤S51:主机核根据所述中断消息,查询产生所述中断消息的外设设备所属的处理器组;
具体的,主机核可以基于中断消息中的标识信息,确定产生中断的外设设备,并进一步查询确定产生所述中断消息的外设设备所属的处理器组。
可以理解的是,主机核在为处理器组分配外设设备的同时,存储有对应的分配信息,从而可以进行相应的查询。
步骤S52:主机核将所述中断消息转发至查询到的处理器组;
在查询到相应的处理器组后,主机核可以将所述中断消息转发至所述处理器组,从而将实现外设设备反馈消息的转达。
需要说明的是,步骤S50~步骤S52所述的中断消息的转发流程,适用于IOAPIC(I/O APIC)中断机制。这是由于,IOAPIC中断时,是仅通过IOAPIC的中断引脚来通知处理器核处理中断事务的,而仅通过中断引脚无法判断是哪个处理器组的外设设备发生中断,因此,可以基于上述中断消息的转发流程执行处理器组的中断处理,从而将IOAPIC产生的中断都路由到主机核上,由主机系统根据规则再向各处理器组转发(例如,关机按钮产生的关机中断,可以由主机核广播给各处理器核)。
在所述外设资源的类型为硬件设备时,可以由主机系统在分配给处理器组的内存中进行外设设备的虚拟,为运行在处理器组上的客户机系统提供服务。虚拟设备的业务数据由主机核转发至外设设备,而相应的外设设备反馈的业务数据同样由主机核转发至处理器组;可以理解的是,所述外设设备包括为所述处理器组分配的外设资源。
在一个可选的实现中,相应的业务主机可以基于共享内存进行转发。
具体的,在本发明实施例提供的资源配置方法中,所述外设资源的类型虚拟设备时,参考图14所示的又一可选流程示意图以及图15所示的计算机架构的可选结构图,步骤S3为处理器组分配外设资源的过程可以包括:
步骤S38:主机核为所述处理器组分配共享内存,所述共享内存允许所述处理器组的处理器核和主机核访问;
具体的,在内存分配表中,可以配置由一处理器组和主机核共享的共享内存,该共享内存可以允许配置在主机核的主机系统和配置在该处理器组的客户机系统访问,相应的,在内存分配表中,所述共享内存可以对应两条entry,一条entry对应主机核的组标识,一条entry对应处理器组的组标识。
步骤S39:主机核为所述处理器组提供虚拟设备,并基于所述共享内存为所述处理器组和所述虚拟设备转发外设交互数据。
具体的,在所述资源配置方法中,所述步骤S39可以包括主机核向外设设备转发外设交互数据的过程,具体包括:
步骤S391:处理器组将外设交互数据写入共享内存;
其中,处理器组中的处理器核可以将任务信息等用于与外设交互的外设交互数据写入共享内存,并通知主机核读取所述外设交互数据。可选的,处理器核可以发送中断消息至主机核,以通知主机核进行数据的读取。
步骤S392:主机核从共享内存中读取所述处理器组写入的外设交互数据,并转发至所述虚拟设备对应的外设设备;
可以理解的是,在主机核接收到相应的中断消息后,可以进行外设交互数据的读取和转发。
具体的,在所述资源配置方法中,所述步骤S39还可以包括主机核向处理器核转发外设交互数据的过程,具体包括:
步骤S393:主机核从所述外设设备中读取外设交互数据;
其中,所述外设交互数据可以为外设设备执行相应任务后的反馈数据。
步骤S394:主机核在所述共享内存中写入从所述外设设备中读取的外设交互数据;
其中,主机核可以将反馈数据等用于与外设交互的外设交互数据写入共享内存,并通知处理器组中的处理器核读取所述外设交互数据。可选的,主机核可以发送中断消息至处理器组中的处理器核,以通知处理器组中的处理器核进行数据的读取。
步骤S395:处理器组从所述共享内存中读取所述外设交互数据;
可以理解的是,在处理器组的处理器核在接收到相应的中断消息后,可以进行外设交互数据的读取,并转发至客户机系统上相应的业务系统,以向客户提供服务。
其中,所述虚拟设备可以为虚拟磁盘或虚拟网卡,相应的,所述外设交互数据可以为磁盘数据或网卡数据。
在一个可选的实现中,在所述主机核启动时,可以进行设备枚举,从而确定所述计算机架构中的硬件配置信息。相应的,在本发明实施例提供的资源配置方法中,在步骤S1之前,还可以进一步包括:
步骤S0:主机核获取计算机架构的处理器核的个数。
在一种可选的示例中,所述计算机架构中可以包括处理器核数量寄存器,该处理器核数量寄存器可以为MSR寄存器,用于记录当前计算机架构中的处理器核的数量。所述处理器核数量寄存器可以仅对主机核可见,主机核可以通过读取该处理器核数量寄存器,获取处理器核的个数。
在另一种可选的示例中,主机核可以通过发送中断消息获取处理器核的数量。具体的,主机核发送中断消息至各处理器核,各处理器核则基于该中断消息发送相应的反馈中断消息,从而根据该反馈中断消息的数目确定处理器核的数量。
在一个可选的实现中,在为处理器组配置相应的资源后,步骤S4可以包括:
步骤S40:主机核将客户机系统内核加载至所分配的存储资源上;
具体的,主机核可以将客户机系统内核加载到所分配的内存上,以基于该客户机系统内核执行相应的代码。
步骤S41:主机核向所述处理器组发送中断消息,启动所述处理器组中的首个处理器核,以使所述处理器组中的首个处理器核执行所述客户机系统内核代码,并由所述首个处理器核唤醒所述处理器组中的其他处理器核。
在将客户机系统内核加载完毕后,主机核可以向处理器组发送中断消息,以启动所述处理器组中的首个处理器核,以使所述处理器组中的首个处理器核执行所述客户机系统内核代码。在执行所述客户机系统内核代码后,所述首个处理器核可以唤醒所述处理器组中的其他处理器核,完成客户机系统的部署和启动。
在一个可选的实现中,在所部署的客户机系统关机之后,还可以进一步将所分配的资源进行回收,具体的,在所述资源配置方法中,参考图16所示的资源回收的可选流程示意图,步骤S4之后,还可以进一步包括资源的回收流程,具体如下:
步骤S60:主机核获取客户机系统发送的资源回收消息;
其中,所述资源回收消息可以为客户机系统发送的中断消息,以通知主机核回收相应的资源。
步骤S61:主机核根据所述资源回收消息,释放对应所述客户机系统所在的处理器组的存储资源;
具体的,主机核可以通过清空各记录表中对应组标识的条目,释放客户机系统所分配的存储资源。例如,清空内存记录表和缓存记录表中对应组标识的条目。在所述处理器组还分配有外设资源时,还可以进一步清空外设记录表中对应组标识的条目。
步骤S62:主机核根据所述资源回收消息,释放所述客户机系统所在的处理器组的处理器核;
具体的,主机核可以通过复位处理器核的标识寄存器,释放所述处理器核。例如,将处理器核的标识寄存器复位为初始值,以使该处理器核可分配状态。
并且,主机核还可以进一步向处理器组中的处理器核发送中断消息,复位处理器核的LAPIC,解除LAPIC与组标识的对应关系。
在一个可选的实现中,在主机核关机时,需要通过发送中断消息,通知各客户机系统结束当前任务并关机。为保证用户数据的完整性,主机核可以在收到各客户机系统的关机中断响应后,再执行关机操作。
参考图17示出的另一个资源配置方法的可选流程示意图,所述资源配置方法包括:
步骤S70:在主机核上启动主机系统。
其中,在主机系统启动过程中,会获取计算机架构的处理器核的个数。
具体的,主机核上电启动,此时,主机核作为初级引导核(bootstrap CPU core)。并在主机核启动后,加载BIOS(系统基本输入输出系统),启动主机系统。
其中,需要说明的是,在主机核设置有处理器核数量寄存器时,此时的主机系统不必向其他处理器核发送启动中断(startup IPI,SIPI)消息,以获取处理器核数量,而是可以通过主机核读取处理器核数量寄存器确定处理器核的数量。
在本示例中,在系统启动时,还进一步枚举外设,确定计算机架构中的外设资源。例如,获取外设外部的基本信息(例如外设设备的标识信息),以方便后续为客户机系统分配资源。
步骤S71:主机核获取配置请求。
其中,该配置请求可以包括所需处理器核数量,以及存储资源中,所述内存资源的容量大小、缓存资源的容量大小,外设资源中,所需的外设类型,例如磁盘类型是虚拟磁盘还是硬件磁盘,网卡类型是虚拟网卡还是硬件网卡,以及所需的外设资源的大小,例如硬盘的容量大小等。
步骤S72:主机核进行资源的分配。
其中,可以根据配置请求,为客户分配相应的资源。其中,可以包括:
1.查询当前空闲的处理器核并执行处理器核的分配步骤,向分配的处理器核对应的标识寄存器写入指定的gid值。
2.查询当前空闲的L3 cache(本示例中的缓存资源),并执行缓存资源的分配步骤,向缓存分配表中设置指定gid的cache set范围。
3.查询当前空闲的DRAM(本示例中的内存资源),并执行内存资源的分配步骤,向内存分配表中设置指定gid的cache set范围。
4.根据磁盘类型和容限需求,分配相应类型和大小的磁盘。
若磁盘为虚拟磁盘,则向内存分配表设置gid=0和gid=guest gid的两条entry,并指向同一块内存区域,作为共享内存,以通过共享内存交互数据;
若磁盘为硬件磁盘,则查询当前空闲的磁盘,向外设控制器的外设分配表中写入指定gid的entry,并映射分配的磁盘设备地址。
5.根据网卡类型需求,分配相应类型的网卡。
若网卡为虚拟网卡,则向内存设置gid=0和gid=guest gid的两条entry,并指向同一块内存区域,作为共享内存,以通过共享内存交互数据;
若网卡为硬件网卡,则查询当前空闲的网卡,向外设控制器的外设分配表中写入指定gid的entry,并映射分配的网卡设备地址。
步骤S73:客户机系统启动。
主机系统把客户机内核加载到客户机系统所分配的内存后,向对应gid的处理器核发送SIPI中断消息,启动处理器核并执行客户机系统内核代码;指定gid的处理器核再通过SIPI消息唤醒其他的同gid的处理器核;客户机系统内核初始化外设资源后,启动客户机系统。
步骤S74:客户机系统关机时,发送资源回收消息至主机核。
客户机系统关机需要通过发送IPI中断消息作为资源回收消息,通知主机核回收相应的资源。
步骤S75:主机核执行资源回收流程。
具体的,主机核清空内存记录表、缓存记录表和外设记录表中指定的gid entry;同时,主机核释放客户机系统占用的处理器核,复位对应的标识寄存器;
主机核向处理器组中的处理器核发送INIT(初始化中断,终端类型的一种)IPI中断消息,复位处理器核内的LAPIC。
步骤S76:主机核关机。
其中,主机核关机需要向正在工作的处理器核发送IPI中断消息,通知客户机系统结束当前任务并关机,保证用户数据完整性。主机核收到各客户机系统的关机中断响应后,才能开始执行关机操作。
本发明实施例提供的资源配置方法,包括:获取配置请求;根据所述配置请求,将预设数量的处理器核配置为一处理器组,并为所述处理器组分配存储资源;其中,所述预设数量的与所述配置请求相匹配;在所述处理器组和所分配的存储资源上部署客户机系统,以使处理器组中的处理器核发出的指令基于其所分配的存储资源进行处理。可以看出,本发明实施例通过将预设数量的处理器核配置为一处理器组,可以将客户机系统直接部署在处理器组和所分配的存储资源上,使客户机系统直接在处理器组和所分配的存储资源上运行,从而不必由VMM分配相应的CPU调度和存储资源,进而避免了VMM对CPU资源的消耗,提高了系统的性能。
下面从主机核的角度,对本申请实施例提供的资源配置装置进行介绍,下文描述的资源配置装置可以认为是,主机核为实现本申请实施例提供的资源配置方法,所需设置的功能模块;下文描述的资源配置装置的内容,可与上文描述的方法内容相互对应参照。
在可选实现中,图18示出了本申请实施例提供的资源配置装置的可选框图,该资源配置装置可应用于主机核,如图18所示,该资源配置装置可以包括:
配置请求获取模块100,用于获取配置请求;
处理器组配置模块110,用于根据所述配置请求,将预设数量的处理器核配置为一处理器组;其中,所述预设数量与所述配置请求相匹配;
存储资源配置模块120,用于根据所述配置请求,为所述处理器组分配存储资源;
系统部署模块130,用于在所述处理器组和所分配的存储资源上部署客户机系统,所述客户机系统通过所述处理器组中的处理器核发出的指令基于其所分配的存储资源进行处理。
可选的,所述处理器组配置模块110,用于根据所述配置请求,将预设数量的处理器核配置为一处理器组,包括:
查询当前空闲的处理器核;
根据所述配置请求,从当前空闲的处理器核中选取预设数量的处理器核作为一处理器组;
为处理器组中的处理器核配置组标识。
可选的,所述处理器组配置模块110,用于为处理器组中的处理器核配置组标识,包括:
将所述组标识写入所述处理器核的标识寄存器中;其中,所述标识寄存器仅允许主机核写入。
可选的,所述存储资源包括内存资源;所述存储资源配置模块120,用于根据所述配置请求,为所述处理器组分配存储资源,包括:
查询当前空闲的内存资源;
根据所述配置请求,从当前空闲的内存资源中为所述处理器组分配内存资源;
将所述处理器组所分配的内存资源记录至内存分配表。
可选的,所述存储资源配置模块120,用于将所述处理器组所分配的内存资源记录至内存分配表,包括:
将所述处理器组的组标识及其所分配的内存资源的内存地址范围记录至内存分配表,且所述组标识与所述内存地址范围对应。
可选的,所述存储资源包括缓存资源;所述存储资源配置模块120,用于根据所述配置请求,为所述处理器组分配存储资源,包括:
查询当前空闲的缓存资源;
根据所述配置请求,从当前空闲的缓存资源中为所述处理器组分配缓存资源;
将所述处理器组分配的缓存资源记录至缓存分配表。
可选的,所述存储资源配置模块120,用于将所述处理器组分配的缓存资源记录至缓存分配表,包括:
将所述处理器组的组标识及其所分配的缓存资源的缓存地址范围记录至缓存分配表,且所述组标识与所述缓存地址范围对应。
在可选实现中,图19还示出了本申请实施例提供的资源配置装置的另一可选框图,如图19所示,该资源配置装置进一步包括:
外设资源配置模块140,用于根据所述配置请求,为所述处理器组分配外设资源;其中,所述客户机系统通过所述处理器组中的处理器核发出的任务基于其所分配的外设资源进行处理。
可选的,所述外设资源配置模块140,用于根据所述配置请求,为所述处理器组分配外设资源,包括:
根据所述配置请求,确定为所述处理器组分配的外设资源的类型;其中,所述外设资源的类型为虚拟设备或硬件设备;
为所述处理器组分配与所述外设资源的类型相匹配的外设资源。
可选的,所述外设资源的类型为硬件设备,所述外设资源配置模块140,用于为所述处理器组分配与所述外设资源的类型相匹配的外设资源,包括:
查询当前空闲的外设设备;
根据所述配置请求,从当前空闲的外设设备中为所述处理器组分配外设设备;
将所述处理器组分配的外设设备记录至外设分配表。
可选的,所述反馈消息为中断消息,所述外设资源配置模块140,用于将所述处理器组分配的外设设备记录至外设分配表,包括:
将所述处理器组的组标识及其所分配的外设设备的标识信息记录至外设分配表,且所述组标识与所述标识信息对应。
可选的,所述外设资源的类型为硬件设备,资源配置装置进一步包括中断消息转发模块150,所述中断消息转发模块150,用于:
接收外设控制器发送的中断消息,所述中断消息携带外设设备的标识信息;
根据所述中断消息,查询产生所述中断消息的外设设备所属的处理器组;
将所述中断消息转发至查询到的处理器组。
可选的,所述外设资源的类型为虚拟设备,所述外设资源配置模块140,用于为所述处理器组分配与所述外设资源的类型相匹配的外设资源,包括:
为所述处理器组分配共享内存,所述共享内存允许所述处理器组的处理器核和主机核访问;
为所述处理器组提供虚拟设备,并基于所述共享内存为所述处理器组和所述虚拟设备转发外设交互数据。
可选的,所述外设交互数据为磁盘数据或网卡数据。
可选的,资源配置装置进一步包括资源信息获取模块160,用于获取计算机架构的硬件资源,所述硬件资源包括处理器核的个数和可分配的存储资源。
可选的,所述系统部署模块130,用于在所述处理器组和所分配的存储资源上部署客户机系统,包括:
将客户机系统内核加载至所分配的存储资源上;
向所述处理器组发送中断消息,启动所述处理器组中的首个处理器核,以使所述处理器组中的首个处理器核执行所述客户机系统内核代码,并由所述首个处理器核唤醒所述处理器组中的其他处理器核。
可选的,资源配置装置进一步包括资源回收模块170,用于:
获取客户机系统发送的资源回收消息;
根据所述资源回收消息,释放对应所述客户机系统所在的处理器组的存储资源;
根据所述资源回收消息,释放所述客户机系统所在的处理器组的处理器核。
可以看出,本发明实施例通过将预设数量的处理器核配置为一处理器组,可以将客户机系统直接部署在处理器组和所分配的存储资源上,使客户机系统直接在处理器组和所分配的存储资源上运行,从而不必由VMM分配相应的CPU调度和存储资源,进而避免了VMM对CPU资源的消耗,提高了系统的性能。
虽然本发明实施例披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。

Claims (25)

1.一种资源配置方法,其特征在于,应用于主机核,包括:
获取配置请求;
根据所述配置请求,将预设数量的处理器核配置为一处理器组;其中,所述预设数量与所述配置请求相匹配;
根据所述配置请求,为所述处理器组分配存储资源;
在所述处理器组和所分配的存储资源上部署客户机系统,所述客户机系统通过所述处理器组中的处理器核发出的指令基于其所分配的存储资源进行处理,其中,所述处理器组中的首个处理器核唤醒所述处理器组中的其他处理器核,完成客户机系统的部署和启动。
2.根据权利要求1所述的资源配置方法,其特征在于,所述根据所述配置请求,将预设数量的处理器核配置为一处理器组,包括:
查询当前空闲的处理器核;
根据所述配置请求,从当前空闲的处理器核中选取预设数量的处理器核作为一处理器组;
为处理器组中的处理器核配置组标识。
3.根据权利要求2所述的资源配置方法,其特征在于,所述为处理器组中的处理器核配置组标识,包括:
将所述组标识写入所述处理器核的标识寄存器中;其中,所述标识寄存器仅允许主机核写入。
4.根据权利要求2所述的资源配置方法,其特征在于,所述存储资源包括内存资源;所述根据所述配置请求,为所述处理器组分配存储资源,包括:
查询当前空闲的内存资源;
根据所述配置请求,从当前空闲的内存资源中为所述处理器组分配内存资源;
将所述处理器组所分配的内存资源记录至内存分配表。
5.根据权利要求4所述的资源配置方法,其特征在于,所述将所述处理器组所分配的内存资源记录至内存分配表,包括:
将所述处理器组的组标识及其所分配的内存资源的内存地址范围记录至内存分配表,且所述组标识与所述内存地址范围对应。
6.根据权利要求2所述的资源配置方法,其特征在于,所述存储资源包括缓存资源;所述根据所述配置请求,为所述处理器组分配存储资源,包括:
查询当前空闲的缓存资源;
根据所述配置请求,从当前空闲的缓存资源中为所述处理器组分配缓存资源;
将所述处理器组分配的缓存资源记录至缓存分配表。
7.根据权利要求6所述的资源配置方法,其特征在于,所述将所述处理器组分配的缓存资源记录至缓存分配表,包括:
将所述处理器组的组标识及其所分配的缓存资源的缓存地址范围记录至缓存分配表,且所述组标识与所述缓存地址范围对应。
8.根据权利要求2所述的资源配置方法,其特征在于,所述根据所述配置请求,为所述处理器组分配存储资源的步骤中,还包括:
根据所述配置请求,为所述处理器组分配外设资源;其中,所述客户机系统通过所述处理器组中的处理器核发出的任务基于其所分配的外设资源进行处理。
9.根据权利要求8所述的资源配置方法,其特征在于,所述根据所述配置请求,为所述处理器组分配外设资源,包括:
根据所述配置请求,确定为所述处理器组分配的外设资源的类型;其中,所述外设资源的类型为虚拟设备或硬件设备;
为所述处理器组分配与所述外设资源的类型相匹配的外设资源。
10.根据权利要求9所述的资源配置方法,其特征在于,所述外设资源的类型为硬件设备,所述为所述处理器组分配与所述外设资源的类型相匹配的外设资源,包括:
查询当前空闲的外设设备;
根据所述配置请求,从当前空闲的外设设备中为所述处理器组分配外设设备;
将所述处理器组分配的外设设备记录至外设分配表。
11.根据权利要求10所述的资源配置方法,其特征在于,所述将所述处理器组分配的外设设备记录至外设分配表,包括:
将所述处理器组的组标识及其所分配的外设设备的标识信息记录至外设分配表,且所述组标识与所述标识信息对应。
12.根据权利要求9所述的资源配置方法,其特征在于,所述外设资源的类型为硬件设备,所述在所述处理器组和所分配的存储资源上部署客户机系统之后,还包括:
接收外设控制器发送的中断消息,所述中断消息为外设资源的反馈消息,所述中断消息携带外设设备的标识信息;
根据所述中断消息,查询产生所述中断消息的外设设备所属的处理器组;
将所述中断消息转发至查询到的处理器组。
13.根据权利要求9所述的资源配置方法,其特征在于,所述外设资源的类型为虚拟设备,所述为所述处理器组分配与所述外设资源的类型相匹配的外设资源,包括:
为所述处理器组分配共享内存,所述共享内存允许所述处理器组的处理器核和主机核访问;
为所述处理器组提供虚拟设备,并基于所述共享内存为所述处理器组和所述虚拟设备转发外设交互数据。
14.根据权利要求1所述的资源配置方法,其特征在于,所述获取配置请求之前,还包括:
获取计算机架构的处理器核的个数。
15.根据权利要求1所述的资源配置方法,其特征在于,所述在所述处理器组和所分配的存储资源上部署客户机系统,包括:
将客户机系统内核加载至所分配的存储资源上;
向所述处理器组发送中断消息,启动所述处理器组中的首个处理器核,以使所述处理器组中的首个处理器核执行所述客户机系统内核代码,并由所述首个处理器核唤醒所述处理器组中的其他处理器核。
16.根据权利要求1所述的资源配置方法,其特征在于,所述在所述处理器组和所分配的存储资源上部署客户机系统之后,还包括:
获取客户机系统发送的资源回收消息;
根据所述资源回收消息,释放对应所述客户机系统所在的处理器组的存储资源;
根据所述资源回收消息,释放所述客户机系统所在的处理器组的处理器核。
17.一种资源配置装置,其特征在于,包括:
配置请求获取模块,用于获取配置请求;
处理器组配置模块,用于根据所述配置请求,将预设数量的处理器核配置为一处理器组;其中,所述预设数量与所述配置请求相匹配;
存储资源配置模块,用于根据所述配置请求,为所述处理器组分配存储资源;
系统部署模块,用于在所述处理器组和所分配的存储资源上部署客户机系统,所述客户机系统通过所述处理器组中的处理器核发出的指令基于其所分配的存储资源进行处理,所述处理器组中的首个处理器核唤醒所述处理器组中的其他处理器核,完成客户机系统的部署和启动。
18.一种计算机架构,其特征在于,包括:
主机核、多个处理器核和与所述多个处理器核连接的存储控制器件;
其中,所述主机核用于根据配置请求,将预设数量的处理器核配置为一处理器组,并为所述处理器组分配存储资源,其中,所述预设数量的与所述配置请求相匹配,所述处理器组和所分配的存储资源用于部署客户机系统,所述处理器组中的首个处理器核唤醒所述处理器组中的其他处理器核,完成客户机系统的部署和启动;
所述存储控制器件用于基于为所述处理器组分配的存储资源,处理所述处理器组中的处理器核发出的指令。
19.根据权利要求18所述的计算机架构,其特征在于,所述主机核还用于为处理器组中的处理器核配置组标识,以使所述处理器组中的处理器核发出的指令带有所述组标识;
所述存储控制器件还用于基于所述组标识,确定为所述处理器组分配的存储资源。
20.根据权利要求19所述的计算机架构,其特征在于,所述处理器核包括:
标识寄存器,所述标识寄存器用于记录所述处理器核所属的处理器组的组标识;其中,所述标识寄存器仅允许主机核写入;
所述处理器核包括组标识生成器,所述组标识生成器用于读取所述标识寄存器中的组标识,以在处理器核发出的指令中生成所述组标识。
21.根据权利要求19所述的计算机架构,其特征在于,还包括总线,所述总线用于连接所述多个处理器核和所述存储控制器件;所述总线包括标识信号线,所述标识信号线用于传输所述组标识;其中,所述标识信号线的位宽与所述处理器核的数量相匹配。
22.根据权利要求18所述的计算机架构,其特征在于,所述存储资源包括内存资源,所述存储控制器件包括内存控制器,所述内存控制器包括内存分配表和内存权限控制单元;
其中,所述内存分配表记录有分配给所述处理器组的内存资源,所述内存权限控制单元用于根据所述内存分配表,确定所述处理器组中的处理器核发出的指令对所要访问的内存的访问权限。
23.根据权利要求18所述的计算机架构,其特征在于,所述存储资源包括缓存资源,所述存储控制器件包括缓存控制器,所述缓存控制器包括缓存分配表和缓存使能控制单元;
其中,所述缓存分配表记录有分配给处理器组的缓存资源,所述缓存使能控制单元用于根据所述缓存分配表,控制分配给处理器组的缓存资源的使能状态。
24.根据权利要求18所述的计算机架构,其特征在于,所述主机核还用于根据配置请求,为所述处理器组分配外设资源;所述计算机架构还包括外设控制器,所述外设控制用于基于为处理器组分配的外设资源,对处理器组中的处理器核发出的任务进行处理;
其中,所述外设控制器包括外设分配表和标识查询单元;
其中,所述外设分配表记录有分配给处理器组的外设资源,所述标识查询单元用于查询外设资源所分配的处理器组;
所述外设控制器用于向查询到的处理器组发送任务的反馈消息。
25.根据权利要求18所述的计算机架构,其特征在于,所述存储资源中还包括由所述处理器组和所述主机核共享的共享内存。
CN202110741550.9A 2021-06-30 2021-06-30 资源配置方法、装置及计算机架构 Active CN113485789B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110741550.9A CN113485789B (zh) 2021-06-30 2021-06-30 资源配置方法、装置及计算机架构

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110741550.9A CN113485789B (zh) 2021-06-30 2021-06-30 资源配置方法、装置及计算机架构

Publications (2)

Publication Number Publication Date
CN113485789A CN113485789A (zh) 2021-10-08
CN113485789B true CN113485789B (zh) 2023-03-21

Family

ID=77937307

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110741550.9A Active CN113485789B (zh) 2021-06-30 2021-06-30 资源配置方法、装置及计算机架构

Country Status (1)

Country Link
CN (1) CN113485789B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117331701A (zh) * 2023-10-31 2024-01-02 中科驭数(北京)科技有限公司 资源分配回收方法、装置、设备及介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111897651A (zh) * 2020-07-28 2020-11-06 华中科技大学 一种基于标签的内存系统资源管理方法
CN112330229A (zh) * 2020-12-02 2021-02-05 北京元心科技有限公司 资源调度方法、装置、电子设备及计算机可读存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103885833B (zh) * 2012-12-20 2017-06-20 中国移动通信集团公司 一种资源管理方法和系统
US20170289900A1 (en) * 2016-04-01 2017-10-05 Izoslav Tchigevsky Adaptive access point resource management
CN108984465B (zh) * 2018-06-06 2021-08-20 华为技术有限公司 一种消息传输方法及设备
CN110058946B (zh) * 2019-04-26 2019-12-24 上海燧原科技有限公司 设备虚拟化方法、装置、设备及存储介质
CN112241320B (zh) * 2019-07-17 2023-11-10 华为技术有限公司 资源分配方法、存储设备和存储系统
CN112241307A (zh) * 2020-10-21 2021-01-19 海光信息技术股份有限公司 一种虚拟机创建方法、装置及相关设备

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111897651A (zh) * 2020-07-28 2020-11-06 华中科技大学 一种基于标签的内存系统资源管理方法
CN112330229A (zh) * 2020-12-02 2021-02-05 北京元心科技有限公司 资源调度方法、装置、电子设备及计算机可读存储介质

Also Published As

Publication number Publication date
CN113485789A (zh) 2021-10-08

Similar Documents

Publication Publication Date Title
US10579305B2 (en) Method and apparatus for processing read/write request in physical machine
US8281303B2 (en) Dynamic ejection of virtual devices on ejection request from virtual device resource object within the virtual firmware to virtual resource driver executing in virtual machine
US8762999B2 (en) Guest-initiated resource allocation request based on comparison of host hardware information and projected workload requirement
US8032883B2 (en) Controlling access from the virtual machine to a file
JP5510556B2 (ja) 仮想マシンのストレージスペースおよび物理ホストを管理するための方法およびシステム
WO2021000717A1 (zh) 一种io处理的方法和装置
RU2532708C2 (ru) Способ и устройство для осуществления операции ввода/вывода в среде виртуализации
US7249208B2 (en) System and method for extending the cross-memory descriptor to describe another partition's memory
CN100410912C (zh) 从一个设备驱动程序向另一个传送信息的系统和方法
CN102541619B (zh) 虚拟机管理装置和方法
CN103034524A (zh) 半虚拟化的虚拟gpu
US7647490B2 (en) Method and apparatus for providing updated system locality information during runtime
CN110809760A (zh) 资源池的管理方法、装置、资源池控制单元和通信设备
US10719333B2 (en) BIOS startup method and apparatus
CN115185880B (zh) 一种数据存储方法及装置
WO2022001808A1 (zh) 一种系统以及中断处理方法
CN116830082A (zh) 嵌入式系统的启动控制方法和装置、存储介质和电子设备
US20240053998A1 (en) Method and apparatus for processing inter-core communication, and computer system
US11226755B1 (en) Core dump in a storage device
CN113485789B (zh) 资源配置方法、装置及计算机架构
CN116324706A (zh) 分离式存储器池分配
KR20020016516A (ko) 많은 메모리를 필요로 하는 어댑터의 요구를 지원하는메모리 맵 조정
TWI840849B (zh) 計算系統、電腦實施方法及電腦程式產品
CN111666579A (zh) 计算机设备及其访问控制方法和计算机可读介质
CN114115703A (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