CN111427669A - 计算机设备上的虚拟机的管理方法、装置、介质和系统 - Google Patents
计算机设备上的虚拟机的管理方法、装置、介质和系统 Download PDFInfo
- Publication number
- CN111427669A CN111427669A CN202010342390.6A CN202010342390A CN111427669A CN 111427669 A CN111427669 A CN 111427669A CN 202010342390 A CN202010342390 A CN 202010342390A CN 111427669 A CN111427669 A CN 111427669A
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- virtual
- real
- started
- requested
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45583—Memory management, e.g. access or allocation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请提供了一种计算机设备上的虚拟机的管理方法、装置、介质和系统。计算机设备具有多个物理CPU;并且该方法包括:判断在计算机设备上请求启动的虚拟机是否具有实时性需求;在判断出请求启动的虚拟机具有实时性需求的情况下,为虚拟机分配至少一个计算机设备的物理CPU,其中,至少一个物理CPU上将运行仅有该请求启动的虚拟机;在判断出请求启动的虚拟机不具有实时性需求的情况下,为虚拟机分配至少一个虚拟CPU。本申请通过对具有实时性需求的虚拟机分配独占的物理CPU,以避免该物理CPU被调度出去供其他虚拟机使用,满足用户对于实时性要求高的应用的需求。
Description
技术领域
本申请涉及计算机技术领域,特别涉及一种计算机设备上的虚拟机的管理方法、装置、介质和系统。
背景技术
虚拟化技术是指在一套完整的计算机硬件平台上,通过软件方法或硬件装置,将一组硬件虚拟成多组硬件,并提供给多个独立运行的软件系统(通常是操作系统)作为独立运行环境的技术。具备虚拟化技术的计算机装置可以并行地运行多个独立的操作系统,这些操作系统之间除了运行过程中分享硬件资源(如内存、I/O中断、存储和CPU)外,互相保持独立,可以看作是多个独立的计算机在运行。这些独立运行的操作系统通常被称为虚拟机(Virtual Machine,VM),这些操作系统相互之间不干扰,比如一个虚拟机能访问的内存是另一个虚拟机所不能访问的,从而实现多个操作系统之间的隔离。
然而由于虚拟机所使用的虚拟处理器(VCPU)共享物理处理器(PCPU),虚拟机监视器负责VCPU的调度。当一个VCPU被调度到某个PCPU后,该VCPU所属的VM就开始在这个PCPU上执行。由于这些复杂的调度过程,会导致实时性的下降,无法适用到对实时性有特殊需要的领域。
发明内容
本申请实施例提供了一种计算机设备上的虚拟机的管理方法、装置、介质和系统,本申请实施例提供的计算机设备上的虚拟机的管理方法通过对具有实时性需求的虚拟机分配独占的物理CPU,以避免该物理CPU被调度出去供其他虚拟机使用,满足用户对于实时性要求高的应用的需求。
第一方面,本申请实施例提供了一种计算机设备上的虚拟机的管理方法,计算机设备具有多个物理CPU;并且方法包括:判断在计算机设备上请求启动的虚拟机是否具有实时性需求;在判断出请求启动的虚拟机具有实时性需求的情况下,为虚拟机分配至少一个计算机设备的物理CPU,其中,至少一个物理CPU上将运行仅有该请求启动的虚拟机;在判断出请求启动的虚拟机不具有实时性需求的情况下,为虚拟机分配至少一个虚拟CPU。如此,使得有实时性需求的虚拟机在执行实时性要求高的任务时,由于其独占物理CPU,不需要与其他虚拟机参与物理资源的调度,满足用户对于低延迟及高实时性的应用需求。
在上述第一方面的一种可能的实现中,上述方法还包括:判断在计算机设备上请求启动的虚拟机是否具有实时性需求包括:读取在计算机设备上请求启动的虚拟机的属性信息;基于读取的属性信息判断在计算机设备上请求启动的虚拟机是否具有实时性需求。
在上述第一方面的一种可能的实现中,上述方法还包括:为不具有实时性需求的第一虚拟机分配第一虚拟CPU;为不具有实时性需求的第二虚拟机分配第二虚拟CPU;其中,第一虚拟CPU和所述虚拟CPU所在的物理CPU,与为具有实时性需求的虚拟机分配的物理CPU相互独立。第一虚拟CPU和第二虚拟CPU位于同一物理CPU上。可以理解,对于不具有实时性需求的第一虚拟机和第二虚拟机,二者由于要轮询同一物理CPU的资源,会产生延迟,可以应用于用户对于实时性要求低的应用场景。
在上述第一方面的一种可能的实现中,上述计算机设备包括多个外部设备,上述方法还包括:计算机设备上请求启动的虚拟机能够直接访问多个外部设备中的至少一个;或者,计算机设备上请求启动的虚拟机能够访问计算机设备中模拟出的与多个外部设备相对应的多个虚拟设备中的至少一个。可以理解,对于有实时性需求的虚拟机,通过直接访问计算机设备的外部设备,不需要通过计算机设备的虚拟机监视器来访问外部设备,处理效率高,进一步保证了实时性需求。
第二方面,本申请实施例提供了一种计算机设备上的虚拟机的管理装置,包括:
判断模块,用于判断在计算机设备上请求启动的虚拟机是否具有实时性需求;
配置模块,用于在判断出请求启动的虚拟机具有实时性需求的情况下,为虚拟机分配至少一个计算机设备的物理CPU,其中,至少一个物理CPU上将运行仅有该请求启动的虚拟机;在判断出请求启动的虚拟机不具有实时性需求的情况下,为虚拟机分配至少一个虚拟CPU。
在上述第二方面的一种可能的实现中,上述装置还包括:判断模块通过以下方式对在计算机设备上请求启动的虚拟机是否具有实时性需求进行判断:
读取在计算机设备上请求启动的虚拟机的属性信息;基于读取的属性信息判断在计算机设备上请求启动的虚拟机是否具有实时性需求。
在上述第二方面的一种可能的实现中,上述装置还包括:上述配置模块还用于:
为不具有实时性需求的第一虚拟机分配第一虚拟CPU;
为不具有实时性需求的第二虚拟机分配第二虚拟CPU,
其中,第一虚拟CPU和第二虚拟CPU所在的物理CPU,与为具有实时性需求的虚拟机分配的物理CPU相互独立。
在上述第二方面的一种可能的实现中,上述计算机设备包括多个外部设备,上述虚拟机的管理装置还包括访问控制模块,用于控制计算机设备上请求启动的虚拟机能够直接访问多个外部设备中的至少一个;或者,控制计算机设备上请求启动的虚拟机能够访问计算机设备中模拟出的与多个外部设备相对应的多个虚拟设备中的至少一个。
第三方面,本申请实施例提供了一种计算机可读介质,计算机可读介质上存储有指令,该指令在计算机上执行时使计算机执行上述第一方面及第一方面的各种可能的实现中的任意一种计算机设备上的虚拟机的管理方法。
第四方面,本申请实施例提供了一种电子设备,包括:
存储器,用于存储由系统的一个或多个处理器执行的指令,以及
处理器,是系统的处理器之一,用于执行上述第一方面及第一方面的各种可能的实现中的任意一种计算机设备上的虚拟机的管理方法。
附图说明
在附图各图中通过示例而不是限制说明了本申请,其中相同标记指示相同元件,且其中:
图1(a)示出了相关技术中一种虚拟机管理系统的架构图;
图1(b)示出了相关技术中另一种虚拟机管理系统的架构图;
图2根据本申请的一些实施例,示出了一种虚拟机管理系统的架构图;
图3根据本申请的一些实施例,示出了一种汽车的虚拟机管理系统的架构图;
图4根据本申请的一些实施例,示出了一种虚拟机管理方法流程图;
图5根据本申请的一些实施例,示出了一种虚拟机管理装置的结构框图;
图6根据本申请的一些实施例,示出了一种系统的框图。
图7根据本申请一些实施例,示出了一种片上系统(SoC)的框图。
具体实施方式
本申请的说明性实施例包括但不限于虚拟机管理方法、装置及其介质和系统。
可以理解,如本文所使用的,术语“模块”可以指代或者包括专用集成电路(ASIC)、电子电路、执行一个或多个软件或固件程序的处理器(共享、专用、或群组)和/或存储器、组合逻辑电路、和/或提供所描述的功能的其他适当硬件组件,或者可以作为这些硬件组件的一部分。
可以理解,在本申请各实施例中,处理器可以是微处理器、数字信号处理器、微控制器等,和/或其任何组合。根据另一个方面,所述处理器可以是单核处理器,多核处理器等,和/或其任何组合。
本申请针对不同的应用场景,通过读取虚拟机的属性信息(例如汽车电子仪表盘的控制逻辑对应的虚拟机需要满足较高的实时性,而汽车的空调对应的控制逻辑对应的虚拟机对实时性没有较高要求),并基于虚拟机的属性信息,判断其是否具有实时性需求,通过对具有实时性需求的虚拟机分配独占的物理CPU,以避免该物理CPU被调度出去供其他虚拟机使用,满足用户对于实时性要求高的应用的需求。
为了清楚地理解本发明,以下对本发明中所使用的术语进行解释:
物理CPU(Physical CPU):计算机系统中真实的CPU。
虚拟CPU(Virtual CPU,缩写为VCPU):虚拟化管理系统分配给虚拟机的CPU。
Hypervisor(Virtual Machine Monitor,虚拟机监视器,缩写为VMM):是一种运行在物理硬件和操作系统之间的中间软件层,可允许多个操作系统和应用共享一套基础物理硬件。
虚拟设备:通过虚拟技术将一台独占设备虚拟成多台逻辑设备,供多个用户进程同时使用,通常把这种经过虚拟的设备称为虚拟设备。
GIC(Generic Interrupt controller,通用中断控制器)。
RTC(Real-time clock,实时时钟)。
Watchdog(看门狗)。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请的实施方式作进一步地详细描述。
图1(a)示出了相关技术中一种虚拟机管理系统110的架构图。如图1(a)所示,虚拟机管理系统110包括主机113、设置于主机113上的虚拟机111和虚拟机112、主机113的硬件设备114以及用于管理虚拟机的虚拟机监视器115。其中,主机113可以包括但不限于计算机服务器,以及能够实现云端计算功能的各种计算设备。
虚拟机111、112可以是任何设置于计算机服务器中的虚拟装置,这里的虚拟机是指通过软件实现的可以像真实机器一样具有完整硬件系统功能的、运行在与主机113的操作系统内的完整计算机系统。
虚拟机监视器115直接在主机113的硬件设备114上运行,虚拟机监视器115可以协调虚拟机111和虚拟机112对硬件设备114的硬件资源的访问,同时也可以在虚拟机111和虚拟机112之间施加防护。当虚机监视器115运行时,其加载虚拟机111和虚拟机112的操作系统,并分配给虚拟机111和虚拟机112适量的内存、CPU、网络和磁盘等。
图1(b)示出了相关技术中另一种虚拟机管理系统120的架构图。如图1(b)所示,虚拟机管理系统120包括主机123,设置于主机123上的虚拟机121和虚拟机122,主机123的硬件设备124,主机的操作系统126以及用于管理虚拟机的虚拟机监视器125。其中,虚拟机监视器125作为软件层运行在主机123的操作系统126上,依赖于主机123预先安装的操作系统126来管理对主机123的硬件设备的调用(例如CPU、内存、存储和网络资源的调用)。
图1(a)中的虚拟机111对应的VCPU和虚拟机112对应的VCPU共享主机113的PCPU;图1(b)中的虚拟机121对应的VCPU和虚拟机122对应的VCPU共享主机123的PCPU。在一些实施例中,虚拟机监视器115和虚拟机监视器125可以通过设置虚拟机的优先级的方式,实现VCPU在PCPU上的调度。在一些实施例中,虚拟机监视器115和虚拟机监视器125可以通过时间片轮转调度算法,实现VCPU在PCPU上的调度。可以理解,在其他实施例中,虚拟机监视器115和虚拟机监视器125还可以通过其他调度算法,实现VCPU在PCPU上的调度,不限于前述设置虚拟机的优先级的方式及时间片轮转调度算法。如此,复杂的调度过程势必导致系统实时性的降低。无法适用到对实时性有特殊需要的领域,如汽车领域、工业领域等。
可以理解,此处图1(a)和图1(b)中虽然示出了1个硬件设备和2个虚拟机,但是,此处硬件设备和虚拟机的数量和类型仅仅是示例性的,在此不做限制,主机113和主机123可以包括任意类型和数量的虚拟机和硬件设备。
本申请的技术方案通过为实现较高实时性要求的功能对应的虚拟机配置至少一个独占的PCPU;而将实现没有实时性要求或要求较低的功能对应的虚拟机配置至少一个VCPU(该VCPU所占用的PCPU与实现较高实时性要求的功能对应的虚拟机配置的PCPU不同)。如此,对于有实时性需求的虚拟机可以独享一个或多个PCPU,以避免其他虚拟机和该虚拟机共享该PCPU,避免该PCPU参与资源调度产生延迟,满足用户对于实时要求较高的应用的需求,提高用户体验。
图2根据本申请的实施例,示出了一种虚拟机管理系统200的架构图。如图2所示,虚拟机管理系统200包括硬件设备210、用于管理虚拟机的虚拟机监视器220以及虚拟机230、虚拟机240和虚拟机250。其中,硬件设备210包括PCPU、内存和外部设备等。虚拟机监视器220包括超级调用模块221、VCPU调度模块222、中断处理模块223、虚拟机隔离模块224、电源管理模块225及虚拟设备管理模块226。
其中,虚拟机230、240、250通过超级调用模块221来请求虚拟机监视器220提供服务,例如虚拟机240通过超级调用模块221来请求虚拟机监视器220为其分配资源、执行输入输出请求等。VCPU调度模块222可以实现对VCPU共享的PCPU资源的管理,负责VCPU的调度和切换,以保证在给定时间内,每个VCPU对应的虚拟机可以在PCPU上运行一段时间。当虚拟机监视器220接收到来自硬件设备210(例如网卡、键盘或鼠标等)产生的中断请求时,通过中断处理模块223查询中断转换表,从中断转换表中查询到为该硬件设备配置的虚拟中断请求,然后将该虚拟中断请求分发给对应的虚拟机进行处理。虚拟机隔离模块224用于隔离出虚拟机230、240、250所需的地址空间。电源管理模块225可以基于虚拟机230、240、250的使用情况实现对硬件设备的电源管理。虚拟设备管理模块226用以管理虚拟机230、240、250。
在图2所示的实施例中,虚拟机230、240、250可以直接访问外部设备(例如USB接口)。具体地,通过虚拟机监视器220将外部设备的地址范围映射给对应的虚拟机,虚拟机就可以对该外部设备直接进行访问。例如,虚拟机监视器220将硬件设备210的串行接口(以下简称为“串口”)的地址范围映射给虚拟机230,那么虚拟机230就可以直接访问该串口,虚拟机240和虚拟机250均不能访问该串口。
在图2所示的实施例中,虚拟机管理系统200还支持虚拟化设备。具体地,假设虚拟机230要访问硬件设备210的串口,虚拟机监视器220中模拟出对应该串口的虚拟设备,当虚拟机230在访问该串口时,通过虚拟机监视器220解析出虚拟机230访问的设备类型(此处为串口)及虚拟机230的操作请求,虚拟机监视器220控制该设备对应的虚拟设备执行解析出的操作请求,并且将执行的结果返回给虚拟机230。在一些实施例中,为了使虚拟机监视器220保证低的错误率,会使虚拟机监视器220的实现较为精简,如此,虚拟机监视器220只能实现一些简单外部设备的全虚拟化,例如GIC、RTC和watchdog等。
在图2所示的实施例中,为了使虚拟机监视器220的设计更为精简,可以通过创建的虚拟机来协助该虚拟机监视器220对其他虚拟机的管理,该虚拟机则被称为管理虚拟机(例如图2中的虚拟机230),管理虚拟机是一个完整的操作系统(例如Linux、Daemon操作系统),可以实现对虚拟机的管理。
在图2所示的实施例中,虚拟机监视器220在获取到虚拟机访问外部设备的信息后,若判断该外部设备是虚拟机监视器220本身可以进行模拟的(即在虚拟机监视器220中创建该外部设备对应的虚拟设备,例如GIC、RTC和watchdog等),则虚拟机监视器220直接响应该访问请求,并将响应与该请求的处理结果返回给虚拟机。若判断该外部设备是虚拟机监视器220本身无法进行模拟的,例如串口(virtual-serial)、虚拟块设备(virtual-block)和虚拟网络(virtual-net)等。则将相关请求发送给管理虚拟机,由管理虚拟机进行设备的模拟,通过模拟出的虚拟设备响应对应的访问请求,并将处理结果返回给对应的虚拟机。在一些实施例中,虚拟机监视器220和管理虚拟机之间的数据通信可以通过共享内存实现,以减少数据拷贝,提高处理速度。
在图2所示的实施例中,对于不同的应用场景和应用需求,通过为实现较高实时性要求的应用的虚拟机配置至少一个独占的PCPU;而将实现没有实时性要求或要求较低的应用的虚拟机配置至少一个VCPU(该VCPU所占用的PCPU与实现较高实时性要求的功能对应的虚拟机配置的PCPU不同)。如此,可以避免例如1(a)或图1(b)中所有的虚拟机轮询相同的PCPU而产生延迟,满足用户对于实时要求较高的应用的需求,提高用户体验。例如,图2所示的虚拟机240可以执行有实时性要求的任务请求,例如对于汽车的电子仪表盘,关系着乘车人员的人身安全,实时性要求很高。虚拟机250可以执行对实时性要求较低的任务请求,例如对于汽车内的音响、空调等娱乐、提升乘车体验的应用,实时性要求较低。在一些实施例中,可以通过将执行有实时性要求的任务请求的虚拟机240绑定到一个或多个PCPU,被绑定的PCPU上只运行虚拟机240,而对于执行对实时性要求较低的任务请求的虚拟机250在其对应的VCPU中运行。需要说明的是,与运行虚拟机250的VCPU对应的PCPU和虚拟机240绑定的PCPU是不同的PCPU。如此,虚拟机240在运行的时候不会被调度出去,不需要虚拟机监视器220进行调度,满足实时性的需求。
下面以汽车为例,对本申请提供的虚拟机管理系统进行介绍。图3示出了一种汽车的虚拟机管理系统300的架构图。如图3所示,虚拟机管理系统300包括汽车硬件平台310(例如汽车的PCPU、内存和外部设备等)、汽车的虚拟机监视器320,管理虚拟机330、执行汽车的电子仪表盘相关应用的任务(例如仪表盘信息的显示、数据的采集等)的虚拟机341、执行汽车的信息娱乐系统相关应用的任务(例如GPS卫星导航、播放收音机、DVD等)的虚拟机351以及管理虚拟机330(如Daemon OS)。其中,汽车的电子仪表盘包括车速里程表、转速表、机油压力表、水温表、燃油表、充电表等。
在图3所示的实施例中,管理虚拟机330采用Daemon OS(一种操作系统),以配合汽车的虚拟机监视器320实现对虚拟机的管理。其中,虚拟机330绑定到PCPU0、虚拟机341绑定到PCPU1、虚拟机351绑定到VCPU0和VCPU1。需要说明的是,VCPU0和VCPU1可以共享一个PCPU,也可以被分配到不同的PCPU上,并且该PCPU与PCPU0和PCPU1相互独立。如此,虚拟机341在运行时,无需和其他虚拟机抢占PCPU1的资源,处理速度快,满足用户对于汽车电子仪表盘具有高的实时性的要求,提升汽车性能和用户体验。
可以理解,图3所示的汽车的虚拟机管理系统300中的虚拟机的数量、PCPU及VCPU的数量仅仅是示例性的,在此不做限定。
可以理解,对于汽车领域,虚拟机还可以应用到自动驾驶、网关、车身、能源、底盘以及动力系统等。因此,除了图3所示的执行汽车的电子仪表盘相关应用(例如仪表盘信息的显示、数据的采集等)的虚拟机341、执行汽车的信息娱乐相关应用(例如GPS卫星导航、播放收音机、DVD等)的虚拟机351外,还可以配置一个或多个虚拟机,以实现自动驾驶应用的相关任务、车身应用的相关任务及动力系统应用的相关任务等。
下面以本申请的虚拟机管理方法应用于汽车为例,结合图3所示的汽车的虚拟机管理系统300的架构,对本申请实施例提供的虚拟机管理方法进行详细介绍。如图4所示,具体地,包括:
1)汽车的虚拟机监视器320获取执行汽车的电子仪表盘相关应用的虚拟机341以及执行汽车的信息娱乐系统的相关应用的虚拟机351的属性信息(402)。
具体地,当虚拟机341以及虚拟机351启动后,汽车的虚拟机监视器320可以从虚拟机341以及虚拟机351的配置文件中获取到分别与虚拟机341以及虚拟机351对应的属性信息。在一些实施例中,虚拟机的属性信息可以包括虚拟机的ID、名称、是否具有实时性需求等。例如,与汽车的电子仪表盘对应的虚拟机341的ID为:VMID1;名称为:instrumentboard;RT属性为:true。与汽车的信息娱乐系统对应的虚拟机351的ID为:VMID2;名称为:entertainment;RT属性为:false。
在一些实施例中,可以通过在汽车硬件平台310上实现虚拟机341和虚拟机351的创建。需要说明的是汽车硬件平台310可以是支持虚拟化的硬件平台,例如硬件平台采用基于ARM Cortex-A53的处理器,该硬件平台包括通信设备、高速DMA、UART接口、GPS、蓝牙、照相机和图形处理器(GPU)等等。具体地,可以通过生成与汽车电子仪表盘对应的虚拟机341的镜像文件1,根据镜像文件1创建与汽车电子仪表盘对应的虚拟机341,通过虚拟机341控制汽车电子仪表盘实现信息显示、数据采集等功能;通过生成与汽车的信息娱乐系统对应的虚拟机351的镜像文件2,根据镜像文件2建立与汽车的信息娱乐系统对应的虚拟机351,通过虚拟机351控制汽车的信息娱乐系统实现GPS卫星导航、播放收音机、DVD等功能。
2)汽车的虚拟机监视器320根据获取到的虚拟机341及虚拟机351的属性信息判断虚拟机341及虚拟机351是否具有实时性需求(404)。例如,通过读取虚拟机341的配置文件,发现虚拟机341的RT(Real Time,实时)属性为:true,则确定虚拟机341具有实时性需求;通过读取虚拟机351的配置文件,发现虚拟机351的RT属性为:false,则确定虚拟机351不具有实时性需求。
由于汽车的电子仪表盘需要及时地采集数据信息并进行显示,以供用户判断车速、油量等,则与汽车电子仪表盘对应的虚拟机即需要具有实时性属性,使得执行汽车仪表盘相关任务的虚拟机341能够达到处理速度快、及时响应任务请求的要求。而对于汽车的信息娱乐系统,例如客户想要打开DVD设备并同时使用汽车导航,即便控制DVD设备的虚拟机351和控制汽车导航的虚拟机(未图示)共享同一个CPU计算资源,汽车的虚拟机监视器320在采用调度算法(例如,时间片轮转的方法或优先级调度的方法)来调度DVD设备的虚拟机351和控制汽车导航的虚拟机对应的VCPU对PCPU的占用情况,通过调度产生的相对低的实时性对客户体验的影响较小。
3)在汽车的虚拟机监视器320判断虚拟机341具有实时性需求的情况下,则汽车的虚拟机监视器320为虚拟机341分配单独的PCPU(406)。具体地,如果汽车的虚拟机监视器320通过读取虚拟机341的属性信息,确定虚拟机341具有实时性属性,则将虚拟机34绑定到单独的PCPU,以避免其他虚拟机和虚拟机341共享该PCPU,避免该PCPU参与调度,导致系统实时性能低,提高用户体验。
4)在汽车的虚拟机监视器320判断虚拟机351不具有实时性属性,则汽车的虚拟机监视器320为虚拟机351配置VCPU(408)。具体地,如果汽车的虚拟机监视器320通过读取虚拟机351的属性信息,确定虚拟机351不具有实时性属性,则将虚拟机351配置VCPU(例如图3所示的VCPU0和VCPU1,VCPU0和VCPU1共享PCUP2(未图示))。需要说明的是,VCPU0和VCPU1共享的PCUP2和具有实时性要求的虚拟机341配置的单独的PCPU1为两个独立的处理器。在一些实施例中,汽车的虚拟机监视器320为虚拟机351配置的VCPU0和VCPU1可以按照调度算法(例如优先级调度或时间片轮转的方法)共享PCUP2。可以理解,在具体实现中,为了提高处理速度,还可以将虚拟机351配置三个或更多个数的VCPU,并且VCPU0和VCPU1还可以共享两个或两个以上的PCPU,在此不做限定。
在图4所示的实施例中,通过将有实时性属性的虚拟机(例如与汽车电子仪表盘对应的虚拟机341)配置单独的PCPU;将不具有实时性属性的虚拟机(例如与汽车的信息娱乐系统对应的虚拟机351)配置VCPU,如此,既可以满足用户对于实时要求较高的应用的需求,也可以实现用户丰富的功能体验。
图5根据本申请的一些实施例,提供了一种虚拟机的管理装置500的结构示意图。如图5所示,虚拟机的管理装置500包括:
判断模块502,用于判断在计算机设备上请求启动的虚拟机是否具有实时性需求;
配置模块504,用于在判断出请求启动的虚拟机具有实时性需求的情况下,为虚拟机分配至少一个计算机设备的物理CPU,其中,至少一个物理CPU上将运行仅有该请求启动的虚拟机;在判断出请求启动的虚拟机不具有实时性需求的情况下,为虚拟机分配至少一个虚拟CPU。
可以理解,图5所示的虚拟机的管理装置500与本申请提供的虚拟机的管理方法相对应,以上关于本申请提供的虚拟机的管理方法的具体描述中的技术细节依然适用于图5所示的虚拟机管理装置500,具体描述请参见上文,在此不再赘述。
现在参考图6,所示为根据本申请的一个实施例的系统600的框图。图6示意性地示出了根据多个实施例的示例系统600。在一个实施例中,系统600可以包括一个或多个处理器604,与处理器604中的至少一个连接的系统控制逻辑608,与系统控制逻辑608连接的系统内存612,与系统控制逻辑608连接的非易失性存储器(NVM)616,以及与系统控制逻辑608连接的网络接口620。
在一些实施例中,处理器604可以包括一个或多个单核或多核处理器。在一些实施例中,处理器604可以包括通用处理器和专用处理器(例如,图形处理器,应用处理器,基带处理器等)的任意组合。
在一些实施例中,系统控制逻辑608可以包括任意合适的接口控制器,以向处理器604中的至少一个和/或与系统控制逻辑608通信的任意合适的设备或组件提供任意合适的接口。
在一些实施例中,系统控制逻辑608可以包括一个或多个存储器控制器,以提供连接到系统内存612的接口。系统内存612可以用于加载以及存储数据和/或指令。在一些实施例中系统600的内存612可以包括任意合适的易失性存储器,例如合适的动态随机存取存储器(DRAM)。
NVM/存储器616可以包括用于存储数据和/或指令的一个或多个有形的、非暂时性的计算机可读介质。在一些实施例中,NVM/存储器616可以包括闪存等任意合适的非易失性存储器和/或任意合适的非易失性存储设备,例如HDD(Hard Disk Drive,硬盘驱动器),CD(Compact Disc,光盘)驱动器,DVD(Digital Versatile Disc,数字通用光盘)驱动器中的至少一个。
NVM/存储器616可以包括安装系统600的装置上的一部分存储资源,或者它可以由设备访问,但不一定是设备的一部分。例如,可以经由网络接口620通过网络访问NVM/存储616。
特别地,系统内存612和NVM/存储器616可以分别包括:指令624的暂时副本和永久副本。指令624可以包括:由处理器604中的至少一个执行时导致系统600实施如图4所示的虚拟机管理方法的指令。在一些实施例中,指令624、硬件、固件和/或其软件组件可另外地/替代地置于系统控制逻辑608,网络接口620和/或处理器604中。
网络接口620可以包括收发器,用于为系统600提供无线电接口,进而通过一个或多个网络与任意其他合适的设备(如前端模块,天线等)进行通信。在一些实施例中,网络接口620可以集成于系统600的其他组件。例如,网络接口620可以集成于处理器604的,系统内存612,NVM/存储器616,和具有指令的固件设备(未示出)中的至少一种,当处理器604中的至少一个执行所述指令时,系统600实现如图4所示的虚拟机管理方法。
网络接口620可以进一步包括任意合适的硬件和/或固件,以提供多输入多输出无线电接口。例如,网络接口620可以是网络适配器,无线网络适配器,电话调制解调器和/或无线调制解调器。
在一个实施例中,处理器604中的至少一个可以与用于系统控制逻辑608的一个或多个控制器的逻辑封装在一起,以形成系统封装(SiP)。在一个实施例中,处理器604中的至少一个可以与用于系统控制逻辑608的一个或多个控制器的逻辑集成在同一管芯上,以形成片上系统(SoC)。
系统600可以进一步包括:输入/输出(I/O)设备632。I/O设备632可以包括用户界面,使得用户能够与系统600进行交互;外围组件接口的设计使得外围组件也能够与系统600交互。在一些实施例中,系统600还包括传感器,用于确定与系统600相关的环境条件和位置信息的至少一种。
在一些实施例中,用户界面可包括但不限于显示器(例如,液晶显示器,触摸屏显示器等),扬声器,麦克风,一个或多个相机(例如,静止图像照相机和/或摄像机),手电筒(例如,发光二极管闪光灯)和键盘。
在一些实施例中,外围组件接口可以包括但不限于非易失性存储器端口、音频插孔和电源接口。
在一些实施例中,传感器可包括但不限于陀螺仪传感器,加速度计,近程传感器,环境光线传感器和定位单元。定位单元还可以是网络接口620的一部分或与网络接口620交互,以与定位网络的组件(例如,全球定位系统(GPS)卫星)进行通信。
根据本申请的实施例,图7示出了一种SoC(System on Chip,片上系统)700的框图。在图7中,相似的部件具有同样的附图标记。另外,虚线框是更先进的SoC的可选特征。在图7中,SoC700包括:互连单元750,其被耦合至应用处理器715;系统代理单元770;总线控制器单元780;集成存储器控制器单元740;一组或一个或多个协处理器720,其可包括集成图形逻辑、图像处理器、音频处理器和视频处理器;静态随机存取存储器(SRAM)单元730;直接存储器存取(DMA)单元760。在一个实施例中,协处理器720包括专用处理器,诸如例如网络或通信处理器、压缩引擎、GPGPU、高吞吐量MIC处理器、或嵌入式处理器等等。
本申请公开的机制的各实施例可以被实现在硬件、软件、固件或这些实现方法的组合中。本申请的实施例可实现为在可编程系统上执行的计算机程序或程序代码,该可编程系统包括至少一个处理器、存储系统(包括易失性和非易失性存储器和/或存储元件)、至少一个输入设备以及至少一个输出设备。
可将程序代码应用于输入指令,以执行本申请描述的各功能并生成输出信息。可以按已知方式将输出信息应用于一个或多个输出设备。为了本申请的目的,处理系统包括具有诸如例如数字信号处理器(DSP)、微控制器、专用集成电路(ASIC)或微处理器之类的处理器的任何系统。
程序代码可以用高级程序化语言或面向对象的编程语言来实现,以便与处理系统通信。在需要时,也可用汇编语言或机器语言来实现程序代码。事实上,本申请中描述的机制不限于任何特定编程语言的范围。在任一情形下,该语言可以是编译语言或解释语言。
在一些情况下,所公开的实施例可以以硬件、固件、软件或其任何组合来实现。所公开的实施例还可以被实现为由一个或多个暂时或非暂时性机器可读(例如,计算机可读)存储介质承载或存储在其上的指令,其可以由一个或多个处理器读取和执行。例如,指令可以通过网络或通过其他计算机可读介质分发。因此,机器可读介质可以包括用于以机器(例如,计算机)可读的形式存储或传输信息的任何机制,包括但不限于,软盘、光盘、光碟、只读存储器(CD-ROMs)、磁光盘、只读存储器(ROM)、随机存取存储器(RAM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、磁卡或光卡、闪存、或用于利用因特网以电、光、声或其他形式的传播信号来传输信息(例如,载波、红外信号数字信号等)的有形的机器可读存储器。因此,机器可读介质包括适合于以机器(例如,计算机)可读的形式存储或传输电子指令或信息的任何类型的机器可读介质。
在附图中,可以以特定布置和/或顺序示出一些结构或方法特征。然而,应该理解,可能不需要这样的特定布置和/或排序。而是,在一些实施例中,这些特征可以以不同于说明性附图中所示的方式和/或顺序来布置。另外,在特定图中包括结构或方法特征并不意味着暗示在所有实施例中都需要这样的特征,并且在一些实施例中,可以不包括这些特征或者可以与其他特征组合。
需要说明的是,本申请各设备实施例中提到的各单元/模块都是逻辑单元/模块,在物理上,一个逻辑单元/模块可以是一个物理单元/模块,也可以是一个物理单元/模块的一部分,还可以以多个物理单元/模块的组合实现,这些逻辑单元/模块本身的物理实现方式并不是最重要的,这些逻辑单元/模块所实现的功能的组合才是解决本申请所提出的技术问题的关键。此外,为了突出本申请的创新部分,本申请上述各设备实施例并没有将与解决本申请所提出的技术问题关系不太密切的单元/模块引入,这并不表明上述设备实施例并不存在其它的单元/模块。
需要说明的是,在本专利的示例和说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
虽然通过参照本申请的某些优选实施例,已经对本申请进行了图示和描述,但本领域的普通技术人员应该明白,可以在形式上和细节上对其作各种改变,而不偏离本申请的精神和范围。
Claims (10)
1.一种计算机设备上的虚拟机的管理方法,其特征在于,所述计算机设备具有多个物理CPU;并且
所述方法包括:
判断在所述计算机设备上请求启动的虚拟机是否具有实时性需求;
在判断出请求启动的虚拟机具有实时性需求的情况下,为所述虚拟机分配至少一个所述计算机设备的物理CPU,其中,所述物理CPU上将运行的虚拟机仅有所述请求启动的虚拟机;
在判断出请求启动的虚拟机不具有实时性需求的情况下,为所述虚拟机分配至少一个虚拟CPU。
2.根据权利要求1所述的方法,其特征在于,所述判断在所述计算机设备上请求启动的虚拟机是否具有实时性需求包括:
读取在所述计算机设备上请求启动的虚拟机的属性信息;
基于读取的所述属性信息判断在所述计算机设备上请求启动的虚拟机是否具有实时性需求。
3.根据权利要求1所述的方法,其特征在于,还包括:
为不具有实时性需求的第一虚拟机分配第一虚拟CPU;
为不具有实时性需求的第二虚拟机分配第二虚拟CPU;
其中,所述第一虚拟CPU和所述第二虚拟CPU所在的物理CPU,与为所述具有实时性需求的虚拟机分配的物理CPU相互独立。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述计算机设备包括多个外部设备,所述方法还包括:
所述计算机设备上请求启动的虚拟机能够直接访问所述多个外部设备中的至少一个;或者,所述计算机设备上请求启动的虚拟机能够访问所述计算机设备中模拟出的与多个所述外部设备相对应的多个虚拟设备中的至少一个。
5.一种计算机设备上的虚拟机的管理装置,其特征在于,包括:
判断模块,用于判断在计算机设备上请求启动的虚拟机是否具有实时性需求;
配置模块,用于在判断出请求启动的虚拟机具有实时性需求的情况下,为所述虚拟机分配至少一个所述计算机设备的物理CPU,其中,所述物理CPU上将运行仅有该请求启动的虚拟机;在判断出请求启动的虚拟机不具有实时性需求的情况下,为所述虚拟机分配至少一个虚拟CPU。
6.根据权利要求5所述的管理装置,其特征在于,所述判断模块通过以下方式对在计算机设备上请求启动的虚拟机是否具有实时性需求进行判断:
读取在所述计算机设备上请求启动的虚拟机的属性信息;
基于读取的所述属性信息判断在所述计算机设备上请求启动的虚拟机是否具有实时性需求。
7.根据权利要求5所述的管理装置,其特征在于,所述配置模块还用于:
为不具有实时性需求的第一虚拟机分配第一虚拟CPU;
为不具有实时性需求的第二虚拟机分配第二虚拟CPU;
其中,所述第一虚拟CPU和所述第二虚拟CPU所在的物理CPU,与为所述具有实时性需求的虚拟机分配的物理CPU相互独立。
8.根据权利要求5至7任一项所述的管理装置,其特征在于,所述计算机设备包括多个外部设备,所述虚拟机的管理装置还包括访问控制模块,用于控制所述计算机设备上请求启动的虚拟机能够直接访问所述多个外部设备中的至少一个;或者,控制所述计算机设备上请求启动的虚拟机能够访问所述计算机设备中模拟出的与多个所述外部设备相对应的多个虚拟设备中的至少一个。
9.一种机器可读介质,其特征在于,所述机器可读介质上存储有指令,该指令在机器上执行时使机器执行权利要求1至4中任一项所述的计算机设备上的虚拟机的管理方法。
10.一种系统,包括:
存储器,用于存储由系统的一个或多个处理器执行的指令,以及
处理器,是系统的处理器之一,用于执行权利要求1至4中任一项所述的计算机设备上的虚拟机的管理方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010342390.6A CN111427669A (zh) | 2020-04-27 | 2020-04-27 | 计算机设备上的虚拟机的管理方法、装置、介质和系统 |
PCT/CN2021/090035 WO2021218935A1 (zh) | 2020-04-27 | 2021-04-26 | 计算机设备上的虚拟机的管理方法、装置、介质和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010342390.6A CN111427669A (zh) | 2020-04-27 | 2020-04-27 | 计算机设备上的虚拟机的管理方法、装置、介质和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111427669A true CN111427669A (zh) | 2020-07-17 |
Family
ID=71556965
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010342390.6A Pending CN111427669A (zh) | 2020-04-27 | 2020-04-27 | 计算机设备上的虚拟机的管理方法、装置、介质和系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111427669A (zh) |
WO (1) | WO2021218935A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112235210A (zh) * | 2020-08-27 | 2021-01-15 | 上海赫千电子科技有限公司 | 一种基于车载以太网的多域控制器虚拟机数据通信方法及装置 |
CN112330229A (zh) * | 2020-12-02 | 2021-02-05 | 北京元心科技有限公司 | 资源调度方法、装置、电子设备及计算机可读存储介质 |
CN113419820A (zh) * | 2021-07-02 | 2021-09-21 | 广州市品高软件股份有限公司 | 实时虚拟机的部署方法和云平台 |
CN113537507A (zh) * | 2020-09-02 | 2021-10-22 | 腾讯科技(深圳)有限公司 | 机器学习系统、方法及电子设备 |
WO2021218935A1 (zh) * | 2020-04-27 | 2021-11-04 | 安谋科技(中国)有限公司 | 计算机设备上的虚拟机的管理方法、装置、介质和系统 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114296865B (zh) * | 2021-12-15 | 2024-03-26 | 中汽创智科技有限公司 | 一种虚拟机线程的调度方法、装置、电子设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080189701A1 (en) * | 2007-01-29 | 2008-08-07 | Norimitsu Hayakawa | Computer system |
CN102012835A (zh) * | 2010-12-22 | 2011-04-13 | 北京航空航天大学 | 一种支持软实时应用的虚拟cpu调度方法 |
US20140229940A1 (en) * | 2013-02-14 | 2014-08-14 | General Dynamics C4 Systems, Inc. | Methods and apparatus for synchronizing multiple processors of a virtual machine |
US20160162336A1 (en) * | 2013-08-26 | 2016-06-09 | Vmware, Inc. | Cpu scheduler configured to support latency sensitive virtual machines |
US20180101486A1 (en) * | 2016-10-06 | 2018-04-12 | Vmware, Inc. | Automatic System Service Resource Management for Virtualizing Low-Latency Workloads that are Input/Output Intensive |
US20200034202A1 (en) * | 2018-07-25 | 2020-01-30 | Vmware, Inc. | Virtual processor allocation with execution guarantee |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007148371A1 (ja) * | 2006-06-19 | 2007-12-27 | Nec Corporation | 仮想マシンのための性能管理システムと性能管理方法 |
CN103678003B (zh) * | 2013-12-18 | 2016-08-31 | 华中科技大学 | 一种实时性增强的虚拟cpu调度方法 |
CN111143025B (zh) * | 2019-11-22 | 2023-03-24 | 中国船舶工业系统工程研究院 | 一种针对实时虚拟机实例管理的方法 |
CN111427669A (zh) * | 2020-04-27 | 2020-07-17 | 安谋科技(中国)有限公司 | 计算机设备上的虚拟机的管理方法、装置、介质和系统 |
-
2020
- 2020-04-27 CN CN202010342390.6A patent/CN111427669A/zh active Pending
-
2021
- 2021-04-26 WO PCT/CN2021/090035 patent/WO2021218935A1/zh active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080189701A1 (en) * | 2007-01-29 | 2008-08-07 | Norimitsu Hayakawa | Computer system |
CN102012835A (zh) * | 2010-12-22 | 2011-04-13 | 北京航空航天大学 | 一种支持软实时应用的虚拟cpu调度方法 |
US20140229940A1 (en) * | 2013-02-14 | 2014-08-14 | General Dynamics C4 Systems, Inc. | Methods and apparatus for synchronizing multiple processors of a virtual machine |
US20160162336A1 (en) * | 2013-08-26 | 2016-06-09 | Vmware, Inc. | Cpu scheduler configured to support latency sensitive virtual machines |
US20180101486A1 (en) * | 2016-10-06 | 2018-04-12 | Vmware, Inc. | Automatic System Service Resource Management for Virtualizing Low-Latency Workloads that are Input/Output Intensive |
US20200034202A1 (en) * | 2018-07-25 | 2020-01-30 | Vmware, Inc. | Virtual processor allocation with execution guarantee |
Non-Patent Citations (1)
Title |
---|
尤永康: "《私有云架构设计与实践》", 31 December 2019 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021218935A1 (zh) * | 2020-04-27 | 2021-11-04 | 安谋科技(中国)有限公司 | 计算机设备上的虚拟机的管理方法、装置、介质和系统 |
CN112235210A (zh) * | 2020-08-27 | 2021-01-15 | 上海赫千电子科技有限公司 | 一种基于车载以太网的多域控制器虚拟机数据通信方法及装置 |
CN112235210B (zh) * | 2020-08-27 | 2023-01-10 | 上海赫千电子科技有限公司 | 一种基于车载以太网的多域控制器虚拟机数据通信方法及装置 |
CN113537507A (zh) * | 2020-09-02 | 2021-10-22 | 腾讯科技(深圳)有限公司 | 机器学习系统、方法及电子设备 |
CN112330229A (zh) * | 2020-12-02 | 2021-02-05 | 北京元心科技有限公司 | 资源调度方法、装置、电子设备及计算机可读存储介质 |
CN112330229B (zh) * | 2020-12-02 | 2023-09-22 | 北京元心科技有限公司 | 资源调度方法、装置、电子设备及计算机可读存储介质 |
CN113419820A (zh) * | 2021-07-02 | 2021-09-21 | 广州市品高软件股份有限公司 | 实时虚拟机的部署方法和云平台 |
Also Published As
Publication number | Publication date |
---|---|
WO2021218935A1 (zh) | 2021-11-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111427669A (zh) | 计算机设备上的虚拟机的管理方法、装置、介质和系统 | |
US8166288B2 (en) | Managing requests of operating systems executing in virtual machines | |
CN105830026B (zh) | 用于调度来自虚拟机的图形处理单元工作负荷的装置和方法 | |
Burgio et al. | A software stack for next-generation automotive systems on many-core heterogeneous platforms | |
JP2018531436A (ja) | 自律走行車における処理ノードのデータフローを管理する方法、装置及びシステム | |
EP3195128B1 (en) | Memory management in virtualized environment | |
US20190095220A1 (en) | Multicore framework for use in pre-boot environment of a system-on-chip | |
JP2008530706A (ja) | メモリを1台のバーチャル・マシンからもう一方へダイナミックに再割り当てする方法、装置及びシステム | |
KR102262926B1 (ko) | 차량용 소프트웨어 제어 장치 | |
EP2375324A2 (en) | Virtualization apparatus for providing a transactional input/output interface | |
US20110219373A1 (en) | Virtual machine management apparatus and virtualization method for virtualization-supporting terminal platform | |
Gai et al. | Automotive embedded software architecture in the multi-core age | |
CN112644276B (zh) | 一种屏幕显示方法、车辆及计算机存储介质 | |
CN113778612A (zh) | 基于微内核机制的嵌入式虚拟化系统实现方法 | |
US10430245B2 (en) | Systems and methods for dynamic low latency optimization | |
WO2016176005A1 (en) | Translating operating system processes | |
US9342477B2 (en) | Multi-core processor, controlling method thereof and computer system with such processor | |
CN112330229B (zh) | 资源调度方法、装置、电子设备及计算机可读存储介质 | |
KR101564293B1 (ko) | 장치 가상화 방법 및 장치 | |
CN112486632A (zh) | 一种面向k8s的用户态虚拟设备驱动框架 | |
Joe et al. | Remote graphical processing for dual display of RTOS and GPOS on an embedded hypervisor | |
Kulkarni | Analysis of Process Structure in Windows Operating System | |
CN116258622A (zh) | 一种基于容器的gpu分配方法、装置、电子设备和介质 | |
Kang et al. | Fault-tolerant Scheduler for Shareable Virtualized GPU Resource | |
Shelly | Creating a Unified Runtime Platform: Considerations in Designing Automotive Electronic Systems Using Multiple Operating System Domains |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20200717 |
|
WD01 | Invention patent application deemed withdrawn after publication |