CN104618158A - 嵌入式网络虚拟化环境中VirtIO网络虚拟化工作方法 - Google Patents

嵌入式网络虚拟化环境中VirtIO网络虚拟化工作方法 Download PDF

Info

Publication number
CN104618158A
CN104618158A CN201510044201.6A CN201510044201A CN104618158A CN 104618158 A CN104618158 A CN 104618158A CN 201510044201 A CN201510044201 A CN 201510044201A CN 104618158 A CN104618158 A CN 104618158A
Authority
CN
China
Prior art keywords
virtio
network
client computer
queue
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201510044201.6A
Other languages
English (en)
Other versions
CN104618158B (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 CN201510044201.6A priority Critical patent/CN104618158B/zh
Publication of CN104618158A publication Critical patent/CN104618158A/zh
Application granted granted Critical
Publication of CN104618158B publication Critical patent/CN104618158B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Computer And Data Communications (AREA)

Abstract

本发明提供了一种嵌入式网络虚拟化环境中VirtIO网络虚拟化工作方法,其针对VirtIO的前端驱动程序,对VirtIO网络引入延迟机制,使客户机在进行网络数据I/O时并不立刻将控制权移交给宿主机,而是将数据缓存到队列里,经过一定的时间后再进行上下文切换,通知宿主机从缓存队列获取数据。本发明显著地减少了客户机和宿主机上下文切换的次数,节省了大量的CPU资源以处理更多的网络I/O。通过实验可以发现,在设置一定的时间延迟内,网络吞吐量最大有3倍以上的提升。

Description

嵌入式网络虚拟化环境中VirtIO网络虚拟化工作方法
技术领域
本发明涉及嵌入式系统,具体地,涉及嵌入式网络虚拟化环境中VirtIO前端驱动程序设计方法。
背景技术
嵌入式系统是执行少数任务的专用系统,与传统x86平台不同,嵌入式环境具有功耗低、计算能力较弱等特点,具有不同的性能模型。嵌入式系统需要频繁的与物理世界进行频繁的交互,但由于嵌入式系统的资源限制,在嵌入式虚拟化环境下I/O虚拟化的性能成为了嵌入式虚拟化技术的重要技术指标。在嵌入式虚拟化环境中,I/O虚拟化的性能需要保证硬件设备的整体性能在一定的扩展范围内稳定,能够满足各个虚拟机的资源需求。
在传统的系统结构中,I/O设备连接到PCI总线上,PCI设备通过PCI配置空间以及设备地址空间与操作系统进行交互,通过中断机制通知反馈操作系统。虚拟化环境中,软件通过截获Guest PIO和MMIO请求截获,通过硬件虚拟化扩展转发给上层;模拟结束后再将结果通过中断反馈到Guest中。
目前有三种主流的I/O设备虚拟化方案,用来实现I/O设备的虚拟化:一是完全虚拟化方式,I/O设备完全由虚拟机平台进行模拟,其驱动不需要修改。虚拟机平台对虚拟机完全透明,虚拟机只需要调用原生系统中的设备驱动,直接操作下层的虚拟硬件,具体的指令陷入由VMM完成解释和执行。I/O完全虚拟化方式最大的弊端在于处理器特权级地切换,即从Guest OS到VMM、VMM到模拟用户程序的I/O进程之间切换,严重影响了虚拟化效率,需要消耗大量的CPU指令周期;二是半虚拟化方式,虚拟机系统中集成专用的虚拟机设备驱动,访问I/O设备需采用虚拟机中提供的虚拟设备。由于其驱动为虚拟设备专用,所以客户机系统需要进行修改。当应用程序提出访问请求时,前后端驱动共同配合完成访问。半虚拟化方式的I/O虚拟化拥有较好的性能,但是其不足之处在于虚拟机需要修改系统驱动,实现前后端驱动的对应;三是硬件支持的虚拟化,通过硬件的支持,虚拟机系统可以在VMM授权后,不经VMM的请求转发,实现对硬件设备的直接访问。硬件支持的虚拟化方式是未来虚拟化发展的一个方向,但是其广泛的应用仍然有赖于硬件设备的探索与发展。
1.1、KVM/ARM
ARM体系结构过去在指令集上认为是不可虚拟化的(G.J.Popek and R.P.Goldberg.Formal Requirements for Virtualizable Third Generation Architectures.Communications of the ACM,17(7):412–421,July 1974),ARM在最新的ARMv7和ARMv8架构中引入了硬件虚拟化扩展,包括对CPU,内存,中断以及计时器虚拟化的硬件支持扩展。嵌入式系统的虚拟化研究,Christoffer Dall和Jason Nieh等已进行了系统的研究,实现了第一个ARM系统的虚拟化解决方案KVM/ARM,KVM/ARM已被并入到Linux 3.9内核中。
KVM/ARM基于已有的x86平台下解决方案KVM,与x86平台相比,ARM平台缺少标准BIOS或PCI总线的硬件自动识别,而Linux被设计于运行于几乎所有的ARM平台上。通过与KVM结合,KVM/ARM可以不加修改的运行在各个ARM平台上,这与Xen ARM形成对比:Xen ARM直接运行在硬件层,必须针对各个不同的ARM平台编写不同的平台代码。
ARM虚拟化硬件扩展被设计用于独立运行于硬件的虚拟机监控程序,因此KVM/ARM采用了分离模式的设计,该设计使得KVM既能够利用已有KVM代码,又可以充分利用ARM虚拟化硬件扩展的特性,架构如图1所示。
KVM/ARM分为Highvisor和Lowvisor两个模块,Highvisor运行在PL1级别,即宿主机内核中,负责集成和利用已有的KVM代码,例如可以直接使用Linux Kernel中较为成熟的调度模块,可以使用Linux Kernel中标准的数据结构;Lowvisor运行在CPU PL2级别,即Hyp级别,Lowvisor充分利用ARM虚拟化硬件扩展的特性,配置正确的执行环境。KVM/ARM的分离模式允许其可以运行在不经修改的内核中。
1.2、VirtIO PV Driver
VirtIO是半虚拟化解决方案中位于设备之上的设备层,是对通用模拟设备的抽象;通过应用编程接口连接客户机操作系统及虚拟机监控程序(Hypervisor)。
VirtIO的驱动程序架构抽象如图2所示,VirtIO架构包括前端驱动程序和后端驱动程序,其前端驱动程序包括块设备,网络设备,PCI设备以及balloon驱动程序,每个前端驱动程序包含一个对应的后端程序,VirtIO的软件层次如图3所示,其中VirtIO-net(半虚拟化网卡)提供了网络设备共享的接口,为Guest和Qemu提供了高效的IO通道,以共享内存的数据传输方式为Guest提供了高效的网络IO性能。
在VirtIO网络虚拟化中,虚拟网络设备维护了一个vring队列的数据结构,以进行数据收发和配置空间访问。客户机在进行网络I/O时,VirtIO-net前端驱动以读写数据方式写入vring队列,然后通过VirtIO-pci硬件寄存器通知宿主机,该步骤称为kick操作。宿主机截获通知信息并从vring队列中读写请求,处理完毕后将结果添加到vring队列并发送中断给客户机。该过程的流程图如图4所示,从该过程可以看出,客户机每次发送数据时,需要执行一次kick操作,从客户机切换到虚拟机监控程序KVM,再从虚拟机监控程序切换回客户机并触发中断。
1.3、网络性能评估
网络性能评估中一个重要的指标是网络的吞吐量,吞吐量是每秒中可以发送/传输多少字节数据。发明人针对不同虚拟机数量的情况下对网络吞吐量进行了测试,具体方法为,运行一定数量的虚拟机,使用netperf网络性能测试工具进行批量数据传输测试,该测试结果反映的是一个系统能够以多快的速度发送数据,另一个系统能够以多快的速度接收数据。在实验过程中,发明人记录了客户机的数量与网络的吞吐量,CPU使用率之间的关系,其结果如图5所示。
从实验结果可以看出,随着虚拟机数量的增加,CPU利用率接近饱和,网络总体的吞吐量保持稳定。这个瓶颈表现为客户机数量在2个及以上时CPU利用率完全饱和,也就是说,系统无法迅速地处理更多的数据包,而且几乎全部的CPU时钟都被用于处理网络数据收发,在这个过程中,主要为客户机和宿主机切换(VM Exit)所产生的开销。
发明内容
针对现有技术中的缺陷,本发明提出了一种在嵌入式网络虚拟化环境中优化网络吞吐量的方法。该方法借鉴了网卡中断节制技术,网卡中断节制技术是硬件网卡层面中的一种技术。在网络繁忙的情况下,中断带来的CPU上下文切换的开销非常大,CPU容易达到满负荷中断,产生中断淹没现象,使得CPU成为瓶颈,而网卡中断节制技术所采取的策略为当收到数据后并不立即产生中断,而是经过一定的时间后再产生中断请求;这项技术避免频繁的中断占用CPU资源并有效地降低了CPU利用率,优化了网络吞吐率。
根据本发明提供的一种嵌入式网络虚拟化环境中VirtIO网络虚拟化工作方法,针对VirtIO的前端驱动程序,对VirtIO网络引入延迟机制,使客户机在进行网络数据I/O时并不立刻将控制权移交给宿主机,而是将数据缓存到队列里,经过一定的时间后再进行上下文切换,通知宿主机从缓存队列获取数据。
优选地,包括如下步骤:
步骤0:设置VirtIO前端驱动程序中计时器的计时时间;
步骤1:当客户机发送数据包时,客户机kernel调用VirtIO前端驱动程序将数据写在vring队列;
步骤2:判断计时器是否已启动,若已启动开始计时,则跳转到步骤4;若尚未开始计时,则启动计时器,进入步骤3;
步骤3:计时器的计时时间结束后,客户机执行超级调用hypercall通知宿主机,客户机切换到虚拟机监控程序,虚拟机监控程序从vring队列取出数据,处理完毕后将结果添加到vring队列并发送中断给客户机;
步骤4:此次调用结束。
根据本发明提供的一种嵌入式网络虚拟化环境中VirtIO网络虚拟化工作方法,包括如下步骤:
步骤0:设置VirtIO前端驱动程序中计时器的计时时间;
步骤1:当客户机发送数据包时,客户机kernel调用VirtIO前端驱动程序将数据写在vring队列;
步骤2:判断计时器是否已启动,若已启动开始计时,则跳转到步骤4;若尚未开始计时,则启动计时器,进入步骤3;
步骤3:计时器的计时时间结束后,客户机执行超级调用hypercall通知宿主机,客户机切换到虚拟机监控程序,虚拟机监控程序从vring队列取出数据,处理完毕后将结果添加到vring队列并发送中断给客户机;
步骤4:此次调用结束。
与现有技术相比,本发明具有如下的有益效果:
本发明主要涉及的一个发明点就是借鉴了网卡中断节制技术,改进VirtIO的前端驱动程序,对VirtIO网络引入延迟机制。通过该发明点的作用,客户机在进行网络数据I/O时并不立刻将控制权移交给宿主机,而是将数据缓存到队列里,经过一定的时间后再进行上下文切换,通知宿主机从缓存队列获取数据,从而显著地减少了客户机和宿主机上下文切换的次数,节省了大量的CPU资源以处理更多的网络I/O。通过实验可以发现,在设置一定的时间延迟内,网络吞吐量最大有3倍以上的提升。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为KVM/ARM架构图。
图2为VirtIO的驱动程序架构抽象图。
图3为VirtIO的软件层次图。
图4为VirtIO的工作流程图。
图5为客户机的数量与网络的吞吐量之间的关系图。
图6为前端驱动改进后的VirtIO-net的工作流程图。
图7为传统VirtIO-net在不同数量虚拟机情况下,网络的吞吐量。
图8为本发明中改进的VirtIO-net在6台虚拟机情况下,延迟时间在0到30毫秒的情况下的网络吞吐量。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进。这些都属于本发明的保护范围。
在嵌入式虚拟化环境中,相比于x86环境下CPU资源更为宝贵,网络I/O频繁时客户机和宿主机的上下文切换消耗了大量的CPU资源,因此本发明借鉴了网卡中断节制技术,对VirtIO的前端驱动程序进行了改进,客户机在进行网络数据I/O时并不立刻将控制权移交给宿主机,而是将数据缓存到队列里,经过一定的时间后再进行上下文切换,通知宿主机从缓存队列获取数据。引入延迟机制的VirtIO网络虚拟化工作原理如图6所示。
前端驱动程序被修改后的VirtIO网络虚拟化工作步骤如下:
步骤1):当客户机发送数据包时,客户机kernel调用VirtIO前端驱动程序将数据写在vring队列;其中,客户机kernel,是指:在物理机上运行的虚拟机的操作系统的内核,由操作系统中用于管理存储器、文件、外设和系统资源的那些部分组成。
步骤2):判断计时器是否启动,若已启动,则跳转到步骤(4);若没开始计时,则启动计时器。
步骤3):计时器的计时时间结束后,客户机执行hypercall通知宿主机,客户机切换到虚拟机监控程序,虚拟机监控程序从vring队列取出数据,处理完毕后将结果添加到vring队列并发送中断给客户机,其中,hypercall是指超级调用,其只能由内核来调用,而应用程序是无法直接调用的。
步骤4):此次调用结束。
这样在时钟控制的时间间隔内,多次网络I/O请求被聚合成一次请求,减少了客户机与虚拟机监控程序上下文切换的次数,降低了CPU开销。
为使本发明的目的、技术方案和有点更加清楚,下面将结合附图及一个具体实施例对本发明作进一步地详细描述。
图6-8为本发明的一个具体实施例,其中:
在本实施例中,发明人使用了配有Exynos 5250处理器(双核1.7GHz,Cortex A15CPU),800MHz、2GB DDR3内存的Samsung chromebook笔记本电脑,系统采用12.04版本的Ubuntu,网络性能测试工具采用netperf,运行6个虚拟机,分别进行批量TCP、UDP数据传输测试。由于内存的限制,当虚拟机的数量超过6个时,宿主机会自动关闭过多的虚拟机,所以这里发明人只运行6个虚拟机。
该具体实施例中,改进后的VirtIO-net的虚拟化工作步骤如下:
步骤1:设置VirtIO前端驱动程序中计时器开始计时时间,用于确定在后续步骤中客户机将控制权移交给宿主机的时间;
步骤2:运行的6个虚拟机各自发送TCP(UDP)数据包;
步骤3:6个虚拟机的各自的虚拟机kernel调用VirtIO前端驱动程序,将数据写在vring队列;其中,虚拟机kernel,是指:虚拟机中的操作系统的内核,由操作系统中用于管理存储器、文件、外设和系统资源的那些部分组成;
步骤4:判断步骤1中的计时器是否启动,若已启动则跳转到步骤6,若没开始计时,则启动计时器;
步骤5:计时时间结束后,6个虚拟机执行hypercall通知宿主机;其中,计时时间是指设置的延迟时间,即客户机在进行网络I/O时,没有立即将控制权移交给宿主机,而是延迟了一段的时间;
步骤6:步骤2中的6个虚拟机切换到虚拟机监控程序,虚拟机监控程序从vring队列取出数据,处理完毕后将结果添加到vring队列并发送中断给客户机;
步骤7:此次调用结束。
图7为传统VirtIO-net在不同数量虚拟机情况下,网络的吞吐量。横轴为虚拟机的个数,竖轴是网络吞吐量(MB/s)。可以看到,当虚拟机的个数为6时,网络的吞吐量分别大约为400MB/s(UDP),140MB/s(TCP)。
图8为改进的VirtIO-net在6台虚拟机情况下,延迟时间在0到30毫秒的情况下的网络吞吐量。横轴是延迟时间,单位为毫秒;竖轴是网络吞吐量(MB/s)。可以看出,和用相同参数的传统VirtIO-net相比,改进后的VirtIO-ne将延迟设置为3到10ms时网络吞吐量有最大3倍以上的提升,这是因为通过延迟kick操作,减少VM Exit数量,提高了CPU的利用效率。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影响本发明的实质内容。

