CN106095578B - 基于硬件辅助技术和虚拟cpu运行状态的直接中断递交方法 - Google Patents

基于硬件辅助技术和虚拟cpu运行状态的直接中断递交方法 Download PDF

Info

Publication number
CN106095578B
CN106095578B CN201610415947.8A CN201610415947A CN106095578B CN 106095578 B CN106095578 B CN 106095578B CN 201610415947 A CN201610415947 A CN 201610415947A CN 106095578 B CN106095578 B CN 106095578B
Authority
CN
China
Prior art keywords
virtual
cpu
virtual cpu
hardware
virtual machine
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
CN201610415947.8A
Other languages
English (en)
Other versions
CN106095578A (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.)
Shanghai Jiaotong University
Original Assignee
Shanghai Jiaotong University
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 Shanghai Jiaotong University filed Critical Shanghai Jiaotong University
Priority to CN201610415947.8A priority Critical patent/CN106095578B/zh
Publication of CN106095578A publication Critical patent/CN106095578A/zh
Application granted granted Critical
Publication of CN106095578B publication Critical patent/CN106095578B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/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/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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • 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
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5012Processor sets

Landscapes

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

Abstract

本发明公开了一种基于硬件辅助技术和虚拟CPU运行状态的直接中断递交方法,其特征在于:当SR‑IOV直接分配设备利用MSI/MSI‑X机制向虚拟机产生一个物理中断后,通过分析该虚拟机当前所有虚拟CPU的运行状态和历史运行数据,利用APICv硬件技术和Posted Interrupt硬件技术在不引起VM exit的情况下将该物理中断直接递交至目前正在运行的或者即将最先被调度的虚拟CPU上,从而避免VM exit带来的上下文交换负载和虚拟CPU调度不均引起的中断延时,有效提高虚拟环境下的中断处理效率,获得整体性能的提升。

Description

