CN113934509A - 支持混合虚拟机管理器的系统和运行方法 - Google Patents

支持混合虚拟机管理器的系统和运行方法 Download PDF

Info

Publication number
CN113934509A
CN113934509A CN202111026223.1A CN202111026223A CN113934509A CN 113934509 A CN113934509 A CN 113934509A CN 202111026223 A CN202111026223 A CN 202111026223A CN 113934509 A CN113934509 A CN 113934509A
Authority
CN
China
Prior art keywords
virtual machine
machine manager
type
hardware resource
slave
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202111026223.1A
Other languages
English (en)
Inventor
范冬妮
戴月华
戴清
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung China Semiconductor Co Ltd
Samsung Electronics Co Ltd
Original Assignee
Samsung China Semiconductor Co Ltd
Samsung Electronics 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 Samsung China Semiconductor Co Ltd, Samsung Electronics Co Ltd filed Critical Samsung China Semiconductor Co Ltd
Priority to CN202111026223.1A priority Critical patent/CN113934509A/zh
Publication of CN113934509A publication Critical patent/CN113934509A/zh
Priority to US17/901,257 priority patent/US20230067658A1/en
Priority to KR1020220111675A priority patent/KR20230034195A/ko
Pending legal-status Critical Current

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
    • 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/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5044Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • 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/45579I/O management, e.g. providing access to device drivers or storage
    • 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/45591Monitoring or debugging support

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

提供一种支持混合虚拟机管理器的系统和运行方法。支持混合虚拟机管理器的系统包括:主虚拟机管理器和从虚拟机管理器,所述主虚拟机管理器和所述从虚拟机管理器为不同类型的虚拟机管理器;其中,所述主虚拟机管理器被配置为向所述从虚拟机管理器分配第一类型硬件资源和第二类型硬件资源;其中,第一类型硬件资源为所述从虚拟机管理器直接操作的,且不被其它虚拟机管理器共享的硬件资源;其中,所述第二类型硬件资源为所述从虚拟机管理器向所述主虚拟机管理器请求的硬件资源。

Description