Claims (2)

1.一种嵌入式网络虚拟化环境中VirtIO网络虚拟化工作方法,其特征在于,针对VirtIO的前端驱动程序,对VirtIO网络引入延迟机制,使客户机在进行网络数据I/O时并不立刻将控制权移交给宿主机,而是将数据缓存到队列里,经过一定的时间后再进行上下文切换,通知宿主机从缓存队列获取数据。
2.一种嵌入式网络虚拟化环境中VirtIO网络虚拟化工作方法,其特征在于,包括如下步骤:
步骤0:设置VirtIO前端驱动程序中计时器的计时时间;
步骤1:当客户机发送数据包时,客户机kernel调用VirtIO前端驱动程序将数据写在vring队列;
步骤2:判断计时器是否已启动,若已启动开始计时,则跳转到步骤4;若尚未开始计时,则启动计时器,进入步骤3;
步骤3:计时器的计时时间结束后,客户机执行超级调用hypercall通知宿主机,客户机切换到虚拟机监控程序,虚拟机监控程序从vring队列取出数据,处理完毕后将结果添加到vring队列并发送中断给客户机;
步骤4:此次调用结束。
CN201510044201.6A 2015-01-28 2015-01-28 嵌入式网络虚拟化环境中VirtIO网络虚拟化工作方法 Active CN104618158B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510044201.6A CN104618158B (zh) 2015-01-28 2015-01-28 嵌入式网络虚拟化环境中VirtIO网络虚拟化工作方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510044201.6A CN104618158B (zh) 2015-01-28 2015-01-28 嵌入式网络虚拟化环境中VirtIO网络虚拟化工作方法