基于硬件辅助技术和虚拟CPU运行状态的直接中断递交方法
技术领域
本发明涉及虚拟机中断控制领域,尤其涉及一种基于硬件辅助技术和虚拟CPU运行状态的直接中断递交方法。
背景技术
虚拟化技术是当前云计算基础设施架构的重要支撑技术之一,通过在原有的硬件层和操作系统层之间增加一层虚拟机管理层,虚拟化技术将下层硬件资源进行整合抽象并以虚拟资源的形式提供给上层虚拟机使用并确保各个虚拟机之间的隔离性和安全性,允许物理机上的物理资源(CPU,内存,磁盘等)在各个虚拟机上的复用,进而降低运作成本,提高物理资源利用率。现有的云计算数据中心使用虚拟机管理软件,比如VMware,Virtual PC,Virtual Server,Xen,KVM以及Hyper-V,来确保服务器的稳定性、资源管理的灵活性、良好的虚拟机热迁移属性和双机容错性。
基于x86指令集本身的局限,现有的虚拟化技术根据对虚拟机操作系统的修改程度可分为三种:全虚拟化,半虚拟化和硬件辅助虚拟化。全虚拟化技术无需修改虚拟机操作系统,当虚拟机涉及敏感指令操作时将其“陷入”到虚拟机管理层,由虚拟机管理软件进行模拟操作;半虚拟化技术采用更为主动地方法,通过修改虚拟机操作系统代码,将敏感指令操作修改为对虚拟机管理软件的超级调用,由虚拟机管理软件来控制这些操作;硬件辅助虚拟化采用全新的理念,通过为处理器引入新的运行模式和指令,使虚拟机管理软件和虚拟机操作系统处于特权不同的两种操作模式下,虚拟机操作系统处于特权较低的受控模式,涉及到敏感指令的操作在受控模式下会陷入到虚拟机管理软件,极大的提高的虚拟机运行效率。目前最为流行的硬件辅助技术是Intel VT-x技术,增加了虚拟机管理软件所处的根(Root)模式和虚拟机操作系统所处的非根(Non-root)模式。硬件辅助虚拟化技术既能不修改虚拟机操作系统又能实现高效地操作系统转换问题,已经成为了未来的发展趋势。
虚拟化环境下的中断架构与物理环境下的相同,虚拟机管理软件为每个虚拟CPU维护了一个本地虚拟中断控制器(Advanced Programmable Interrupt Controller)用来递交和处理中断。目前最新的中断产生机制是MSI(Message Signaled Interrupt)和它的扩展MSI-X机制,I/O设备使用MSI地址和MSI数据通过一个特定的写操作向虚拟机发出IRQ请求,虚拟机收到以后再将该写操作转化成中断并递交给目的虚拟CPU的中断控制器(LAPIC)。
基于x86现有架构的限制,SR-IOV(Single-Root I/O Virtualization)直接分配设备通过MSI/MSI-X机制产生的物理中断会被虚拟机管理软件(以下简称VMM)截获并导致运行该虚拟机的虚拟CPU产生VM-exit操作。VMM通过修改为该虚拟机维护的虚拟中断控制寄存器的值在下次VM entry时将虚拟中断注入到该虚拟机中。当虚拟机处理完中断后又要通知虚拟中断控制器End Of Interrupt信息,该特权操作会引起第二次VM exit。值得注意的是,每次VM exit涉及的控制流的转移都会带来巨大的上下文切换开销,从而造成中断处理效率的下降和延迟的增加。另外,在目前被广泛使用的对称多处理架构中,每个虚拟机持有多个虚拟CPU,VMM调度器需要全局动态的调度各个虚拟CPU运行在物理CPU上,如果一个处于等待调度状态的虚拟CPU接收到中断请求,那必然会增加该中断的处理延时。综上所述,从I/O设备产生中断到最终的中断处理函数被触发需要经过很长一段时间,VM-exit和虚拟CPU调度延时是造成I/O虚拟化瓶颈的重要原因。
现有的一些硬件技术可以通过消除VM exit数量在一定程度上降低I/O处理延迟,最新的Intel APICv技术和Posted-Interrupt机制将原有的由VMM为各个虚拟机维护的虚拟中断控制单元实现在硬件层面并将其直接映射到为虚拟机维护的虚拟APIC页内,由硬件直接递交中断。APICv技术虽然可以消除VM exit,但在硬件层面进行中断递交时没有考虑当前目的虚拟CPU的运行状态,所以由于虚拟CPU调度不及时引起的中断延时仍然存在。因此在实际的系统中仍然存在相当的局限性。
因此,本领域的技术人员致力于开发一种基于硬件辅助技术和虚拟CPU运行状态的直接中断递交方法,用来解决现有的虚拟机中断递交和处理机制缺陷造成的I/O响应延迟以及虚拟CPU负载过高的问题。
发明内容
有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是虚拟机中断递交和处理机制缺陷造成的I/O响应延迟以及虚拟CPU负载过高。
为实现上述目的,本发明提供了一种基于硬件辅助技术和虚拟CPU运行状态的直接中断递交方法,包括如下步骤:
步骤1:当SR-IOV直接分配设备通过MSI/MSI-X机制产生一个物理中断后,所述物理中断首先经由IOMMU进行中断重映射,然后由硬件通过直接修改虚拟中断目的虚拟CPU的PID描述符对应位;
步骤2:VMM使用特定的中断向量向目的虚拟CPU所在的物理CPU发送通知事件告知所述物理中断的到来;
步骤3:物理CPU收到所述通知事件并从所述PID描述符里取出所述物理中断的信息进行处理;
步骤4:中断递交器在所述物理中断被递交到目的虚拟CPU之前将所述物理中断拦截;
步骤5:所述中断递交器根据VMM调度器中该虚拟机的所有虚拟CPU的调度信息,动态确定出该虚拟机当前正在运行的虚拟CPU,如果没有,则选择即将最先被调度的虚拟CPU;
步骤6:所述中断递交器通知硬件根据步骤1将所述物理中断直接递交至步骤5中选择的虚拟CPU,并依次执行步骤2和步骤3。
进一步地,所述步骤2前插入
步骤2-1:将所述物理中断信息直接写入硬件为各个虚拟CPU维护的虚拟APIC页内。
进一步地,所述步骤5中所述动态确定采用基于KVM的CFS调度算法。
进一步地,所述步骤5只记录中断递交时正在运行的虚拟CPU,并不改动VMM或虚拟机操作系统,对虚拟机完全透明。
本发明提供一种基于硬件辅助技术和虚拟CPU运行状态的直接中断递交方法,利用最新的APICv硬件技术和Posted Interrupt机制,结合对虚拟CPU的运行状态的全局把握与分析,将中断直接递交到正在运行的或离物理CPU最近的虚拟CPU上,同时考虑各个虚拟CPU的中断处理负载均衡,有效的降低了从中断产生到中断处理函数被触发之间的延时,提高虚拟化环境下的中断处理效率。
与现有技术相比,本发明提供的基于硬件辅助技术和虚拟CPU运行状态的直接中断递交方法具有以下有益的技术效果:
(1)利用最新的硬件辅助技术,将中断信息直接写入硬件为各个虚拟CPU维护的虚拟APIC页内,再由VMM所在的物理CPU向中断目的虚拟CPU所在的物理CPU发送通知事件,减少了传统中断处理过程带来的多次VM exit操作,极大地降低了中断延时,获得了整体性能的提升。
(2)基于KVM的CFS(Completely Fair Schedule)调度算法将每个虚拟CPU视为普通进程进行完全公平的调度,引入“虚拟运行时间”概念,采用红黑树来构建一个未来的进程执行的“时间轴”并且根据进程已经占用的CPU时间来动态更新红黑树的键值,每次挑选树中处于最左边的虚拟CPU进程执行的特点,将物理中断信息直接递交至该虚拟机当前正在运行的虚拟CPU,从而进一步中断目的CPU调度不当引起的中断处理延时。
(3)由于本发明的方案只需要记录中断递交时正在运行的虚拟CPU,并不要求VMM或虚拟机操作系统的其他改动,对虚拟机完全透明。
(4)虚拟化环境下的中断处理时造成I/O虚拟化瓶颈的重要原因,本发明有效消除了从中断产生到具体中断处理函数被调用之间的所有延时,使得虚拟机的I/O响应速率得到很大提高。
以下将结合附图对本发明的构思、具体结构及产生的技术效果作进一步说明,以充分地了解本发明的目的、特征和效果。
附图说明
图1是传统的虚拟化环境下的中断处理流程示意图;
图2是虚拟化环境下基于硬件辅助技术的中断处理流程示意图;
图3是本发明的一个较佳实施例的虚拟化环境下中断处理流程示意图。
具体实施方式
以下将结合附图对本发明的构思、具体结构及产生的技术效果作进一步说明,以充分地了解本发明的目的、特征和效果。
图1是传统的虚拟化环境下的中断处理流程示意图。在虚拟化环境下,SR-IOV直接分配设备通过MSI/MSI-X机制产生的物理中断会被VMM截获并导致运行该虚拟机的虚拟CPU产生VM-exit操作。VMM通过修改为该虚拟机维护的虚拟中断控制寄存器和VMCS(VirtualMachine Control Structure)的值在下次VM entry时将虚拟中断注入到该虚拟机中。当虚拟机处理完中断后又要通知虚拟中断控制器End Of Interrupt信息,该特权操作会引起第二次VM exit。最后VMM完成EOI写操作并重启虚拟机。
图2是虚拟化环境下基于硬件辅助技术的中断处理流程示意图;APICv技术为在每个虚拟机的VMCS数据结果中维护了一个虚拟APIC页和PID(Posted InterruptDescriptor)描述符,将原有的由VMM为每个虚拟机维护的虚拟中断控制器实现在了硬件层面,当SR-IOV直接分配设备通过MSI/MSI-X机制产生一个物理中断后,该中断直接由硬件递交至目的虚拟CPU并修改该虚拟机的PID描述符对应位,同时由VMM向该虚拟CPU所在的物理CPU发出一个特殊的事件通知中断的到来,最后虚拟机从该页中取出中断信息直接进行处理。
图3是本发明的一个实施例的虚拟化环境下中断处理流程示意图。与现有的虚拟化环境下中断处理流程相比,本实施例的中断处理流程中采用了最新的APICv硬件辅助技术,并在硬件层面与虚拟机之间增加了中断递交器。
中断递交器从VMM的调度器中(本发明采用KVM的CFS调度器)获得当前中断目的虚拟机的所有虚拟CPU的运行状态和调度信息。当SR-IOV直接分配设备通过MSI/MSI-X机制产生一个物理中断后,中断递交器截获此中断,通过从调度器里获得的虚拟CPU的运行信息,直接将中断递交至当前正在运行的虚拟CPU上,即修改该虚拟CPU的PID描述符对应位,同时由VMM向该虚拟CPU所在的物理CPU发出一个特殊的事件通知中断的到来,最后虚拟机从该页中取出中断信息直接进行处理。
本发明基于硬件辅助技术和虚拟CPU运行状态的直接中断递交方法具体步骤如下:
步骤1:当SR-IOV直接分配设备通过MSI/MSI-X机制产生一个物理中断后(如果是SR-IOV直接分配设备产生的中断,需要经由IOMMU进行中断重映射),由硬件直接修改虚拟中断目的虚拟CPU的PID描述符对应位从而将该中断递交至目的虚拟CPU;
步骤2:VMM使用特定的中断向量(Notification Event Vector)向目的虚拟CPU所在的物理CPU发送通知事件告知中断到来;
步骤3:物理CPU收到通知并从PID描述符里取出中断信息进行处理;
步骤4:中断递交器在物理中断被递交到目的虚拟CPU之前将物理中断拦截;
步骤5:中断递交器根据VMM调度器中该虚拟机的所有虚拟CPU的调度信息,动态确定出该虚拟机当前正在运行的虚拟CPU,如果当前没有虚拟CPU在运行,选择即将最先被调度的虚拟CPU;
步骤6:中断递交器通知硬件根据步骤1将中断直接递交至步骤5中选择的虚拟CPU,并依次执行步骤2、3;
本发明提供的基于硬件辅助技术和虚拟CPU运行状态的直接中断递交方法,利用最新的APICv硬件技术,将中断信息直接写入硬件为各个虚拟CPU维护的虚拟APIC页内,再由VMM所在的物理CPU向中断目的虚拟CPU所在的物理CPU发送通知事件,减少了传统中断处理过程带来的多次VM exit操作。基于KVM的CFS(Completely Fair Schedule)调度算法将物理中断信息直接递交至该虚拟机当前正在运行的虚拟CPU,本发明有效消除了从中断产生到具体中断处理函数被调用之间的所有延时,使得虚拟机的I/O响应速率得到很大提高,获得了整体性能的提升。
以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。