支持混合虚拟机管理器的系统和运行方法
技术领域
本发明涉及计算机技术,更具体地讲,涉及一种支持混合虚拟机管理器的系统和运行方法。
背景技术
随着系统软件行业的发展,需要在硬件平台上提供安全且可靠的服务,同时还需要提供可扩展性以满足用户需求。因此,越来越多的嵌入式系统引入了虚拟化技术。
实现虚拟化技术的关键点之一是虚拟机管理器(或称为虚拟机控制器)。目前的虚拟机管理器主要分两大类(类型1(Type I)和类型2(Type II),二者特点不同各有优势。一般而言,类型1虚拟机管理器对设备直连(Device Passthrough)支持更好,硬件资源使用效率高。目前大部分能满足工业安全需要的虚拟机管理器是类型1。而类型2虚拟机管理器提供更丰富的功能与灵活性,特别是在当前虚拟化输入输出标准化实现下,类型2虚拟机管理器应用场景更多。
然而,客户的实际场景中,往往单一类型的虚拟机管理器无法满足实际的灵活性、性能和安全需求。
发明内容
本发明的目的在于提供一种支持混合虚拟机的系统和运行方法。
根据本公开的一方面,提供一种支持混合虚拟机管理器的系统,所述混合虚拟机管理器包括主虚拟机管理器和从虚拟机管理器,所述主虚拟机管理器和所述从虚拟机管理器为不同类型的虚拟机管理器;其中,所述主虚拟机管理器被配置为向所述从虚拟机管理器分配第一类型硬件资源和第二类型硬件资源;其中,第一类型硬件资源为所述从虚拟机管理器直接操作的,且不与其它虚拟机管理器共享的硬件资源;其中,第二类型硬件资源为所述从虚拟机管理器需要向所述主虚拟机管理器请求的硬件资源。
可选地,所述主虚拟机管理器被配置为:在所述主虚拟机管理器启动时,向所述从虚拟机管理器配置第一类型硬件资源的资源配置表;向所述从虚拟机管理器提供请求第二类型硬件资源的接口表。
可选地,资源配置表包括第一类型硬件资源和对应地址信息;在所述从虚拟机管理器请求第一类型硬件资源时,所述从虚拟机管理器被配置为根据资源配置表中的请求的第一类型硬件资源的地址信息,直接对请求的第一类型硬件资源进行操作。
可选地,所述主虚拟机管理器还被配置为分配用于所述主虚拟机管理器和所述从虚拟机管理器共享事件消息的共享内存。
可选地,接口表包括第二类型硬件资源和对应的操作接口,在所述从虚拟机管理器请求第二类型硬件资源时,所述从虚拟机管理器还被配置为调用与请求的第二类型硬件资源对应的操作接口,将请求的所述第二类型硬件资源的事件写入所述共享内存,并通过处理器间中断(IPI)消息通知所述主虚拟机管理器;所述主虚拟机管理器还被配置为接收由所述从虚拟机管理器发送的IPI消息,从所述共享内存读取所述事件,通过基于所述事件调用所述主虚拟机管理器中的第二类型硬件资源的接口表来确定所述从虚拟机管理器请求的第二类型硬件资源,并对请求的第二类型硬件资源进行操作;所述主虚拟机管理器调用接口表,将请求的第二类型硬件资源的操作结果的事件写入所述共享内存,并通过IPI消息通知所述从虚拟机管理器;所述从虚拟机管理器还被配置为接收由所述主虚拟机管理器发送的IPI消息,从所述共享内存读取所述操作结果的事件,并调用所述从虚拟机管理器中的第二类型硬件资源的接口表以获得所述操作结果。
可选地,所述事件消息包括所述主虚拟机管理器对所述从虚拟机管理器的运行状态管理的事件消息。
可选地,所述第一类型硬件资源包括:中央处理器和物理存储区域,以及其它可以被物理划分的硬件资源;所述第二类型硬件资源至少包括:中断控制器。
根据本公开的一方面,提供一种支持混合虚拟机管理器运行的方法,所述混合虚拟机管理器包括主虚拟机管理器和从虚拟机管理器,所述主虚拟机管理器和所述从虚拟机管理器为不同类型的虚拟机管理器,所述方法包括:通过所述主虚拟机管理器向所述从虚拟机管理器分配第一类型硬件资源和第二类型硬件资源;其中,第一类型硬件资源为所述从虚拟机管理器直接操作的,且不与其它虚拟机管理器共享的硬件资源;其中,第二类型硬件资源为所述从虚拟机管理器需要向所述主虚拟机管理器请求的硬件资源。
可选地,通过所述主虚拟机管理器向所述从虚拟机管理器分配第一类型硬件资源和第二类型硬件资源的步骤包括:在所述主虚拟机管理器启动时,向所述从虚拟机管理器配置第一类型硬件资源的资源配置表;向所述从虚拟机管理器提供请求第二类型硬件资源的接口表。
可选地,其中,资源配置表包括第一类型硬件资源和对应地址信息,其中,所述方法还包括:在所述从虚拟机管理器请求第一类型硬件资源时,通过所述从虚拟机管理器根据资源配置表中的请求的第一类型硬件资源的地址信息,直接对请求的第一类型硬件资源进行操作。
可选地,所述方法还包括:通过所述主虚拟机管理器分配用于所述主虚拟机管理器和所述从虚拟机管理器共享事件消息的共享内存。
可选地,接口表包括第二类型硬件资源和对应的操作接口,其中,所述方法还包括:在所述从虚拟机管理器请求第二类型硬件资源时,通过所述从虚拟机管理器调用与请求的第二类型硬件资源对应的操作接口,将请求的第二类型硬件资源的事件写入所述共享内存,并通过处理器间中断(IPI)消息通知所述主虚拟机管理器;通过所述主虚拟机管理器接收由所述从虚拟机管理器发送的IPI消息,从所述共享内存读取所述事件,通过基于所述事件调用所述主虚拟机管理器中的第二类型硬件资源的接口表来确定所述从虚拟机管理器请求的第二类型硬件资源,并对请求的第二类型硬件资源进行操作;通过所述主虚拟机管理器调用接口表,将请求的第二类型硬件资源的操作结果的事件写入所述共享内存,并通过IPI消息通知所述从虚拟机管理器;通过所述从虚拟机管理器接收所述主虚拟机管理器发送的IPI消息,从所述共享内存读取所述操作结果的事件,并调用所述从虚拟机管理器中的第二类型硬件资源的接口表以获得所述操作结果。
可选地,所述事件消息包括所述主虚拟机管理器对所述从虚拟机管理器的运行状态管理的事件消息。
可选地,所述第一类型硬件资源包括:中央处理器和物理存储区域,以及其它可以被物理划分的硬件资源中的至少一个;所述第二类型硬件资源至少包括:中断控制器。
根据本公开的一方面,提供一种存储有计算机程序的计算机可读存储介质,其中,当所述计算机程序被处理器执行时,实现如上所述的任一方法。
在根据本发明的示例实施例的虚拟机管理器系统中,通过使用主虚拟机管理器向从虚拟机管理器分配第一类型硬件资源和第二类型硬件资源,从而隔离主虚拟机管理器和从虚拟机管理器对硬件的控制,以在没有硬件冲突的情况下实现同一硬件特权级下的主虚拟机管理器和从虚拟机管理器的并行运行并避免系统的性能的降低。
在根据本发明的示例实施例的虚拟机管理器系统中,主虚拟机管理器可管理从虚拟机管理器的运行状态。因此,从虚拟机管理器可在主虚拟机管理器的管理下稳定地运行。
在根据本发明的示例实施例的虚拟机管理器系统中,由于主虚拟机管理器和从虚拟机管理器可通过共享内存来通信关于从虚拟机管理器的运行状态的事件信息,所以主虚拟机管理器可高效地管理从虚拟机管理器的运行状态,使得虚拟机管理器系统稳定运行。
在根据本发明的示例实施例的虚拟机管理器系统中,由于主虚拟机管理器和从虚拟机管理器可通过处理器间中断来识别通信,并通过共享内存来实现通信,因此,主虚拟机管理器和从虚拟机管理器之间的顺畅通信可被确保。
在根据本发明的示例实施例的虚拟机管理器系统中,由于基于共享内存的通信信道的内部结构设可采用环形队列来实现,因此,通信信道的设计简单而有效。
附图说明
通过下面结合示例性地示出一例的附图进行的描述,本发明的上述和其它目的和特点将会变得更加清楚,其中:
图1示出根据示例实施例的支持混合虚拟机的虚拟机管理器系统的框图;
图2示出根据示例实施例的虚拟机管理器系统的启动的示意图;
图3示出根据示例实施例的主虚拟机管理器所执行的操作的流程图;
图4示出根据示例实施例的主虚拟机管理器的分配的方法的流程图;
图5示出根据示例实施例的主虚拟机管理器和从虚拟机管理器之间的通信的示意图;
图6示出了根据示例实施例的通过基于共享内存的通信信道的通信的示意图;
图7示出了根据示例实施例的主虚拟机管理器和从虚拟机管理器的基于图6的通信机制的时序图;
图8示出根据示例实施例的支持混合虚拟机管理器运行的方法。
具体实施方式
提供下面的具体实施方式以帮助读者获得对在此描述的方法、设备和/或系统的全面理解。然而,在理解本申请的公开之后,在此描述的方法、设备和/或系统的各种改变、修改和等同物将是清楚的。例如,在此描述的操作的顺序仅是示例,并且不受限于在此阐述的那些顺序,而是除了必须以特定的顺序发生的操作之外,可如在理解本申请的公开之后将是清楚地那样被改变。此外,为了增加的清楚和简明,可省略在理解本申请的公开之后已知的特征的描述。
在此描述的特征可以以不同的形式来实现,而不应被解释为受限于在此描述的示例。相反,已提供在此描述的示例,以仅示出在理解本申请的公开之后将是清楚的实现在此描述的方法、设备和/或系统的许多可行方式中的一些可行方式。
贯穿说明书,当组件被描述为“连接到”或“结合到”另一组件时,所述组件可直接“连接到”或“结合到”所述另一组件,或者可存在一个或多个介于它们之间的其它组件。相反,当元件被描述为“直接连接到”或“直接结合到”另一元件时,可不存在介于它们之间的其它元件。同样地,相似的表述(例如,“在……之间”与“紧接在……之间”以及“与……邻近”与“与……紧邻”)也应以相同的方式来解释。如在此使用的,术语“和/或”包括相关所列项中的任意一个或相关所列项中的任意两个或更多个的任意组合。
尽管诸如“第一”、“第二”和“第三”的术语在此可用于描述各种构件、组件、区域、层或者部分,但是这些构件、组件、区域、层或者部分不受这些术语所限制。相反,这些术语仅用于将一个构件、组件、区域、层或者部分与另一构件、组件、区域、层或者部分区分开。因此,在不脱离示例的教导的情况下,在此描述的示例中所称的第一构件、第一组件、第一区域、第一层或者第一部分也可被称为第二构件、第二组件、第二区域、第二层或者第二部分。
在此使用的术语仅用于描述各种示例,并将不用于限制公开。除非上下文另外清楚地指示,否则单数形式也意在包括复数形式。术语“包含”、“包括”和“具有”说明存在陈述的特征、数量、操作、构件、元件和/或它们的组合,但不排除存在或添加一个或多个其它特征、数量、操作、构件、元件和/或它们的组合。
除非另有定义,否则在此使用的所有术语(包括技术术语和科学术语)具有与基于本申请的公开的理解和本公开所属领域的普通技术人员通常理解的含义相同的含义。除非在此明确地如此定义,否则术语(诸如在通用词典中定义的术语)应被解释为具有与它们在相关领域的上下文和本申请的公开中的含义一致的含义,并且不应被理想化或过于形式化地解释。在此关于示例或实施例的术语“可”的使用(例如,关于示例或实施例可包括或实现什么)表示存在包括或实现这样的特征的至少一个示例或实施例,而所有示例不限于此。
在下文中,将参照附图详细描述示例。
图1示出根据示例实施例的支持混合虚拟机管理器的系统的框图。
参照图1,根据示例实施例的支持混合虚拟机管理器的系统100(也称为虚拟机管理器系统100)可包括主虚拟机管理器110和从虚拟机管理器120。从虚拟机管理器120的数量可以是一个或多个。
这里,混合虚拟机管理器可包括多个虚拟机管理器,每个虚拟机管理器可运行一个或多个虚拟机(Virtual Machine)。例如,主虚拟机管理器110可运行一个或多个第一客户虚拟机(Guest Virtual Machine)和从虚拟机管理器120可运行一个或多个第二客户虚拟机。
在一个示例中,主虚拟机管理器110和从虚拟机管理器120可以是不同类型的虚拟机管理器。例如,主虚拟机管理器110和从虚拟机管理器120分别是主超管理器(MasterHypervisor)和从超管理器(Slave Hypervisor)。仅作为示例,主虚拟机管理器110可以是类型1超管理器(Type I Hypervisor),从虚拟机管理器120可以是类型2超管理器(Type IIHypervisor)。然而,上述示例仅是示例性的,本发明不限于此。
在一个实施例中,主虚拟机管理器110可向从虚拟机管理器120分配第一类型硬件资源和第二类型硬件资源。也就是说,从虚拟机管理器120能够操作的硬件资源可由主虚拟机管理器110确定。另外,从虚拟机管理器120无法独立更改从虚拟机管理器120能够操作的硬件资源的范围。当从虚拟机管理器120的数量是多个时,主虚拟机管理器110可分别向多个虚拟机管理器120分配各自的第一类型硬件资源和第二类型硬件资源。
通常,当与主虚拟机管理器运行在不同硬件特权等级的从虚拟机管理器请求硬件资源时,需要对请求指令进行多次陷入和转发后通过主虚拟机管理器对请求的硬件资源进行操作,这使得系统的性能降低,而如果多个虚拟机管理器运行在同一硬件特权级,则存在对硬件使用的冲突。相比之下,在本发明中,通过使用主虚拟机管理器110向从虚拟机管理器120分配第一类型硬件资源和第二类型硬件资源,从而隔离主虚拟机管理器110和从虚拟机管理器120对各自拥有的第一类型硬件的控制,以在没有硬件冲突的情况下实现对第一类型硬件的同一硬件特权级下的操作,使得主虚拟机管理器110和从虚拟机管理器120能并行运行并避免系统的性能的降低。
这里,第一类型硬件资源可以是从虚拟机管理器120可直接操作的,且不与其它虚拟机管理器共享的硬件资源。换言之,第一类型硬件资源可以是从虚拟机管理器120独占的硬件资源。
在一个示例中,第一类型硬件资源可包括:中央处理器和物理存储区域,以及其它可以被物理划分的硬件资源中的至少一个。在另一个示例中,第一类型硬件资源可包括任意的独占式外设硬件(例如,网卡、显示设备和音频设备等)。然而,上述示例仅是示例性的,具体的可以根据系统硬件资源的实际情况确定可分配的第一类型的硬件资源,本发明不限于此。
第二类型硬件资源可以是从虚拟机管理器120需要向主虚拟机管理器110请求的一个或多个硬件资源。换言之,第二类型硬件资源可以是通过主虚拟机管理器110使用的硬件资源。例如,第二类型硬件资源可以是主虚拟机管理器110和从虚拟机管理器120共享的一个或多个硬件资源。
在一个示例中,第二类型硬件资源可以是系统中唯一但是对主虚拟机管理器110和从虚拟机管理器120的执行是必须的资源(例如,仅作为示例,系统中的中断控制器,或电源管理器等)。在另一个示例中,第二类型硬件资源可以是根据场景需求而需要共享的外设设备。例如,主虚拟机管理器110和从虚拟机管理器120所支持运行的虚拟机可需要通用异步收发器(Universal Asynchronous Receiver Transmitter)接口进行人机交互,但是通用异步收发器的硬件资源有限,因此可以作为第二硬件资源而被共享;又例如,唯一的或有限的图形处理器(GPU)需要在主虚拟机管理器110和从虚拟机管理器120所支持运行的虚拟机中运行,因此可以作为第二硬件资源而被共享。
另外,在主虚拟机管理器110启动后,主虚拟机管理器110可在分配给从虚拟机管理器120的中央处理器上启动从虚拟机管理器120,使得从虚拟机管理器120经过初始化后,获得运行从虚拟机管理器120的第一类型硬件资源和第二类型硬件资源。也就是说,主虚拟机管理器110可在从虚拟机管理器120启动之前启动,并控制从虚拟机管理器120的启动和运行。后面将结合图2进行更具体地描述。
此外,当从虚拟机管理器120请求第二类型硬件资源时,主虚拟机管理器110可通过处理器间中断管理器接收从虚拟机管理器120的请求。主虚拟机管理器110可处理从虚拟机管理器120的请求,并且从虚拟机管理器120可根据主虚拟机管理器110的处理请求的结果来对第二类型硬件资源进行操作。换言之,可在主虚拟机管理器110和从虚拟机管理器120之间通过处理器间中断实现通信机制,使得主虚拟机管理器110可管理从虚拟机管理器120。
图2示出根据示例实施例的虚拟机管理器系统的启动的示意图。
参照图2,在虚拟机管理器系统启动后,虚拟机管理器系统的引导程序210可通过从虚拟机管理器融合镜像201加载与主虚拟机管理器对应的镜像来启动主虚拟机管理器220。主虚拟机管理器220可初始化硬件资源(诸如,但不限于,中央处理器(CPU),中断控制器,内存等)并将资源按运行时的归属划分为主硬件资源和从硬件资源。
接下来,主虚拟机管理器220可初始化自身运行所需的主硬件资源。另外,主虚拟机管理器220可根据划分时生成的配置文件向从虚拟机管理器230分配从硬件资源(例如,第一类型硬件资源和第二类型硬件资源)。
更具体地讲,从虚拟机管理器230所接收到的资源配置信息可包括被分配的可直接操作的第一类型硬件资源的地址和第二类型硬件资源的接口表。另外,第二类型硬件资源的接口表可被注册于从虚拟机管理器230,使得从虚拟机管理器230可通过第二类型硬件资源的接口表来对第二类型硬件资源进行操作。
示例性的,分配给各个虚拟机管理器的硬件资源可以是系统预先设置的,可以在各个管理器启动时直接加载;分配给各个虚拟机管理器的硬件资源。
在一个示例中,分配给各个虚拟机管理器的硬件资源可以是系统预先设置的,可以在各个管理器启动时直接加载;分配给各个虚拟机管理器的硬件资源也可以是主虚拟管理器启动后,实时分配给各个从虚拟机管理器。
主虚拟机管理器220将从虚拟机管理器230的程序加载到从资源(仅作为示例,分配给从虚拟机管理器230的CPU)上,主虚拟机管理器220可在从资源的中央处理器上启动从虚拟机管理器230。主虚拟机管理器220可同步地在主资源上启动客户虚拟机(例如,第一客户虚拟机241)。从虚拟机管理器230初始化运行时所需的从资源,同时主虚拟机管理器220也在初始化或运行。从虚拟机管理器230可在从资源上启动客户虚拟机(例如,第二客户虚拟机242)。最终,主虚拟机管理器220和从虚拟机管理器230可在各自的资源上分别同步运行各自的客户虚拟机。因此,可在没有硬件冲突的情况下实现同一硬件特权级下的主虚拟机管理器220和从虚拟机管理器230的并行运行。
图3示出根据示例实施例的主虚拟机管理器所执行的操作的流程图。
参照图3,在操作S310中,在主虚拟机管理器启动时,主虚拟机管理器可向从虚拟机管理器配置第一类型硬件资源的资源配置表。
这里,第一类型硬件资源的资源配置表可指示从虚拟机管理器能够直接操作且不被主虚拟机管理器共享的一个或多个硬件资源。换言之,从虚拟机管理器可根据接收到的第一类型硬件资源的资源配置表来直接操作第一类型硬件资源。
在操作S320中,主虚拟机管理器可向从虚拟机管理器提供请求第二类型硬件资源的接口表。
换言之,通过第二类型硬件资源的接口表,从虚拟机管理器可以操作第二类型硬件资源。因此,可以根据需要扩展从虚拟机管理器可以使用的硬件资源。
在一个实施例中,主虚拟机管理器还可分配用于主虚拟机管理器和从虚拟机管理器共享事件消息的共享内存。因此,从虚拟机管理器可通过分配的共享内存而在主虚拟机管理器的管理下稳定地运行。下面将结合图4进行具体描述。
图4示出根据示例实施例的主虚拟机管理器的分配的方法的流程图。
参照图4,在操作S410中,主虚拟机管理器可分配用于主虚拟机管理器和从虚拟机管理器共享事件消息的共享内存。
这里,共享内存可以是主虚拟机管理器通过接口与从虚拟机管理器共享的多个存储单元的集合。换言之,共享内存可由主虚拟机管理器划分和确定。另外,共享内存可用于满足主虚拟机管理器和从虚拟机管理器之间的通信需求和/或图像缓冲区共享。
更具体地讲,主虚拟机管理器可初始拥有对系统的全局内存的访问权。接下来,主虚拟机管理器可向主虚拟机管理器和从虚拟机管理器分别提供各自可访问的不同的内存范围。另外,主虚拟机管理器可将一部分内存范围预留为可被主虚拟机管理器和从虚拟机管理器通过接口操作的共享内存。这里的接口也可以被称为共享内存接口。共享内存接口可被主虚拟机管理器和从虚拟机管理器初始化和调用,并且可对预留的共享内存进行映射。另外,主虚拟机管理器和从虚拟机管理器可通过共享内存接口的自选锁接口的调用来实现信号的同步。
由于主虚拟机管理器和从虚拟机管理器可通过共享内存来共享事件消息,所以主虚拟机管理器可高效地管理从虚拟机管理器,使得虚拟机管理器系统稳定运行。在一个示例中,事件消息可包括主虚拟机管理器对从虚拟机管理器的运行状态管理的事件消息。
在一个实施例中,接口表可包括第二类型硬件资源和对应的操作接口。另外,在从虚拟机管理器请求第二类型硬件资源时,从虚拟机管理器可调用与请求的第二类型硬件资源对应的操作接口,将请求的第二类型硬件资源的事件写入共享内存,并通过处理器间中断(IPI)消息通知主虚拟机管理器。然后,主虚拟机管理器可通过IPI管理器接收由从虚拟机管理器发送的IPI消息,从共享内存读取事件,通过基于事件调用主虚拟机管理器中的第二类型硬件资源的接口表来确定所述从虚拟机管理器请求的第二类型硬件资源,并对请求的第二类型硬件资源进行操作。
也就是说,处理器间中断(IPI)消息可以是用于在主虚拟机管理器和从虚拟机管理器之间传输关于是否存在事件的消息。共享内存可用于在主虚拟机管理器和从虚拟机管理器之间传输事件。在一个示例中,事件可以是关于从虚拟机管理器请求第二类型硬件资源的事件和/或关于主虚拟机管理器允许从虚拟机管理器操作第二类型硬件资源的事件。然而上述示例仅是示例性的,本发明的事件不限于此,并且可以是主虚拟机管理器和从虚拟机管理器之间需要通信的任何事件或者消息。
之后,主虚拟机管理器可调用接口表,将请求的第二类型硬件资源的操作结果的事件写入所述共享内存,并通过IPI消息通知从虚拟机管理器。从虚拟机管理器可接收由主虚拟机管理器发送的IPI消息,从共享内存读取操作结果的事件,并调用从虚拟机管理器中的第二类型硬件资源的接口表以获得所述操作结果。此时,通过上面的操作,从虚拟机管理器可以在主虚拟机管理器的管理下操作第二类型硬件资源。
下面将结合图5对主虚拟机管理器和从虚拟机管理器之间的通信进行更具体地描述。
图5示出根据示例实施例的主虚拟机管理器和从虚拟机管理器之间的通信的示意图。
参照图5,主虚拟机管理器510和从虚拟机管理器520之间可存在通信信道530。主虚拟机管理器510和从虚拟机管理器520可基于共享内存搭建用于传输消息的通信信道530。
这里,主虚拟机管理器510和从虚拟机管理器520之间的通信可以异步的,并可通过IPI管理器541和542以及共享内存来实现。
更具体地讲,主虚拟机管理器510和从虚拟机管理器520可分别注册用于对接收到的消息进行处理的通信消息处理程序。主虚拟机管理器510和从虚拟机管理器520可约定指定的处理器间中断号,以识别通信。
由于主虚拟机管理器510和从虚拟机管理器520可通过处理器间中断来识别通信,并通过共享内存来实现通信,因此,主虚拟机管理器510和从虚拟机管理器520之间的顺畅通信可被确保。
在一个示例中,从虚拟机管理器520可将消息(例如,仅作为示例,关于从虚拟机管理器520的运行状态的事件消息)写入通信信道530。主虚拟机管理器510可通过处理器间中断(IPI)管理器541从IPI管理器542接收的处理器间中断消息,并识别从虚拟机管理器520和主虚拟机管理器510之间的通信。响应于识别到从虚拟机管理器520和主虚拟机管理器510之间的通信,主虚拟机管理器510可从通信信道530读取消息,并调用对应的消息处理程序来处理读取的消息。
之后,主虚拟机管理器510可将处理的结果(例如,仅作为示例,关于从虚拟机管理器520的运行状态的事件消息的处理结果)写入通信信道530。主虚拟机管理器510可通过IPI管理器541向从虚拟机管理器520的IPI管理器542发送处理器间中断。从虚拟机管理器520将通过IPI管理器542接收到的处理器间中断消息识别为主虚拟机管理器510和从虚拟机管理器520之间的通信。响应于识别到主虚拟机管理器510和从虚拟机管理器520之间的通信,从虚拟机管理器520可从通信信道530读取消息,并调用对应的消息处理程序来处理读取的消息。
虽然在上面的示例中将消息示出为了关于从虚拟机管理器520的运行状态的事件消息,但是本发明的在主虚拟机管理器510和从虚拟机管理器520之间通信的消息不限于上述消息。在主虚拟机管理器510和从虚拟机管理器520之间通信的消息可以是任意其他消息(例如,请求数据的消息、请求地址的消息等)。
下面结合图6和图7对基于共享内存的通信信道和相应的通信机制进行更具体地描述。
图6示出了根据示例实施例的通过基于共享内存的通信信道的通信的示意图。图7示出了根据示例实施例的主虚拟机管理器和从虚拟机管理器的基于图6的通信机制的时序图。
参照图6,根据本发明的示例实施例的基于共享内存的通信信道的内部结构可采用环形队列来实现。由于采用了环形队列来实现基于共享内存的通信信道,因此,通信信道的设计简单而有效。
更具体地讲,结合图6和图7,主虚拟机管理器610和从虚拟机管理器620可分别注册各自的用于处理消息的通信消息处理程序。主虚拟机管理器610可将信息(或者事件)写入到与主虚拟机管理器610对应的主环形队列631,并可经由IPI通信将事件通知发送到从虚拟机管理器620。
响应于接收到事件通知,从虚拟机管理器620可从与主虚拟机管理器610对应的主环形队列631读取消息并处理读取的消息。然后,从虚拟机管理器620可将消息(例如,处理读取的消息的结果(或者事件响应))写入与从虚拟机管理器620对应的从环形队列632,并可经由IPI通信将事件响应通知发送到主虚拟机管理器610。主虚拟机管理器610可从与从虚拟机管理器620对应的从环形队列632读取消息(或者事件响应)。之后,主虚拟机管理器610可处理读取的消息。
仅作为示例,主环形队列631和从环形队列632可具有与如图6的右部所示的事件环形队列对应的形式。事件环形队列可包括请求写入位置、请求事件、请求读取位置、响应写入位置、响应事件和响应读取位置中的一个或多个。
图8示出根据示例实施例的支持混合虚拟机管理器运行的方法。
参照图8,在操作S810中,虚拟机管理器系统可通过主虚拟机管理器向从虚拟机管理器分配第一类型硬件资源和第二类型硬件资源。
支持混合虚拟机管理器运行的方法可包括参照图1至图7中的至少一个描述的由主虚拟机管理器执行的操作和由从虚拟机管理器执行的操作中的一个或多个。另外,主虚拟机管理器、从虚拟机管理器、第一类型硬件资源和第二类型硬件资源可以分别是参照图1至图7中的至少一个描述的主虚拟机管理器、从虚拟机管理器、第一类型硬件资源和第二类型硬件资源。因此,为了简洁,这里不再重复关于主虚拟机管理器、从虚拟机管理器、第一类型硬件资源和第二类型硬件资源的冗余描述。
在根据本发明的示例实施例的虚拟机管理器系统中,通过使用主虚拟机管理器向从虚拟机管理器分配第一类型硬件资源和第二类型硬件资源,从而隔离主虚拟机管理器和从虚拟机管理器对硬件的控制,以在没有硬件冲突的情况下实现同一硬件特权级下的主虚拟机管理器和从虚拟机管理器的并行运行并避免系统的性能的降低。
在根据本发明的示例实施例的虚拟机管理器系统中,主虚拟机管理器可管理从虚拟机管理器的运行状态。因此,从虚拟机管理器可在主虚拟机管理器的管理下稳定地运行。
在根据本发明的示例实施例的虚拟机管理器系统中,由于主虚拟机管理器和从虚拟机管理器可通过共享内存来通信关于从虚拟机管理器的运行状态的事件信息,所以主虚拟机管理器可高效地管理从虚拟机管理器的运行状态,使得虚拟机管理器系统稳定运行。
在根据本发明的示例实施例的虚拟机管理器系统中,由于主虚拟机管理器和从虚拟机管理器可通过处理器间中断来识别通信,并通过共享内存来实现通信,因此,主虚拟机管理器和从虚拟机管理器之间的顺畅通信可被确保。
在根据本发明的示例实施例的虚拟机管理器系统中,由于基于共享内存的通信信道的内部结构设可采用环形队列来实现,因此,通信信道的设计简单而有效。
根据一个或多个示例实施例,上面描述的处理器可使用硬件、硬件和软件的组合或者存储可执行的用于执行其功能的软件的非暂时性存储介质来实现。
硬件可使用处理电路(诸如,但不限于,一个或多个处理器、一个或多个中央处理器(CPU)、一个或多个控制器、一个或多个算术逻辑单元(ALU)、一个或多个数字信号处理器(DSP)、一个或多个微型计算机、一个或多个现场可编程门阵列(FPGA)、一个或多个片上系统(SoC)、一个或多个可编程逻辑单元(PLU)、一个或多个微处理器、一个或多个专用集成电路(ASIC),或能够以限定的方式响应和执行指令的任何其它装置)来实现。
软件可包括用于独立地或共同地指示或配置硬件装置按照期望地进行操作的计算机程序、程序代码、指令或它们的一些组合。计算机程序和/或程序代码可包括能够由一个或多个硬件装置(诸如,上面提到的硬件装置中的一个或多个)实现的程序或计算机可读指令、软件组件、软件模块、数据文件、数据结构等。程序代码的示例包括由编译器生成的机器代码和使用解释器执行的高级程序代码二者。
例如,当硬件装置是计算机处理装置(例如,一个或多个处理器、CPU、控制器、ALU、DSP、微型计算机、微处理器等)时,计算机处理装置可被配置为执行通过根据程序代码执行算术、逻辑和输入/输出操作的程序代码。一旦程序代码被加载到计算机处理装置中,计算机处理装置可被编程为执行该程序代码,从而将计算机处理装置转换成专用计算机处理装置。在更具体的示例中,当程序代码被加载到处理器中时,处理器变得程序化以执行程序代码和与其对应的操作,从而将处理器变换为专用处理器。在另一示例中,硬件装置可以是定制为专用处理电路的集成电路(例如,ASIC)。
硬件装置(诸如,计算机处理装置)可运行操作系统(OS)以及在OS上运行的一个或多个软件应用。响应于软件的执行,计算机处理装置还可访问、存储、操控、处理并创建数据。为了简明起见,一个或多个示例实施例可被举例为一个计算机处理装置,然而,本领域的技术人员将理解,硬件装置可包括多个处理元件以及多种类型的处理元件。例如,硬件装置可包括多个处理器或者一个处理器和一个控制器。此外,其它处理配置是可行的,诸如并行处理器。
可以以任意类型的存储介质(存储介质包括,但不限于,能够将指令或数据提供给硬件装置,或者能够提供由硬件装置解释的任何机器、组件、物理或虚拟设备或计算机存储介质或者装置)来永久地或临时地实现软件和/或数据。软件还可分布在联网的计算机系统上,使得软件以分布式的方式被存储和被执行。具体地讲,例如,软件和数据可通过包括如在此讨论的有形的或非暂时性计算机可读存储介质的一个或多个计算机可读记录介质来存储。
例如,根据本发明的示例实施例,提供一种存储有计算机程序的计算机可读存储介质,其中,当计算机程序被处理器执行时实现至少如下的存储数据的方法:接收对存储设备中的第一块执行垃圾回收的消息;响应于所述消息,根据所述第一块的级别,通过将所述第一块中的有效数据存储到第二块中来对所述第一块执行垃圾回收,其中,所述第二块的级别不低于所述第一块的级别。此外,本发明的其它方法也可以类似地通过存储有计算机程序的计算机可读存储介质来实现。
存储介质还可包括:在根据一个或多个示例实施例的单元和/或装置的一个或多个存储装置。一个或多个存储装置可以是有形或非暂时性计算机可读存储介质(诸如,随机存取存储器(RAM)、只读存储器(ROM)、永久大容量存储装置(诸如,磁盘驱动器)和/或能够存储和记录数据的任何其它类似的数据存储结构)。一个或多个存储装置可被配置为存储用于一个或多个操作系统和/或用于实现在此描述的示例实施例的计算机程序、程序代码、指令或它们的一些组合。还可使用驱动机制将计算机程序、程序代码、指令或它们的一些组合从单独的计算机可读存储介质加载到一个或多个存储装置和/或一个或多个计算机处理装置中。这种单独的计算机可读存储介质可包括通用串行总线(USB)闪存驱动器、记忆棒、蓝光/DVD/CD-ROM驱动器、存储卡和/或其它类似的计算机可读存储介质。计算机程序、程序代码、指令或它们的一些组合可经由网络接口而不是经由计算机可读存储介质从远程数据存储装置加载到一个或多个存储装置和/或一个或多个计算机处理装置中。此外,计算机程序、程序代码、指令或它们的一些组合可通过网络从远程计算系统加载到一个或多个存储装置和/或一个或多个处理器中,其中,该远程计算系统被配置为通过网络传送和/或分布计算机程序、程序代码、指令或它们的一些组合。远程计算系统可经由有线接口、空中接口和/或任何其它类似介质传送和/或分布计算机程序、程序代码、指令或它们的一些组合。
为了示例实施例的目的,一个或多个硬件装置、存储介质、计算机程序、程序代码、指令或它们的一些组合可被专门设计和构造,或者它们可以是为了示例实施例的目的而改变和/或修改的已知的装置。
上述内容是对示例实施例的说明,并且不应被解释成对示例实施例的限制。尽管已经描述了一些示例实施例,但是本领域技术人员将容易地理解,在不实质上脱离本发明构思的示例实施例的新颖性教导和优点的情况下,可在示例实施例中进行许多修改。因此,所有这些修改意在包括在权利要求中所限定的本发明构思的示例实施例的范围内。因此,将理解,前面的叙述是各种示例实施例的说明,不应被解释为限于公开的特定示例实施例,对公开的示例实施例的修改以及其它示例实施例意在包括在所附权利要求的范围内。

Claims (10)

1.一种支持混合虚拟机管理器的系统,所述混合虚拟机管理器包括主虚拟机管理器和从虚拟机管理器,所述主虚拟机管理器和所述从虚拟机管理器为不同类型的虚拟机管理器;
其中,所述主虚拟机管理器被配置为向所述从虚拟机管理器分配第一类型硬件资源和第二类型硬件资源;
其中,第一类型硬件资源为所述从虚拟机管理器直接操作的,且不与其它虚拟机管理器共享的硬件资源;
其中,第二类型硬件资源为所述从虚拟机管理器需要向所述主虚拟机管理器请求的硬件资源。
2.根据权利要求1所述的系统,其中,所述主虚拟机管理器被配置为:
在所述主虚拟机管理器启动时,向所述从虚拟机管理器配置第一类型硬件资源的资源配置表;
向所述从虚拟机管理器提供请求第二类型硬件资源的接口表。
3.根据权利要求2所述的系统,其中,资源配置表包括第一类型硬件资源和对应地址信息;
在所述从虚拟机管理器请求第一类型硬件资源时,所述从虚拟机管理器被配置为根据资源配置表中的请求的第一类型硬件资源的地址信息,直接对请求的第一类型硬件资源进行操作。
4.根据权利要求2所述的系统,其中,所述主虚拟机管理器还被配置为分配用于所述主虚拟机管理器和所述从虚拟机管理器共享事件消息的共享内存。
5.根据权利要求4所述的系统,其中接口表包括第二类型硬件资源和对应的操作接口,
在所述从虚拟机管理器请求第二类型硬件资源时,所述从虚拟机管理器还被配置为调用与请求的第二类型硬件资源对应的操作接口,将请求的所述第二类型硬件资源的事件写入所述共享内存,并通过处理器间中断(IPI)消息通知所述主虚拟机管理器;
所述主虚拟机管理器还被配置为接收由所述从虚拟机管理器发送的IPI消息,从所述共享内存读取所述事件,通过基于所述事件调用所述主虚拟机管理器中的第二类型硬件资源的接口表来确定所述从虚拟机管理器请求的第二类型硬件资源,并对请求的第二类型硬件资源进行操作;
所述主虚拟机管理器调用接口表,将请求的第二类型硬件资源的操作结果的事件写入所述共享内存,并通过IPI消息通知所述从虚拟机管理器;
所述从虚拟机管理器还被配置为接收由所述主虚拟机管理器发送的IPI消息,从所述共享内存读取所述操作结果的事件,并调用所述从虚拟机管理器中的第二类型硬件资源的接口表以获得所述操作结果。
6.根据权利要求4所述的系统,其中,所述事件消息包括所述主虚拟机管理器对所述从虚拟机管理器的运行状态管理的事件消息。
7.根据权利要求1所述的系统,其中,所述第一类型硬件资源包括:中央处理器、物理存储区域以及其它可以被物理划分的硬件资源中的至少一个;所述第二类型硬件资源至少包括:中断控制器。
8.一种支持混合虚拟机管理器运行的方法,所述混合虚拟机管理器包括主虚拟机管理器和从虚拟机管理器,所述主虚拟机管理器和所述从虚拟机管理器为不同类型的虚拟机管理器,所述方法包括:
通过所述主虚拟机管理器向所述从虚拟机管理器分配第一类型硬件资源和第二类型硬件资源;
其中,第一类型硬件资源为所述从虚拟机管理器直接操作的,且不与其它虚拟机管理器共享的硬件资源;
其中,第二类型硬件资源为所述从虚拟机管理器需要向所述主虚拟机管理器请求的硬件资源。
9.根据权利要求8所述的方法,其中,通过所述主虚拟机管理器向所述从虚拟机管理器分配第一类型硬件资源和第二类型硬件资源的步骤包括:
在所述主虚拟机管理器启动时,向所述从虚拟机管理器配置第一类型硬件资源的资源配置表;
向所述从虚拟机管理器提供请求第二类型硬件资源的接口表。
10.一种存储有计算机程序的计算机可读存储介质,其中,当所述计算机程序被处理器执行时,实现根据权利要求8至9中的任一项所述的方法。
CN202111026223.1A 2021-09-02 2021-09-02 支持混合虚拟机管理器的系统和运行方法 Pending CN113934509A (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202111026223.1A CN113934509A (zh) 2021-09-02 2021-09-02 支持混合虚拟机管理器的系统和运行方法
US17/901,257 US20230067658A1 (en) 2021-09-02 2022-09-01 System and operation method of hybrid virtual machine managers
KR1020220111675A KR20230034195A (ko) 2021-09-02 2022-09-02 하이브리드 가상 머신 관리자의 시스템 및 동작 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111026223.1A CN113934509A (zh) 2021-09-02 2021-09-02 支持混合虚拟机管理器的系统和运行方法

Publications (1)

Publication Number Publication Date
CN113934509A true CN113934509A (zh) 2022-01-14

Family

ID=79274865

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111026223.1A Pending CN113934509A (zh) 2021-09-02 2021-09-02 支持混合虚拟机管理器的系统和运行方法

Country Status (3)

Country Link
US (1) US20230067658A1 (zh)
KR (1) KR20230034195A (zh)
CN (1) CN113934509A (zh)

Also Published As

Publication number Publication date
KR20230034195A (ko) 2023-03-09
US20230067658A1 (en) 2023-03-02

Similar Documents

Publication Publication Date Title
EP3761170B1 (en) Virtual machine creation method and apparatus
CN107015845B (zh) Gpu虚拟化
US9519795B2 (en) Interconnect partition binding API, allocation and management of application-specific partitions
US8146089B2 (en) Sharing resources of a partitioned system
TWI417790B (zh) 異質架構中之邏輯分割以及虛擬化
JP4345630B2 (ja) 情報処理装置、割り込み処理制御方法、並びにコンピュータ・プログラム
US20120227040A1 (en) Hybrid Operating System
WO2017070900A1 (zh) 多核数字信号处理系统中处理任务的方法和装置
US10459773B2 (en) PLD management method and PLD management system
US9946567B2 (en) Policy based virtual resource allocation and allocation adjustment
CN106537336B (zh) 云固件
US10635499B2 (en) Multifunction option virtualization for single root I/O virtualization
US10275558B2 (en) Technologies for providing FPGA infrastructure-as-a-service computing capabilities
US9298516B2 (en) Verification of dynamic logical partitioning
CN114168271B (zh) 一种任务调度方法、电子设备及存储介质
CN111213127B (zh) 用于直接分配的设备的虚拟化操作
KR20210154769A (ko) 마이크로 커널에 기반한 확장 가능 하이퍼바이저
US10853284B1 (en) Supporting PCI-e message-signaled interrupts in computer system with shared peripheral interrupts
KR20160105636A (ko) 멀티 노드 시스템의 서버 가상화 방법 및 그 장치
US20230067658A1 (en) System and operation method of hybrid virtual machine managers
KR20130104958A (ko) 다중 운영체제들을 실행하는 장치 및 방법
EP3811210B1 (en) Method and supporting node for supporting process scheduling in a cloud system
US9619277B2 (en) Computer with plurality of processors sharing process queue, and process dispatch processing method
CN113296821A (zh) 提供容器服务的设备和方法以及该设备的热升级方法
CN116324706A (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