Publications (2)

Publication Number Publication Date
CN104618158A true CN104618158A (zh) 2015-05-13
CN104618158B CN104618158B (zh) 2018-05-04

Family

ID=53152449

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510044201.6A Active CN104618158B (zh) 2015-01-28 2015-01-28 嵌入式网络虚拟化环境中VirtIO网络虚拟化工作方法

Country Status (1)

Country Link
CN (1) CN104618158B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105373512A (zh) * 2015-12-25 2016-03-02 曙光信息产业(北京)有限公司 用于虚拟化环境的通信协议的实现方法和装置
CN105868000A (zh) * 2016-06-14 2016-08-17 上海交通大学 一种针对网络i/o虚拟化的并行化可扩展数据处理方法
CN106790162A (zh) * 2016-12-29 2017-05-31 中国科学院计算技术研究所 虚拟网络优化方法与系统
CN107515775A (zh) * 2016-06-15 2017-12-26 华为技术有限公司 一种数据传输方法及装置
CN110377106A (zh) * 2019-06-21 2019-10-25 湖南麒麟信安科技有限公司 一种时统卡虚拟化方法、系统及介质
CN111935032A (zh) * 2020-08-25 2020-11-13 惠州华阳通用电子有限公司 一种数据包发送方法及系统
CN112667356A (zh) * 2020-12-30 2021-04-16 上海交通大学 时延可预测的NVMe存储虚拟化方法和系统
CN115858102A (zh) * 2023-02-24 2023-03-28 珠海星云智联科技有限公司 一种用于部署支持虚拟化硬件加速的虚拟机的方法
CN117891567A (zh) * 2024-03-18 2024-04-16 济南浪潮数据技术有限公司 数据处理方法、装置、系统和存储介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111143032A (zh) * 2019-12-20 2020-05-12 上海交通大学 一种基于请求应答的半虚拟化i/o系统和方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101557420A (zh) * 2009-03-31 2009-10-14 北京航空航天大学 虚拟机监控器高效网络通信的实现方法
CN101620551A (zh) * 2009-05-07 2010-01-06 曙光信息产业(北京)有限公司 一种面向多虚拟机应用的网卡中断控制方法
CN102591715A (zh) * 2012-01-05 2012-07-18 北京航空航天大学 一种使用多队列技术的虚拟机网络性能优化的实现方法
WO2014012580A1 (en) * 2012-07-17 2014-01-23 Siemens Aktiengesellschaft Device and method for interrupt coalescing
CN103677955A (zh) * 2013-12-04 2014-03-26 深圳清华大学研究院 基于Virtio驱动进行虚拟机内存在线迁移的方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101557420A (zh) * 2009-03-31 2009-10-14 北京航空航天大学 虚拟机监控器高效网络通信的实现方法
CN101620551A (zh) * 2009-05-07 2010-01-06 曙光信息产业(北京)有限公司 一种面向多虚拟机应用的网卡中断控制方法
CN102591715A (zh) * 2012-01-05 2012-07-18 北京航空航天大学 一种使用多队列技术的虚拟机网络性能优化的实现方法
WO2014012580A1 (en) * 2012-07-17 2014-01-23 Siemens Aktiengesellschaft Device and method for interrupt coalescing
CN103677955A (zh) * 2013-12-04 2014-03-26 深圳清华大学研究院 基于Virtio驱动进行虚拟机内存在线迁移的方法

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105373512A (zh) * 2015-12-25 2016-03-02 曙光信息产业(北京)有限公司 用于虚拟化环境的通信协议的实现方法和装置
CN105373512B (zh) * 2015-12-25 2019-04-30 曙光信息产业(北京)有限公司 用于虚拟化环境的通信协议的实现方法和装置
CN105868000A (zh) * 2016-06-14 2016-08-17 上海交通大学 一种针对网络i/o虚拟化的并行化可扩展数据处理方法
CN105868000B (zh) * 2016-06-14 2019-02-19 上海交通大学 一种针对网络i/o虚拟化的并行化可扩展数据处理方法
CN107515775A (zh) * 2016-06-15 2017-12-26 华为技术有限公司 一种数据传输方法及装置
US11922202B2 (en) 2016-06-15 2024-03-05 Huawei Technologies Co., Ltd. Data transmission method and apparatus
US11182190B2 (en) 2016-06-15 2021-11-23 Huawei Technologies Co., Ltd. Data transmission method and apparatus
CN106790162A (zh) * 2016-12-29 2017-05-31 中国科学院计算技术研究所 虚拟网络优化方法与系统
CN110377106B (zh) * 2019-06-21 2021-01-19 湖南麒麟信安科技股份有限公司 一种时统卡虚拟化方法、系统及介质
CN110377106A (zh) * 2019-06-21 2019-10-25 湖南麒麟信安科技有限公司 一种时统卡虚拟化方法、系统及介质
CN111935032A (zh) * 2020-08-25 2020-11-13 惠州华阳通用电子有限公司 一种数据包发送方法及系统
CN111935032B (zh) * 2020-08-25 2023-09-01 惠州华阳通用电子有限公司 一种数据包发送方法及系统
CN112667356A (zh) * 2020-12-30 2021-04-16 上海交通大学 时延可预测的NVMe存储虚拟化方法和系统
CN115858102A (zh) * 2023-02-24 2023-03-28 珠海星云智联科技有限公司 一种用于部署支持虚拟化硬件加速的虚拟机的方法
CN117891567A (zh) * 2024-03-18 2024-04-16 济南浪潮数据技术有限公司 数据处理方法、装置、系统和存储介质
CN117891567B (zh) * 2024-03-18 2024-06-07 济南浪潮数据技术有限公司 数据处理方法、装置、系统和存储介质