Claims (3)

1.一种基于硬件辅助技术和虚拟CPU运行状态的直接中断递交方法,其特征在于,包括如下步骤:
步骤1:当SR-IOV直接分配设备通过MSI/MSI-X机制产生一个物理中断后,所述物理中断首先经由IOMMU进行中断重映射,然后由硬件直接修改中断目的虚拟CPU的PID描述符对应位;
步骤2:将所述物理中断信息直接写入硬件为各个虚拟CPU维护的虚拟APIC页内,VMM使用Notification Event Vector向目的虚拟CPU所在的物理CPU发送通知事件告知所述物理中断的到来;
步骤3:物理CPU收到所述通知事件并从所述PID描述符里取出所述物理中断的信息进行处理;
步骤4:中断递交器在所述物理中断被递交到目的虚拟CPU之前将所述物理中断拦截;
步骤5:所述中断递交器根据VMM调度器中该虚拟机的所有虚拟CPU的调度信息,动态确定出该虚拟机当前正在运行的虚拟CPU,如果没有,则选择即将最先被调度的虚拟CPU;
步骤6:所述中断递交器通知硬件根据步骤1将所述物理中断直接递交至步骤5中选择的虚拟CPU,并依次执行步骤2和步骤3。
2.如权利要求1所述的基于硬件辅助技术和虚拟CPU运行状态的直接中断递交方法,其特征在于,所述步骤5中所述动态确定采用基于KVM的CFS调度算法。
3.如权利要求1所述的基于硬件辅助技术和虚拟CPU运行状态的直接中断递交方法,其特征在于,所述步骤5只记录中断递交时正在运行的虚拟CPU,并不改动VMM或虚拟机操作系统,对虚拟机完全透明。
CN201610415947.8A 2016-06-14 2016-06-14 基于硬件辅助技术和虚拟cpu运行状态的直接中断递交方法 Active CN106095578B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610415947.8A CN106095578B (zh) 2016-06-14 2016-06-14 基于硬件辅助技术和虚拟cpu运行状态的直接中断递交方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610415947.8A CN106095578B (zh) 2016-06-14 2016-06-14 基于硬件辅助技术和虚拟cpu运行状态的直接中断递交方法

