CN116048719A - 一种spdk虚拟机使用普通内存的方法 - Google Patents
一种spdk虚拟机使用普通内存的方法 Download PDFInfo
- Publication number
- CN116048719A CN116048719A CN202211654546.XA CN202211654546A CN116048719A CN 116048719 A CN116048719 A CN 116048719A CN 202211654546 A CN202211654546 A CN 202211654546A CN 116048719 A CN116048719 A CN 116048719A
- Authority
- CN
- China
- Prior art keywords
- vhost
- virtual machine
- blk
- user
- memory
- 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/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- 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/45575—Starting, stopping, suspending or resuming virtual machine instances
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本发明涉及云计算和存储技术领域,提供一种spdk虚拟机使用普通内存的方法,包括:启动vhost进程,创建vhost user blk控制器;通过创建的vhost user blk控制器为vhost blk设备提供vhost user blk target存储服务,生成用于qemu进程与vhost进程通信的domain socket文件;配置并启动qemu进程,通过qemu进程对virtio blk后端设备和vhost user blk前端设备进行初始化,启动虚拟机;通过启动的虚拟机对virtio blk前端设备进行初始化;qemu进程和vhost两进程通过vhost user协议交互信息启动vhost blk设备。根据本发明示例性实施例的一种spdk虚拟机使用普通内存的方法,可以节省内存资源,提升内存利用率,提高虚拟机创建的成功率,提高虚拟机的启动速度,避免操作冗余。
Description
技术领域
本发明涉及云计算和存储技术领域,尤其涉及一种spdk虚拟机使用普通内存的方法。
背景技术
SPDK vhost Target提供vhost-user blk target和vhost-user scsi target两种具体的target,虚拟机内部呈现为virtio-blk或者virtio-scsi设备。SPDK vhost进程会创建一个domain unix socket,通过该socket,Qemu进程将与SPDK vhost进程完成vhostuser协议的交互,交互消息包括虚拟机的内存布局、virtio queue的地址和大小等。通过vhost user协议的交互,SPDK vhost进程获取到虚拟机的内存布局,转化为自身进程可访问的地址,实现与虚拟机共享内存的目的。
vhost进程映射虚拟机地址的基本原理是通过对大页内存执行mmap系统调用:qemu通过大页文件系统(/dev/hugepages/xxx)为虚拟机申请内存,然后将大页内存文件句柄传递给vhost进程;vhost进程接收句柄后,对qemu创建的大页文件(/dev/hugepages/xxx)进行识别,然后调用mmap系统将该大页内存文件映射到自身虚拟地址空间中。该阶段即为QEMU与vhost之间进行vhost user协议交互阶段,具体为vhost mem set table阶段,从而实现将虚拟机的内存布局告知vhost进程,vhost进程将虚拟机的内存地址映射到自身进行中。
上述方法在实际应用中存在以下不足:
1.会浪费内存资源:配置巨页的虚拟机在启动阶段时,需要一次性预分配所需的物理内存,即使虚拟机未使用到的内存,也无法交换给其他虚拟机使用;同时使用巨页的虚拟机,不支持virtio balloon等内存伸缩技术,无法实现物理内存的超分。
2.会影响虚拟机创建成功率:当主机内存不足或者碎片化严重时,无法产生连续的内存组成巨页,导致虚拟机创建失败。
3.会影响虚拟机的启动速度:hypervisor在启动虚拟机时,需要进行实际物理地址的分配,影响虚拟机的启动速度。
4.存在冗余步骤:针对不支持DMA操作的存储设备,例如(Malloc,ceph),维护虚拟机内存所在sdpk的虚拟与物理地址的映射关系是多余的。
因此,如何提供一种资源节约、高效的虚拟机使用内存的方法,成为亟待解决的技术问题。
发明内容
有鉴于此,为了克服现有技术的不足,本发明旨在提供一种spdk虚拟机使用普通内存的方法。
一方面,本发明提供一种spdk虚拟机使用普通内存的方法,包括:
步骤S1:启动vhost进程,创建vhost user blk控制器;
步骤S2:通过创建的vhost user blk控制器为vhost blk设备提供vhost userblk target存储服务,生成用于qemu进程与vhost进程通信的domain socket文件;
步骤S3:配置并启动qemu进程,通过qemu进程对virtio blk后端设备和vhostuser blk前端设备进行初始化,启动虚拟机;
步骤S4:通过启动的虚拟机对virtio blk前端设备进行初始化;
步骤S5:qemu进程和vhost两进程通过vhost user协议交互信息启动vhost blk设备。
进一步地,本发明spdk虚拟机使用普通内存的方法,步骤S1中,创建vhost userblk控制器,包括:
通过执行rpc.py脚本创建基于后端存储设备的bdev层设备;
通过执行rpc.py脚本创建以bdev层设备为存储的vhost user blk控制器。
进一步地,本发明spdk虚拟机使用普通内存的方法,步骤S2还包括:对用于qemu进程与vhost进程通信的domain socket文件的打开状态进行监听。
进一步地,本发明spdk虚拟机使用普通内存的方法,步骤S3包括:
将domain socket文件以及普通内存配置添加至qemu进程的启动参数中,启动qemu进程;
为所述qemu进程对应的虚拟机分配普通内存,获得所述普通内存对应的文件描述符;
加载vhost user blk驱动,初始化virtio blk后端设备以及vhost user blk前端设备。
进一步地,本发明spdk虚拟机使用普通内存的方法,步骤S3中,初始化virtio blk后端设备以及vhost user blk前端设备,包括:
当vhost进程监听到domain socket文件的状态为打开,与qemu进程进行vhostuser协议交互;
Qemu进程获取vhost进程中vhost user功能特性,将qemu支持功能特性传给vhost进程,并将两个进程支持特性的交集作为每个进程最终的支持特性;
qemu进程针对vhost user块设备的每个设备队列创建event事件通知,将创建的event事件通知告知vhost进程。
进一步地,本发明spdk虚拟机使用普通内存的方法,步骤S4包括:获取vhost user块设备的队列个数,为每个队列申请中断和virtio queue共享队列,加载virtio blk前端驱动,将virtio blk设备已初始化完成告知qemu进程。
进一步地,本发明spdk虚拟机使用普通内存的方法,步骤S5包括:
qemu进程获取虚拟机的资源信息,通过vhost user协议将获取的虚拟机的资源信息告知vhost进程,所述虚拟机的资源信息包括虚拟机的内存布局信息以及virtio queue共享队列信息;
vhost进程接收虚拟机的资源信息,根据接收的虚拟机的资源信息启动vhost blk设备;
vhost进程开始遍历virtio queues共享队列,等待虚拟机将IO请求放入virtioqueue共享队列中。
进一步地,本发明spdk虚拟机使用普通内存的方法,步骤S5中,vhost进程接收虚拟机的资源信息,根据接收的虚拟机的资源信息启动vhost blk设备,包括:vhost进程对接收的虚拟机的内存布局信息和共享队列virtio queue信息进行维护,将虚拟机的内存地址转化为自己可访问的地址。
另一方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被执行时,执行上述的方法。
最后,本发明还提供一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现所述方法的步骤。
本发明spdk虚拟机使用普通内存的方法,具有以下有益效果:
1.在qemu进程申请普通内存而不是巨页内存的基础上,实现不需要进行预分配物理内存即可通过mmap的方式申请文件映射内存;在qemu与vhost进程进行vhost uset协议交互阶段,实现不需要进行预分配即可调用mmap系统调用映射虚拟内存;从而实现在虚拟机或者spdk访问内存使用才分配实际的物理地址,不需要预分配物理内存,避免了预分配物理内存造成的内存浪费,节省内存资源,提升内存利用率。
2.由于采用普通内存,且提高了内存的利用率,避免了由于主机内存不足或者碎片化严重时无法产生连续的内存组成巨页而导致的虚拟机创建失败发生,从而提高虚拟机创建的成功率。
3.不需要在启动虚拟机时进行实际的物理内存分配,在进行虚拟机内存布局设置时不需要设置vhost进程的用户态页表,可以提高虚拟机的启动速度,避免操作冗余。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明示例性第一实施例一种spdk虚拟机使用普通内存的方法的流程图。
图2为本发明示例性第二实施例一种spdk虚拟机使用普通内存的方法的时序图。
具体实施方式
下面结合附图对本发明实施例进行详细描述。
需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合;并且,基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
需要说明的是,下文描述在所附权利要求书的范围内的实施例的各种方面。应显而易见,本文中所描述的方面可体现于广泛多种形式中,且本文中所描述的任何特定结构及/或功能仅为说明性的。基于本公开,所属领域的技术人员应了解,本文中所描述的一个方面可与任何其它方面独立地实施,且可以各种方式组合这些方面中的两者或两者以上。举例来说,可使用本文中所阐述的任何数目个方面来实施设备及/或实践方法。另外,可使用除了本文中所阐述的方面中的一或多者之外的其它结构及/或功能性实施此设备及/或实践此方法。
以下各实施例涉及的名词解释如下:
SPDK:Storage performance development kit的简称,是由Intel发起的,用于使用NVMe SSD作为后端存储的应用软件加速库,该软件库的核心是实现了用户态、异步、无锁、轮询方式的IO模型。SPDK的最初目的是为了优化块存储落盘性能,伴随持续的演进,已经被用于优化各种存储协议栈。SPDK架构分为协议层、服务层和驱动层,协议层包含NVMeOFTarget、iscsi Target、vhost Target等,服务层包含LV、Raid、AIO、malloc以及Ceph RBD等,驱动层主要包括NVMeOF initiator、NVMe PCIe、virtio以及其他用于持久化内存的driver等。
SPDK vhost Target:常用于虚拟机磁盘IO加速,以vhost进程的形式存在。在vhost磁盘设备初始化阶段,vhost与qemu完成包括vhost user协议交互的控制面的交互,控制面初始化完成后,数据面的交互就由虚拟机OS与vhost进程间完成,不需要qemu的参与。
vhost user blk控制器:spdk中的一个组件,负责将vhost blk和bdev设备结合起来。
vhost user blk target存储服务:使用vhost user blk协议的存储服务。
virtio blk前端设备:位于虚拟机内block设备的前端,驱动程序为virtio。
virtio blk后端设备:位于qemu内的block后端设备,与虚拟机virtio blk前端设备成对存在。
vhost user blk前端设备:通过vhost user blk协议在qemu中模拟的虚拟设备,将虚拟机的信息传递给vhost blk设备vhost blk设备:spdk内虚拟出来的设备,虚拟机IO请求转化成对该设备的操作。
virtio queue共享队列:虚拟机和spdk之间共享IO信息的循环队列,实质为一段内存。
图1为根据本发明示例性第一实施例的一种spdk虚拟机使用普通内存的方法的流程图,如图1所示,本实施例的方法,包括:
步骤S1:启动vhost进程,创建vhost user blk控制器;
步骤S2:通过创建的vhost user blk控制器为vhost blk设备提供vhost userblk target存储服务,生成用于qemu进程与vhost进程通信的domain socket文件;
步骤S3:配置并启动qemu进程,通过qemu进程对virtio blk后端设备和vhostuser blk前端设备进行初始化,启动虚拟机;
步骤S4:通过启动的虚拟机对virtio blk前端设备进行初始化;
步骤S5:qemu进程和vhost两进程通过vhost user协议交互信息启动vhost blk设备。
图2为本发明示例性第二实施例一种spdk虚拟机使用普通内存的方法的时序图,本实施例是图1所示方法的优选实施例。
如图2所示,本实施例方法的步骤S1中,创建vhost user blk控制器,包括:
通过执行rpc.py脚本创建基于后端存储设备的bdev层设备;
通过执行rpc.py脚本创建以bdev层设备为存储的vhost user blk控制器。
在实际应用中,本实施例方法的步骤S2还包括:对用于qemu进程与vhost进程通信的domain socket文件的打开状态进行监听。
本实施例方法的步骤S3包括:
将domain socket文件以及普通内存配置添加至qemu进程的启动参数中,启动qemu进程;
为所述qemu进程对应的虚拟机分配普通内存,获得所述普通内存对应的文件描述符;
加载vhost user blk驱动,初始化virtio blk后端设备以及vhost user blk前端设备,具体的,初始化virtio blk后端设备以及vhost user blk前端设备通过以下方式实现:
当vhost进程监听到domain socket文件的状态为打开,与qemu进程进行vhostuser协议交互;
Qemu进程获取vhost进程中vhost user功能特性,将qemu支持功能特性传给vhost进程,并将两个进程支持特性的交集作为每个进程最终的支持特性;
qemu进程针对vhost user块设备的每个设备队列创建event事件通知,将创建的event事件通知告知vhost进程。
本实施例方法的步骤S4包括:获取vhost user块设备的队列个数,为每个队列申请中断和virtio queue共享队列,加载virtio blk前端驱动,将virtio blk设备已初始化完成告知qemu进程。
本实施例方法在实际应用中,在qemu进程申请普通内存而不是巨页内存的基础上,实现不需要进行预分配物理内存即可通过mmap的方式申请文件映射内存,从而实现在虚拟机或者spdk访问内存使采分配实际的物理地址,不需要预分配物理内存,避免了预分配物理内存造成的内存浪费,节省内存资源,提升内存利用率;
由于采用普通内存,且提高了内存的利用率,避免了由于主机内存不足或者碎片化严重时无法产生连续的内存组成巨页而导致的虚拟机创建失败发生,从而提高虚拟机创建的成功率。
本实施例方法的步骤S5包括:
qemu进程获取虚拟机的资源信息,通过vhost user协议将获取的虚拟机的资源信息告知vhost进程,所述虚拟机的资源信息包括虚拟机的内存布局信息以及virtio queue共享队列信息;
vhost进程接收虚拟机的资源信息,根据接收的虚拟机的资源信息启动vhost blk设备;在实际应用中,还包括:vhost进程对接收的虚拟机的内存布局信息和共享队列virtio queue信息进行维护,将虚拟机的内存地址转化为自己可访问的地址。
vhost进程开始遍历virtio queues共享队列,等待虚拟机将IO请求放入virtioqueue共享队列中。
本实施例方法,在qemu与vhost进程进行vhost uset协议交互阶段,实现不需要进行预分配即可调用mmap系统调用映射虚拟内存;从而实现在虚拟机或者spdk访问内存使采分配实际的物理地址,不需要预分配物理内存,避免了预分配物理内存造成的内存浪费,节省内存资源,提升内存利用率。
本实施例方法,不需要在启动虚拟机时进行实际的物理内存分配,在进行虚拟机内存布局设置时不需要设置vhost进程的用户态页表,可以提高虚拟机的启动速度,避免操作冗余。
本发明提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被执行时,执行本发明上述实施例的方法。
最后,本发明还提供一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现上述实施例方法的步骤。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种spdk虚拟机使用普通内存的方法,其特征在于,所述方法包括:
步骤S1:启动vhost进程,创建vhost user blk控制器;
步骤S2:通过创建的vhost user blk控制器为vhost blk设备提供vhost user blktarget存储服务,生成用于qemu进程与vhost进程通信的domain socket文件;
步骤S3:配置并启动qemu进程,通过qemu进程对virtio blk后端设备和vhost userblk前端设备进行初始化,启动虚拟机;
步骤S4:通过启动的虚拟机对virtio blk前端设备进行初始化;
步骤S5:qemu进程和vhost两进程通过vhost user协议交互信息启动vhost blk设备。
2.根据权利要求1所述的spdk虚拟机使用普通内存的方法,其特征在于,步骤S1中,创建vhost user blk控制器,包括:
通过执行rpc.py脚本创建基于后端存储设备的bdev层设备;
通过执行rpc.py脚本创建以bdev层设备为存储的vhost user blk控制器。
3.根据权利要求1所述的spdk虚拟机使用普通内存的方法,其特征在于,步骤S2还包括:对用于qemu进程与vhost进程通信的domain socket文件的打开状态进行监听。
4.根据权利要求1所述的spdk虚拟机使用普通内存的方法,其特征在于,步骤S3包括:
将domain socket文件以及普通内存配置添加至qemu进程的启动参数中,启动qemu进程;
为所述qemu进程对应的虚拟机分配普通内存,获得所述普通内存对应的文件描述符;
加载vhost user blk驱动,初始化virtio blk后端设备以及vhost user blk前端设备。
5.根据权利要求4所述的spdk虚拟机使用普通内存的方法,其特征在于,步骤S3中,初始化virtio blk后端设备以及vhost user blk前端设备,包括:
当vhost进程监听到domain socket文件的状态为打开,与qemu进程进行vhost user协议交互;
Qemu进程获取vhost进程中vhost user功能特性,将qemu支持功能特性传给vhost进程,并将两个进程支持特性的交集作为每个进程最终的支持特性;
qemu进程针对vhost user块设备的每个设备队列创建event事件通知,将创建的event事件通知告知vhost进程。
6.根据权利要求1所述的spdk虚拟机使用普通内存的方法,其特征在于,步骤S4包括:获取vhost user块设备的队列个数,为每个队列申请中断和virtio queue共享队列,加载virtio blk前端驱动,将virtio blk设备已初始化完成告知qemu进程。
7.根据权利要求1所述的spdk虚拟机使用普通内存的方法,其特征在于,步骤S5包括:
qemu进程获取虚拟机的资源信息,通过vhost user协议将获取的虚拟机的资源信息告知vhost进程,所述虚拟机的资源信息包括虚拟机的内存布局信息以及virtio queue共享队列信息;
vhost进程接收虚拟机的资源信息,根据接收的虚拟机的资源信息启动vhost blk设备;
vhost进程开始遍历virtio queues共享队列,等待虚拟机将IO请求放入virtio queue共享队列中。
8.根据权利要求7所述的spdk虚拟机使用普通内存的方法,其特征在于,步骤S5中,vhost进程接收虚拟机的资源信息,根据接收的虚拟机的资源信息启动vhost blk设备,包括:vhost进程对接收的虚拟机的内存布局信息和共享队列virtio queue信息进行维护,将虚拟机的内存地址转化为自己可访问的地址。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被执行时,执行如权利要求1-7任一所述的方法。
10.一种计算机设备,其特征在于,所述计算机设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现权利要求1-7中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211654546.XA CN116048719A (zh) | 2022-12-22 | 2022-12-22 | 一种spdk虚拟机使用普通内存的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211654546.XA CN116048719A (zh) | 2022-12-22 | 2022-12-22 | 一种spdk虚拟机使用普通内存的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116048719A true CN116048719A (zh) | 2023-05-02 |
Family
ID=86120988
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211654546.XA Pending CN116048719A (zh) | 2022-12-22 | 2022-12-22 | 一种spdk虚拟机使用普通内存的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116048719A (zh) |
-
2022
- 2022-12-22 CN CN202211654546.XA patent/CN116048719A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9529773B2 (en) | Systems and methods for enabling access to extensible remote storage over a network as local storage via a logical storage controller | |
EP3457288B1 (en) | Computer system and storage access device | |
US9798565B2 (en) | Data processing system and method having an operating system that communicates with an accelerator independently of a hypervisor | |
EP2622470B1 (en) | Techniques for load balancing gpu enabled virtual machines | |
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 | |
EP3358463A1 (en) | Method, device and system for implementing hardware acceleration processing | |
US20140095769A1 (en) | Flash memory dual in-line memory module management | |
JPH10283210A (ja) | 仮想計算機システム間の仮想計算機移動制御方式 | |
US11016817B2 (en) | Multi root I/O virtualization system | |
WO2022041507A1 (zh) | 3d渲染方法及系统 | |
WO2023050819A1 (zh) | 片上系统、虚拟机任务处理方法及设备、存储介质 | |
CN113312142A (zh) | 虚拟化处理系统、方法、装置及设备 | |
CN106683035B (zh) | Gpu加速方法和装置 | |
CN109656675B (zh) | 总线设备、计算机设备及实现物理主机云存储的方法 | |
CN114281252A (zh) | 非易失性高速传输总线NVMe设备的虚拟化方法及设备 | |
CN113242175B (zh) | 一种基于spdk的存储网关及其实现方法 | |
WO2017087544A1 (en) | Method and system for shared direct access storage | |
US11640311B2 (en) | Providing non-volatile storage for permanent data to virtual machines | |
WO2014063329A1 (zh) | 共享闪存的方法、控制器及系统 | |
US20180129522A1 (en) | Parallel mapping of client partition memory to multiple physical adapters | |
US20150326684A1 (en) | System and method of accessing and controlling a co-processor and/or input/output device via remote direct memory access | |
CN115576654B (zh) | 一种请求处理方法、装置、设备及存储介质 | |
CN116048719A (zh) | 一种spdk虚拟机使用普通内存的方法 | |
CN107766122B (zh) | 一种宿主机的可用内存空间设置方法和装置 | |
CN115617270A (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 |