Also Published As

Publication number Publication date
CN104618158B (zh) 2018-05-04

Similar Documents

Publication Publication Date Title
CN104618158A (zh) 嵌入式网络虚拟化环境中VirtIO网络虚拟化工作方法
Suzuki et al. {GPUvm}: Why Not Virtualizing {GPUs} at the Hypervisor?
US8032680B2 (en) Lazy handling of end of interrupt messages in a virtualized environment
US10162655B2 (en) Hypervisor context switching using TLB tags in processors having more than two hierarchical privilege levels
US10255090B2 (en) Hypervisor context switching using a redirection exception vector in processors having more than two hierarchical privilege levels
US20120167082A1 (en) Direct sharing of smart devices through virtualization
Varanasi Implementing Hardware-supported Virtualization in OKL4 on ARM
KR101640769B1 (ko) 가상화 시스템 및 그것의 명령어 실행 방법
Kim et al. Improving performance by bridging the semantic gap between multi-queue SSD and I/O virtualization framework
KR101879113B1 (ko) 프로세서를 위한 공동 설계 동적 언어 가속기
JP2008527506A (ja) Os隔離シーケンサー上のユーザーレベルのマルチスレッド化をエミュレートする機構
US10019275B2 (en) Hypervisor context switching using a trampoline scheme in processors having more than two hierarchical privilege levels
US11301283B1 (en) Virtualization extension modules
Zhang et al. Evaluating and optimizing I/O virtualization in kernel-based virtual machine (KVM)
Zhang et al. A survey on i/o virtualization and optimization
CN117389694B (zh) 基于virtio-blk技术提升虚拟存储IO性能的方法
CN104615495A (zh) 嵌入式网络虚拟化环境中优化网络吞吐量的方法
KR101387986B1 (ko) 가상화 장치
Yoo et al. Virtualizing ARM VFP (vector floating-point) with Xen-ARM
CN116360925A (zh) 一种半虚拟化实现方法、装置、设备及介质
CN107608756B (zh) 一种基于cpu硬件特性的虚拟机自省触发方法及系统
Che et al. Performance combinative evaluation of typical virtual machine monitors
CN112559120B (zh) 定制化pcie总线io虚拟化支撑方法
US10740131B2 (en) Input-output based virtual CPU halt
Gerangelos et al. vphi: Enabling xeon phi capabilities in virtual machines

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