Publications (2)

Publication Number Publication Date
CN106095578A CN106095578A (zh) 2016-11-09
CN106095578B true CN106095578B (zh) 2019-04-09

Family

ID=57845364

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610415947.8A Active CN106095578B (zh) 2016-06-14 2016-06-14 基于硬件辅助技术和虚拟cpu运行状态的直接中断递交方法

Country Status (1)

Country Link
CN (1) CN106095578B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108241522B (zh) * 2016-12-27 2022-05-17 阿里巴巴集团控股有限公司 虚拟化环境中的睡眠状态切换方法、装置及电子设备
CN107294806B (zh) * 2017-06-26 2021-02-09 苏州浪潮智能科技有限公司 一种基于Hyper-v系统的SRIOV测试方法及系统
CN109144679B (zh) * 2017-06-27 2022-03-29 华为技术有限公司 中断请求的处理方法、装置及虚拟化设备
CN108123850B (zh) 2017-12-25 2020-04-24 上海交通大学 针对中断持有者抢占问题的综合调度方法及装置
EP3924818A1 (en) 2019-02-14 2021-12-22 International Business Machines Corporation Directed interrupt for multilevel virtualization
EP3924821A1 (en) 2019-02-14 2021-12-22 International Business Machines Corporation Directed interrupt virtualization with running indicator
TWI759677B (zh) 2019-02-14 2022-04-01 美商萬國商業機器公司 用於具有回退之經引導中斷虛擬化之方法、電腦系統及電腦程式產品
CN111124608B (zh) * 2019-12-17 2023-03-21 上海交通大学 一种面向多核虚拟机的精确低延迟中断重定向方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103744716A (zh) * 2014-01-15 2014-04-23 上海交通大学 一种基于当前vcpu调度状态的动态中断均衡映射方法
CN104598298A (zh) * 2015-02-04 2015-05-06 上海交通大学 基于虚拟机当前工作性质以及任务负载的虚拟机调度算法
WO2015184913A1 (zh) * 2014-06-04 2015-12-10 华为技术有限公司 中断信息的处理方法、虚拟机监控器及中断控制器

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103744716A (zh) * 2014-01-15 2014-04-23 上海交通大学 一种基于当前vcpu调度状态的动态中断均衡映射方法
WO2015184913A1 (zh) * 2014-06-04 2015-12-10 华为技术有限公司 中断信息的处理方法、虚拟机监控器及中断控制器
CN104598298A (zh) * 2015-02-04 2015-05-06 上海交通大学 基于虚拟机当前工作性质以及任务负载的虚拟机调度算法

Also Published As

Publication number Publication date
CN106095578A (zh) 2016-11-09

Similar Documents

Publication Publication Date Title
CN106095578B (zh) 基于硬件辅助技术和虚拟cpu运行状态的直接中断递交方法
Landau et al. {SplitX}: Split {Guest/Hypervisor} Execution on {Multi-Core}
Suzuki et al. {GPUvm}: Why Not Virtualizing {GPUs} at the Hypervisor?
TWI516958B (zh) 用於處理器加速器介面的虛擬化的處理器、系統及方法
Gordon et al. Towards exitless and efficient paravirtual I/O
Song et al. Schedule processes, not VCPUs
CN103744716B (zh) 一种基于当前vcpu调度状态的动态中断均衡映射方法
US9772868B2 (en) Method and system for handling interrupts in a virtualized environment
CN106844007A (zh) 一种基于空间复用的虚拟化方法与系统
US9747123B2 (en) Technologies for multi-level virtualization
KR20160033517A (ko) 인터럽트 컨트롤러를 위한 하이브리드 가상화 방법
US10049064B2 (en) Transmitting inter-processor interrupt messages by privileged virtual machine functions
US8880764B2 (en) Pessimistic interrupt affinity for devices
US9715403B2 (en) Optimized extended context management for virtual machines
Lv et al. Virtualization challenges: a view from server consolidation perspective
CN107038061B (zh) 一种基于numa和硬件辅助技术的高效网络io处理方法
WO2018040845A1 (zh) 一种计算资源调度方法及装置
US11099884B2 (en) Dynamic control of halt polling based on receiving a monitoring instruction executed by a guest
US10474616B2 (en) Asynchronous mapping of hot-plugged device associated with virtual machine
WO2015062199A1 (zh) 一种虚拟处理器之间的中断的实现方法、相关装置和系统
US20140229938A1 (en) Counter for Fast Interrupt Register Access in Hypervisors
CN106789337B (zh) 一种kvm的网络性能优化方法
Ma et al. Performance Tuning Towards a KVM-based Embedded Real-Time Virtualization System.
Liu et al. Understanding the virtualization" Tax" of scale-out pass-through GPUs in GaaS clouds: An empirical study
Gao et al. Building a virtual machine-based network storage system for transparent computing

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