CN110968393B - 虚拟机的迁移处理方法、存储介质、计算设备 - Google Patents

虚拟机的迁移处理方法、存储介质、计算设备 Download PDF

Info

Publication number
CN110968393B
CN110968393B CN201811163322.2A CN201811163322A CN110968393B CN 110968393 B CN110968393 B CN 110968393B CN 201811163322 A CN201811163322 A CN 201811163322A CN 110968393 B CN110968393 B CN 110968393B
Authority
CN
China
Prior art keywords
processing unit
task
host device
virtual machine
cache space
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
CN201811163322.2A
Other languages
English (en)
Other versions
CN110968393A (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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201811163322.2A priority Critical patent/CN110968393B/zh
Publication of CN110968393A publication Critical patent/CN110968393A/zh
Application granted granted Critical
Publication of CN110968393B publication Critical patent/CN110968393B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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

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)

Abstract

本申请公开了一种虚拟机的迁移处理方法、存储介质、计算设备。其中,该方法包括:在将虚拟机迁移至目标宿主设备上时,初始化源宿主设备中第一图形处理单元对应的第一缓存空间,其中,上述第一缓存空间用于存储上述第一图形处理单元对应的任务;在初始化上述第一缓存空间后,将预先备份的未执行的任务加载至上述第一缓存空间中;将上述未执行的任务发送至上述目标宿主设备的第二图形处理单元。本申请解决了在虚拟机进行热迁移的过程中,虚拟机无法实现在不中断业务的情况下迁移到目标宿主机的技术问题。

Description

虚拟机的迁移处理方法、存储介质、计算设备
技术领域
本申请涉及计算机技术领域,具体而言,涉及一种虚拟机的迁移处理方法、存储介质、计算设备。
背景技术
在相关技术中,源宿主机上的虚拟机通过热迁移技术迁移到目标宿主机上面继续运行,在热迁移过程中,将虚拟机的内存通过迭代拷贝的方式从源宿主机发送到目标宿主机上,在目标宿主机上面重新创建模拟处理器Qemu的进程,恢复Qemu模拟的设备的状态和数据。对于虚拟机内部的应用程序而言,有200ms的CPU卡顿,不中断应用程序。
在图像处理器直通场景下,当前的热迁移方案是不能将源宿主机上的GPU设备的状态和数据拷贝到目标宿主机上的图形处理GPU设备中,虚拟机中更换新的GPU设备,GPU驱动需要重新被加载,使得GPU的状态被重新初始化。在此情况下当虚拟机内的应用程序使用GPU设备时,将无法在不中断业务的情况下完成迁移。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种虚拟机的迁移处理方法、存储介质、计算设备,以至少解决在虚拟机进行热迁移的过程中,虚拟机无法实现在不中断业务的情况下迁移到目标宿主机的技术问题。
根据本申请实施例的一个方面,提供了一种虚拟机的迁移处理方法,包括:在将虚拟机迁移至目标宿主设备上时,初始化源宿主设备中第一图形处理单元对应的第一缓存空间,其中,上述第一缓存空间用于存储上述第一图形处理单元对应的任务;在初始化上述第一缓存空间后,将预先备份的未执行的任务加载至上述第一缓存空间中;将上述未执行的任务发送至上述目标宿主设备的第二图形处理单元。
根据本申请实施例的另一方面,还提供了一种虚拟机的迁移处理方法,包括:在将虚拟机迁移至目标宿主设备上时,目标宿主设备接收来自源宿主设备的第一图形处理单元未执行的任务;上述目标宿主设备中的第二图形处理单元执行上述未执行的任务。
根据本申请实施例的另一方面,还提供了一种虚拟机的迁移处理方法,包括:在将虚拟机迁移至目标宿主设备上时,初始化源宿主设备中第一图形处理单元对应的第一缓存空间,其中,上述第一缓存空间用于存储上述第一图形处理单元对应的任务;在初始化上述第一缓存空间后,从第二缓存空间中获取预先备份的上述第一图形处理单元未执行的任务,并将获取的未执行的任务加载至上述第一缓存空间中;将上述未执行的任务发送至上述目标宿主设备的第二图形处理单元。
根据本申请实施例的另一方面,还提供了一种存储介质,上述存储介质包括存储的程序,其中,在上述程序运行时控制上述存储介质所在设备执行任意一项上述的虚拟机的迁移处理方法。
根据本申请实施例的另一方面,还提供了一种计算设备,包括:微处理单元,用于向第一图形处理单元对应的命令缓存下发任务;第一图形处理单元,用于从上述命令缓存中读取任务,并在虚拟机进行热迁移时,将预先备份的未执行的任务发送至目标宿主设备的第二图形处理单元。
在本申请实施例中,通过在将虚拟机迁移至目标宿主设备上时,初始化源宿主设备中第一图形处理单元对应的第一缓存空间,其中,上述第一缓存空间用于存储上述第一图形处理单元对应的任务;在初始化上述第一缓存空间后,将预先备份的未执行的任务加载至上述第一缓存空间中;将上述未执行的任务发送至上述目标宿主设备的第二图形处理单元。
容易注意到的是,本申请实施例通过保存源宿主设备上的第一图形处理单元未执行的任务,在虚拟机迁移到目标宿主设备上时,目标宿主设备上的第二图形处理单元重新执行源宿主设备上未执行的任务,从而可以保证此场景下应用程序的业务不中断。
由此,本申请实施例达到了在虚拟机进行热迁移的过程中,实现在不中断业务的情况下迁移到目标宿主机的目的,从而实现了提高虚拟机的热迁移的速率的技术效果,进而解决了在虚拟机进行热迁移的过程中,虚拟机无法实现在不中断业务的情况下迁移到目标宿主机的技术问题。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的一种用于实现虚拟机的迁移处理方法的计算机终端(或移动设备)的硬件结构框图;
图2是根据本申请实施例的一种虚拟机的迁移处理方法的流程图;
图3是根据本申请实施例的一种可选的虚拟机的迁移处理方法的场景示意图;
图4是根据本申请实施例的另一种可选的虚拟机的迁移处理方法的场景示意图;
图5是根据本申请实施例的另一种虚拟机的迁移处理方法的流程图;
图6是根据本申请实施例的另一种虚拟机的迁移处理方法的流程图;
图7是根据本申请实施例的一种计算设备的示意图;
图8是根据本申请实施例的一种虚拟机的迁移处理装置的示意图;
图9是根据本申请实施例的一种虚拟机的迁移装置的示意图;
图10是根据本申请实施例的另一种虚拟机的迁移处理装置的示意图;以及
图11是根据本申请实施例的一种计算机终端的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,在对本申请实施例进行描述的过程中出现的部分名词或术语适用于如下解释:
虚拟机:是指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。
热迁移:又称为动态迁移、实时迁移,即虚拟机保存/恢复,通常是将整个虚拟机的运行状态保存下来,同时可以快速的恢复到原有硬件平台甚至是不同硬件平台上,恢复之后虚拟机仍旧平滑运行,用户不会感觉到任何差异。
图形处理单元(Graphics Process Unit,GPU):又称为显示核心、视觉处理器、显示芯片,是一种专门在个人电脑、工作站、游戏机和一些移动设备(如平板电脑、智能手机等)上图像运算工作的微处理器。
Command Buffer:是CPU和GPU通信的途径,作为一段内存控制,可以被CPU和GPU访问。
实施例1
根据本申请实施例,还提供了一种虚拟机的迁移处理方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例1所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。图1示出了一种用于实现虚拟机的迁移处理方法的计算机终端(或移动设备)的硬件结构框图,如图1所示,计算机终端10(或移动设备10)可以包括一个或多个(图中采用102a、102b,……,102n来示出)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输模块106。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为I/O接口的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
应当注意到的是上述一个或多个处理器102和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算机终端10(或移动设备)中的其他元件中的任意一个内。如本申请实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
存储器104可用于存储应用软件的软件程序以及模块,如本申请实施例中的虚拟机的迁移处理方法对应的程序指令/数据存储装置,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的虚拟机的迁移处理方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与计算机终端10(或移动设备)的用户界面进行交互。
在上述运行环境下,本申请提供了如图2所示的一种虚拟机的迁移处理方法,图2是根据本申请实施例的一种虚拟机的迁移处理方法的流程图,如图2所示,上述方法可以包括以下方法步骤:
步骤S202,在将虚拟机迁移至目标宿主设备上时,初始化源宿主设备中第一图形处理单元对应的第一缓存空间,其中,上述第一缓存空间用于存储上述第一图形处理单元对应的任务。
可选的,上述源宿主设备可以为源宿主机、目标宿主设备可以为目标宿主机,其中,宿主机是指安装虚拟机软件的计算机,宿主机是虚拟机的物理基础,虚拟机存于宿主机中,与宿主机共享使用硬件,宿主机的运行是虚拟机运行的前提和基础。
在一种可选的实施例中,上述第一缓存空间为上述源宿主设备中的CPU和上述第一图形处理单元的共享空间。
图3示出了一种在图形处理单元GPU直通虚拟机的业务场景下,虚拟机的微处理单元CPU(中央处理器)和第一图形处理单元GPU通信的方式,第一缓存空间Command Buffer和第二缓存空间Frame Buffer是GPU设备驱动加载时申请的系统内存,可以同时被第一图形处理单元GPU和微处理单元CPU访问。
在一种可选的实施例中,上述第一缓存空间包括:上述第一图形处理单元对应的命令缓存。
步骤S204,在初始化上述第一缓存空间后,将预先备份的未执行的任务加载至上述第一缓存空间中;
步骤S206,将上述未执行的任务发送至上述目标宿主设备的第二图形处理单元。
在一种可选的实施例中,本申请实施例可以预先对虚拟机未执行的任务进行备份,在虚拟机进行热迁移的过程中,源宿主设备的第一图形处理单元GPU驱动初始化源宿主设备中第一图形处理单元对应的第一缓存空间之后,重新按照顺序将未执行的任务加载到第一缓存空间中,并将上述未执行的任务发送至上述目标宿主设备的第二图形处理单元。
进而,上述目标宿主设备的第二图形处理单元从与上述第一图形处理单元对应的命令缓存中读取上述未执行的任务;并按照上述命令缓存中上述未执行任务的加载顺序执行上述未执行的任务,进而可以保证任务不丢失。
需要说明的是,第一图形处理单元和第二图形处理单元可以为相同的图形处理单元,第二图形处理单元可以执行第一图形处理单元未执行的任务。
在本申请实施例中,通过在将虚拟机迁移至目标宿主设备上时,初始化源宿主设备中第一图形处理单元对应的第一缓存空间,其中,上述第一缓存空间用于存储上述第一图形处理单元对应的任务;在初始化上述第一缓存空间后,将预先备份的未执行的任务加载至上述第一缓存空间中;将上述未执行的任务发送至上述目标宿主设备的第二图形处理单元。
容易注意到的是,本申请实施例通过保存源宿主设备上的第一图形处理单元未执行的任务,在虚拟机迁移到目标宿主设备上时,目标宿主设备上的第二图形处理单元重新执行源宿主设备上未执行的任务,从而可以保证此场景下应用程序的业务不中断。
由此,本申请实施例达到了在虚拟机进行热迁移的过程中,实现在不中断业务的情况下迁移到目标宿主机的目的,从而实现了提高虚拟机的热迁移的速率的技术效果,进而解决了在虚拟机进行热迁移的过程中,虚拟机无法实现在不中断业务的情况下迁移到目标宿主机的技术问题。
在一种可选的实施例中,初始化源宿主设备中第一图形处理单元对应的第一缓存空间之前,上述方法还包括:
步骤S302,对上述第一图形处理单元的上述未执行的任务进行备份,得到备份任务;
步骤S304,并将上述备份任务存储至第二缓存空间中。
在上述步骤S302至步骤S304中,可以对第一图形处理单元的未执行的任务进行备份,得到备份任务,并将备份任务存储在第二缓存空间中。
在一种可选的实施例中,上述第一缓存空间与上述第二缓存空间是相同的。
可选的,上述第二缓存空间可以同时被第一图形处理单元GPU和微处理单元CPU访问。
其中,第一缓存空间和第二缓存空间均是第一图形处理单元驱动加载时申请的系统内存,上述第一缓存空间与上述第二缓存空间是相同的,是指两者的存储的命令缓存相同。
在一种可选的实施例中,微处理单元CPU通过第一图形处理单元GPU的驱动程序,将需要第一图形处理单元GPU执行的任务存放到第一缓存空间Command Buffer内,第一图形处理单元GPU访问第一缓存空间Command Buffer获取执行的任务,并将执行的结果存放到第二缓存空间Frame Buffer中,并通过硬件设备中断通知CPU可以到第二缓存空间FrameBuffer中取结果。
其中,上述第一缓存空间Command Buffer用于存放第一图形处理单元执行的任务的队列,可以存放多个任务;上述第二缓存空间Frame Buffer用于存放每个任务的结果缓存。
在一种可选的实施例中,对上述第一图形处理单元的上述未执行的任务进行备份包括:
通过上述第一图形处理单元的驱动程序中的监测模块对上述未执行的任务进行备份,其中,上述监测模块用于维护上述第二缓存空间。
可选的,如图4所示,可以在第一图形处理单元的驱动程序中增加一个监测模块,并通过该监测模块维护一个与第一缓存空间一致的第二缓存空间,例如,第一缓存空间内的命令缓存可以为cmd1、cmd2、cmd3……cmd n,则该监测模块维护的第二缓存空间内的命令缓存也可以为cmd1、cmd2、cmd3……cmd n。
需要说明的是,在没有增加监测模块之前,如果虚拟机进行热迁移操作,虚拟机从源宿主设备迁移到目标宿主设备时,第一图形处理单元的驱动程序需要重新和目标宿主设备上的第二图形处理单元GPU建立通信,重新初始化第一缓存空间,此时容易造成虚拟机在源宿主设备上第一图形处理单元的未执行的任务丢失。
本申请实施例通过增加监测模块,可以对第一缓存空间内未执行的任务进行备份,在虚拟机进行热迁移时,源宿主设备的第一图形处理单元的驱动程序初始化第一缓存空间之后,监测模块重新将第一图形处理单元未执行的任务,按照顺序加载到第一缓存空间中,目标宿主设备的第二图形处理单元可以从与上述第一图形处理单元对应的命令缓存中读取上述未执行的任务;并按照上述命令缓存中上述未执行任务的加载顺序执行上述未执行的任务,进而可以保证任务不丢失。
在一种可选的实施例中,将上述未执行的任务发送至上述目标宿主设备的第二图形处理单元之前,上述方法还包括:
在检测到上述虚拟机开始向上述目标宿主设备迁移时,暂停上述CPU向上述第一缓存空间下发上述第一图形处理单元待执行的任务。
仍需要说明的是,即使未初始化第一缓存空间,目标宿主设备上的第二图形处理单元也不知道上源宿主设备上的第一图形处理单元执行到哪一条命令,因此,在检测到虚拟机开始向上述目标宿主设备迁移时,在热迁移中会有大约200ms的时间,虚拟机的微处理单元CPU暂停向第一缓存空间下发第一图形处理单元待执行的任务,避免造成虚拟机内的微处理单元CPU下发给第一图形处理单元待执行的任务丢失。
在一种可选的实施例中,将上述未执行的任务发送至上述目标宿主设备的第二图形处理单元之后,上述方法还包括:
从上述第一缓存空间中删除上述第二图形处理单元已经执行的任务。
在上述可选的实施例中,在源宿主设备将第一图形处理单元未执行的任务发送到目标宿主设备的第二图形处理单元之后,可以检测第二图形处理单元是否执行了上述未执行的任务,在检测到第二图形处理单元执行了上述未执行的任务的情况下,从第一缓存空间中将第二图形处理单元已经执行的任务删除,避免占用过多的缓存空间。
实施例2
根据本申请实施例,还提供了一种虚拟机的迁移处理方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请提供了如图5所示的一种虚拟机的迁移处理方法,图5是根据本申请实施例的一种虚拟机的迁移处理方法的流程图,如图5所示,上述方法可以包括以下方法步骤:
步骤S502,在将虚拟机迁移至目标宿主设备上时,目标宿主设备接收来自源宿主设备的第一图形处理单元未执行的任务;
步骤S504,上述目标宿主设备中的第二图形处理单元执行上述未执行的任务。
可选的,上述源宿主设备可以为源宿主机、目标宿主设备可以为目标宿主机,其中,宿主机是指安装虚拟机软件的计算机,宿主机是虚拟机的物理基础,虚拟机存于宿主机中,与宿主机共享使用硬件,宿主机的运行是虚拟机运行的前提和基础。
在上述步骤S502中,可以通过上述目标宿主设备中的第二图形处理单元接收上述第一图形处理单元未执行的任务,由于第一图形处理单元和第二图形处理单元可以为相同的图形处理单元,进而,上述第二图形处理单元可以在接收到第一图形处理单元未执行的任务之后,重新执行源宿主设备上未执行的任务,从而可以保证此场景下应用程序的业务不中断。
在本申请实施例中,通过在将虚拟机迁移至目标宿主设备上时,目标宿主设备接收来自源宿主设备的第一图形处理单元未执行的任务;上述目标宿主设备中的第二图形处理单元执行上述未执行的任务。
容易注意到的是,本申请实施例通过保存源宿主设备上的第一图形处理单元未执行的任务,在虚拟机迁移到目标宿主设备上时,目标宿主设备上的第二图形处理单元重新执行源宿主设备上未执行的任务,从而可以保证此场景下应用程序的业务不中断。
由此,本申请实施例达到了在虚拟机进行热迁移的过程中,实现在不中断业务的情况下迁移到目标宿主机的目的,从而实现了提高虚拟机的热迁移的速率的技术效果,进而解决了在虚拟机进行热迁移的过程中,虚拟机无法实现在不中断业务的情况下迁移到目标宿主机的技术问题。
在一种可选的实施例中,上述目标宿主设备中的图形处理单元执行上述未执行的任务之前,上述方法还包括:
步骤S602,上述第二图形处理单元加载上述第一图形处理单元的驱动程序,并依据上述驱动程序进行初始化处理。
在上述步骤S602中,上述初始化处理是指:初始化源宿主设备中第一图形处理单元对应的第一缓存空间,其中,上述第一缓存空间用于存储上述第一图形处理单元对应的任务。
在一种可选的实施例中,上述目标宿主设备中的第二图形处理单元执行上述未执行的任务,包括:
步骤S702,上述第二图形处理单元从与上述第一图形处理单元对应的命令缓存中读取上述未执行的任务;
步骤S704,按照上述命令缓存中上述未执行任务的加载顺序执行上述未执行的任务。
在上述可选的实施例中,本申请实施例可以对第一缓存空间内未执行的任务进行备份,在虚拟机进行热迁移时,源宿主设备的第一图形处理单元的驱动程序初始化第一缓存空间之后,源宿主设备的监测模块重新将第一图形处理单元未执行的任务,按照顺序加载到第一缓存空间中,目标宿主设备的第二图形处理单元可以从与上述第一图形处理单元对应的命令缓存中读取上述未执行的任务;并按照上述命令缓存中上述未执行任务的加载顺序执行上述未执行的任务,进而可以保证任务不丢失。
需要说明的是,本实施例的可选或优选实施方式可以参见实施例1中的相关描述,此处不再赘述。
实施例3
根据本申请实施例,还提供了另一种虚拟机的迁移处理方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请提供了如图6所示的另一种虚拟机的迁移处理方法,图6是根据本申请实施例的另一种虚拟机的迁移处理方法的流程图,如图6所示,上述方法可以包括以下方法步骤:
步骤S802,在将虚拟机迁移至目标宿主设备上时,初始化源宿主设备中第一图形处理单元对应的第一缓存空间,其中,上述第一缓存空间用于存储上述第一图形处理单元对应的任务;
步骤S804,在初始化上述第一缓存空间后,从第二缓存空间中获取预先备份的上述第一图形处理单元未执行的任务,并将获取的未执行的任务加载至上述第一缓存空间中;
步骤S806,将上述未执行的任务发送至上述目标宿主设备的第二图形处理单元。
可选的,上述源宿主设备可以为源宿主机、目标宿主设备可以为目标宿主机,其中,宿主机是指安装虚拟机软件的计算机,宿主机是虚拟机的物理基础,虚拟机存于宿主机中,与宿主机共享使用硬件,宿主机的运行是虚拟机运行的前提和基础。
在一种可选的实施例中,上述第一缓存空间为上述源宿主设备中的CPU和上述第一图形处理单元的共享空间。
在一种可选的实施例中,上述第一缓存空间包括:上述第一图形处理单元对应的命令缓存。
由于第一缓存空间和第二缓存空间均是第一图形处理单元驱动加载时申请的系统内存,上述第一缓存空间与上述第二缓存空间是相同的,即两者的存储的命令缓存相同。
在一种可选的实施例中,本申请实施例可以预先对虚拟机未执行的任务进行备份,在虚拟机进行热迁移的过程中,源宿主设备的第一图形处理单元GPU驱动初始化源宿主设备中第一图形处理单元对应的第一缓存空间之后,从第二缓存空间中获取预先备份的上述第一图形处理单元未执行的任务,并将获取的未执行的任务加载至上述第一缓存空间中,并将上述未执行的任务发送至上述目标宿主设备的第二图形处理单元。
进而,上述目标宿主设备的第二图形处理单元从与上述第一图形处理单元对应的命令缓存中读取上述未执行的任务;并按照上述命令缓存中上述未执行任务的加载顺序执行上述未执行的任务,进而可以保证任务不丢失。
需要说明的是,第一图形处理单元和第二图形处理单元可以为相同的图形处理单元,第二图形处理单元可以执行第一图形处理单元未执行的任务。
在本申请实施例中,通过在将虚拟机迁移至目标宿主设备上时,初始化源宿主设备中第一图形处理单元对应的第一缓存空间,其中,上述第一缓存空间用于存储上述第一图形处理单元对应的任务;在初始化上述第一缓存空间后,从第二缓存空间中获取预先备份的上述第一图形处理单元未执行的任务,并将获取的未执行的任务加载至上述第一缓存空间中;将上述未执行的任务发送至上述目标宿主设备的第二图形处理单元。
容易注意到的是,本申请实施例通过保存源宿主设备上的第一图形处理单元未执行的任务,在虚拟机迁移到目标宿主设备上时,目标宿主设备上的第二图形处理单元重新执行源宿主设备上未执行的任务,从而可以保证此场景下应用程序的业务不中断。
由此,本申请实施例达到了在虚拟机进行热迁移的过程中,实现在不中断业务的情况下迁移到目标宿主机的目的,从而实现了提高虚拟机的热迁移的速率的技术效果,进而解决了在虚拟机进行热迁移的过程中,虚拟机无法实现在不中断业务的情况下迁移到目标宿主机的技术问题。
需要说明的是,本实施例的可选或优选实施方式可以参见实施例1中的相关描述,此处不再赘述。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例的方法。
实施例4
根据本申请实施例,还提供了一种计算设备的实施例,图7是根据本申请实施例的一种计算设备的示意图,如图7所示,上述计算设备700包括:微处理单元702和第一图形处理单元704,其中:
微处理单元702,用于向第一图形处理单元对应的命令缓存下发任务;第一图形处理单元704,用于从上述命令缓存中读取任务,并在虚拟机进行热迁移时,将预先备份的未执行的任务发送至目标宿主设备的第二图形处理单元。
可选的,上述微处理单元702可以为中央处理器CPU,第一图形处理单元704可以为图形处理器GPU。
在一种可选的实施例中,上述第一缓存空间为上述源宿主设备中的CPU和上述第一图形处理单元的共享空间。
在一种可选的实施例中,上述第一缓存空间包括:上述第一图形处理单元对应的命令缓存。
在本申请实施例中,通过微处理单元702,用于向第一图形处理单元对应的命令缓存下发任务;第一图形处理单元704,用于从上述命令缓存中读取任务,并在虚拟机进行热迁移时,将预先备份的未执行的任务发送至目标宿主设备的第二图形处理单元。
容易注意到的是,本申请实施例通过保存源宿主设备上的第一图形处理单元未执行的任务,在虚拟机迁移到目标宿主设备上时,目标宿主设备上的第二图形处理单元重新执行源宿主设备上未执行的任务,从而可以保证此场景下应用程序的业务不中断。
由此,本申请实施例达到了在虚拟机进行热迁移的过程中,实现在不中断业务的情况下迁移到目标宿主机的目的,从而实现了提高虚拟机的热迁移的速率的技术效果,进而解决了在虚拟机进行热迁移的过程中,虚拟机无法实现在不中断业务的情况下迁移到目标宿主机的技术问题。
需要说明的是,本实施例的可选或优选实施方式可以参见实施例1中的相关描述,此处不再赘述。
实施例5
根据本申请实施例,还提供了一种用于实施上述虚拟机的迁移处理方法的装置实施例,图8是根据本申请实施例的一种虚拟机的迁移处理装置的示意图,如图8所示,该装置800包括:初始化模块802、加载模块804和发送模块806,其中:
初始化模块802,用于在将虚拟机迁移至目标宿主设备上时,初始化源宿主设备中第一图形处理单元对应的第一缓存空间,其中,上述第一缓存空间用于存储上述第一图形处理单元对应的任务;加载模块804,用于在初始化上述第一缓存空间后,将预先备份的未执行的任务加载至上述第一缓存空间中;发送模块806,用于将上述未执行的任务发送至上述目标宿主设备的第二图形处理单元。
此处需要说明的是,上述初始化模块802、加载模块804和发送模块806对应于实施例1中的步骤S202至步骤S206,三个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例1提供的计算机终端10中。
需要说明的是,本实施例的可选或优选实施方式可以参见实施例1中的相关描述,此处不再赘述。
实施例6
根据本申请实施例,还提供了一种用于实施上述虚拟机的迁移处理方法的装置实施例,图9是根据本申请实施例的一种虚拟机的迁移装置的示意图,如图9所示,该装置900包括:接收模块902和执行模块904,其中:
接收模块902,用于在将虚拟机迁移至目标宿主设备上时,目标宿主设备接收来自源宿主设备的第一图形处理单元未执行的任务;执行模块904,用于目标宿主设备中的第二图形处理单元执行上述未执行的任务。
此处需要说明的是,上述接收模块902和执行模块904对应于实施例2中的步骤S502至步骤S504,两个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例2所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例1提供的计算机终端10中。
需要说明的是,本实施例的可选或优选实施方式可以参见实施例1和2中的相关描述,此处不再赘述。
实施例7
根据本申请实施例,还提供了另一种用于实施上述虚拟机的迁移处理方法的装置实施例,图10是根据本申请实施例的另一种虚拟机的迁移处理装置的示意图,如图10所示,该装置1000包括:初始化单元1002、加载单元1004和发送单元1006,其中:
初始化单元1002,用于在将虚拟机迁移至目标宿主设备上时,初始化源宿主设备中第一图形处理单元对应的第一缓存空间,其中,上述第一缓存空间用于存储上述第一图形处理单元对应的任务;加载单元1004,用于在初始化上述第一缓存空间后,从第二缓存空间中获取预先备份的上述第一图形处理单元未执行的任务,并将获取的未执行的任务加载至上述第一缓存空间中;发送单元1006,用于将上述未执行的任务发送至上述目标宿主设备的第二图形处理单元。
此处需要说明的是,上述初始化单元1002、加载单元1004和发送单元1006对应于实施例3中的步骤S802至步骤S806,三个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例3所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例1提供的计算机终端10中。
需要说明的是,本实施例的可选或优选实施方式可以参见实施例1、2和3中的相关描述,此处不再赘述。
实施例8
根据本申请的实施例,还提供一种计算机终端的实施例,该计算机终端可以是计算机终端群中的任意一个计算机终端设备。可选地,在本实施例中,上述计算机终端也可以替换为移动终端等终端设备。
可选地,在本实施例中,上述计算机终端可以位于计算机网络的多个网络设备中的至少一个网络设备。
在本实施例中,上述计算机终端可以执行虚拟机的迁移处理方法中以下步骤的程序代码:在将虚拟机迁移至目标宿主设备上时,初始化源宿主设备中第一图形处理单元对应的第一缓存空间,其中,上述第一缓存空间用于存储上述第一图形处理单元对应的任务;在初始化上述第一缓存空间后,将预先备份的未执行的任务加载至上述第一缓存空间中;将上述未执行的任务发送至上述目标宿主设备的第二图形处理单元。
可选地,图11是根据本申请实施例的一种计算机终端的结构框图,如图11所示,该计算机终端1100可以包括:一个或多个(图中仅示出一个)处理器1102、存储器1104、以及外设接口1106。
其中,存储器可用于存储软件程序以及模块,如本申请实施例中的虚拟机的迁移处理方法和装置对应的程序指令/模块,处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的虚拟机的迁移处理方法。存储器可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端1100。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
处理器可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:在将虚拟机迁移至目标宿主设备上时,初始化源宿主设备中第一图形处理单元对应的第一缓存空间,其中,上述第一缓存空间用于存储上述第一图形处理单元对应的任务;在初始化上述第一缓存空间后,将预先备份的未执行的任务加载至上述第一缓存空间中;将上述未执行的任务发送至上述目标宿主设备的第二图形处理单元。
可选的,上述处理器还可以执行如下步骤的程序代码:对上述第一图形处理单元的上述未执行的任务进行备份,得到备份任务;并将上述备份任务存储至第二缓存空间中。
可选的,上述处理器还可以执行如下步骤的程序代码:通过上述第一图形处理单元的驱动程序中的监测模块对上述未执行的任务进行备份,其中,上述监测模块用于维护上述第二缓存空间。
可选的,上述处理器还可以执行如下步骤的程序代码:在检测到上述虚拟机开始向上述目标宿主设备迁移时,暂停上述CPU向上述第一缓存空间下发上述第一图形处理单元待执行的任务。
可选的,上述处理器还可以执行如下步骤的程序代码:从上述第一缓存空间中删除上述第二图形处理单元已经执行的任务。
处理器可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:在将虚拟机迁移至目标宿主设备上时,目标宿主设备接收来自源宿主设备的第一图形处理单元未执行的任务;上述目标宿主设备中的第二图形处理单元执行上述未执行的任务。
可选的,上述处理器还可以执行如下步骤的程序代码:上述第二图形处理单元加载上述第一图形处理单元的驱动程序,并依据上述驱动程序进行初始化处理。
可选的,上述处理器还可以执行如下步骤的程序代码:上述第二图形处理单元从与上述第一图形处理单元对应的命令缓存中读取上述未执行的任务;并按照上述命令缓存中上述未执行任务的加载顺序执行上述未执行的任务。
处理器可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:在将虚拟机迁移至目标宿主设备上时,初始化源宿主设备中第一图形处理单元对应的第一缓存空间,其中,上述第一缓存空间用于存储上述第一图形处理单元对应的任务;在初始化上述第一缓存空间后,从第二缓存空间中获取预先备份的上述第一图形处理单元未执行的任务,并将获取的未执行的任务加载至上述第一缓存空间中;将上述未执行的任务发送至上述目标宿主设备的第二图形处理单元。
采用本申请实施例,提供了一种虚拟机的迁移处理的方案。通过在将虚拟机迁移至目标宿主设备上时,初始化源宿主设备中第一图形处理单元对应的第一缓存空间,其中,上述第一缓存空间用于存储上述第一图形处理单元对应的任务;在初始化上述第一缓存空间后,将预先备份的未执行的任务加载至上述第一缓存空间中;将上述未执行的任务发送至上述目标宿主设备的第二图形处理单元。
由此,本申请实施例达到了在虚拟机进行热迁移的过程中,实现在不中断业务的情况下迁移到目标宿主机的目的,从而实现了提高虚拟机的热迁移的速率的技术效果,进而解决了在虚拟机进行热迁移的过程中,虚拟机无法实现在不中断业务的情况下迁移到目标宿主机的技术问题。
本领域普通技术人员可以理解,图11所示的结构仅为示意,计算机终端也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌声电脑以及移动互联网设备(MobileInternet Devices,MID)、PAD等终端设备。图11其并不对上述电子装置的结构造成限定。例如,计算机终端1100还可包括比图11中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图11所示不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。
实施例9
根据本申请的实施例,还提供了一种存储介质的实施例。可选地,在本实施例中,上述存储介质可以用于保存上述实施例1、2、3所提供的虚拟机的迁移处理方法所执行的程序代码。
可选地,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:在将虚拟机迁移至目标宿主设备上时,初始化源宿主设备中第一图形处理单元对应的第一缓存空间,其中,上述第一缓存空间用于存储上述第一图形处理单元对应的任务;在初始化上述第一缓存空间后,将预先备份的未执行的任务加载至上述第一缓存空间中;将上述未执行的任务发送至上述目标宿主设备的第二图形处理单元。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:对上述第一图形处理单元的上述未执行的任务进行备份,得到备份任务;并将上述备份任务存储至第二缓存空间中。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:通过上述第一图形处理单元的驱动程序中的监测模块对上述未执行的任务进行备份,其中,上述监测模块用于维护上述第二缓存空间。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:在检测到上述虚拟机开始向上述目标宿主设备迁移时,暂停上述CPU向上述第一缓存空间下发上述第一图形处理单元待执行的任务。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:从上述第一缓存空间中删除上述第二图形处理单元已经执行的任务。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:在将虚拟机迁移至目标宿主设备上时,目标宿主设备接收来自源宿主设备的第一图形处理单元未执行的任务;上述目标宿主设备中的第二图形处理单元执行上述未执行的任务。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:上述第二图形处理单元加载上述第一图形处理单元的驱动程序,并依据上述驱动程序进行初始化处理。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:上述第二图形处理单元从与上述第一图形处理单元对应的命令缓存中读取上述未执行的任务;并按照上述命令缓存中上述未执行任务的加载顺序执行上述未执行的任务。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:在将虚拟机迁移至目标宿主设备上时,初始化源宿主设备中第一图形处理单元对应的第一缓存空间,其中,上述第一缓存空间用于存储上述第一图形处理单元对应的任务;在初始化上述第一缓存空间后,从第二缓存空间中获取预先备份的上述第一图形处理单元未执行的任务,并将获取的未执行的任务加载至上述第一缓存空间中;将上述未执行的任务发送至上述目标宿主设备的第二图形处理单元。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

Claims (15)

1.一种虚拟机的迁移处理方法,包括:
在将虚拟机迁移至目标宿主设备上时,初始化源宿主设备中第一图形处理单元对应的第一缓存空间,其中,所述第一缓存空间用于存储所述第一图形处理单元对应的任务;
在初始化所述第一缓存空间后,将预先备份的未执行的任务加载至所述第一缓存空间中;
将所述未执行的任务发送至所述目标宿主设备的第二图形处理单元;
初始化源宿主设备中第一图形处理单元对应的第一缓存空间之前,所述方法还包括:对所述第一图形处理单元的所述未执行的任务进行备份,得到备份任务;并将所述备份任务存储至第二缓存空间中;对所述第一图形处理单元的所述未执行的任务进行备份包括:通过所述第一图形处理单元的驱动程序中的监测模块对所述未执行的任务进行备份,其中,所述监测模块用于维护所述第二缓存空间。
2.根据权利要求1所述的方法,其中,所述第一缓存空间为所述源宿主设备中的CPU和所述第一图形处理单元的共享空间。
3.根据权利要求2所述的方法,其中,将所述未执行的任务发送至所述目标宿主设备的第二图形处理单元之前,所述方法还包括:
在检测到所述虚拟机开始向所述目标宿主设备迁移时,暂停所述CPU向所述第一缓存空间下发所述第一图形处理单元待执行的任务。
4.根据权利要求1所述的方法,其中,所述第一缓存空间与所述第二缓存空间的存储的命令缓存相同。
5.根据权利要求1所述的方法,其中,将所述未执行的任务发送至所述目标宿主设备的第二图形处理单元之后,所述方法还包括:
从所述第一缓存空间中删除所述第二图形处理单元已经执行的任务。
6.根据权利要求1至5中任意一项所述的方法,其中,所述第一缓存空间包括:所述第一图形处理单元对应的命令缓存。
7.一种虚拟机的迁移处理方法,包括:
在将虚拟机迁移至目标宿主设备上时,目标宿主设备接收来自源宿主设备的第一图形处理单元未执行的任务;
所述目标宿主设备中的第二图形处理单元执行所述未执行的任务;
对所述第一图形处理单元的所述未执行的任务进行备份,得到备份任务;并将所述备份任务存储至第二缓存空间中;对所述第一图形处理单元的所述未执行的任务进行备份包括:通过所述第一图形处理单元的驱动程序中的监测模块对所述未执行的任务进行备份,其中,所述监测模块用于维护所述第二缓存空间。
8.根据权利要求7所述的方法,其中,所述目标宿主设备中的图形处理单元执行所述未执行的任务之前,所述方法还包括:
所述第二图形处理单元加载所述第一图形处理单元的驱动程序,并依据所述驱动程序进行初始化处理。
9.根据权利要求7所述的方法,其中,所述目标宿主设备中的第二图形处理单元执行所述未执行的任务,包括:
所述第二图形处理单元从与所述第一图形处理单元对应的命令缓存中读取所述未执行的任务;并按照所述命令缓存中所述未执行的任务的加载顺序执行所述未执行的任务。
10.一种虚拟机的迁移处理方法,包括:
在将虚拟机迁移至目标宿主设备上时,初始化源宿主设备中第一图形处理单元对应的第一缓存空间,其中,所述第一缓存空间用于存储所述第一图形处理单元对应的任务;
在初始化所述第一缓存空间后,从第二缓存空间中获取预先备份的所述第一图形处理单元未执行的任务,并将获取的未执行的任务加载至所述第一缓存空间中,其中,通过所述第一图形处理单元的驱动程序中的监测模块对所述未执行的任务进行备份;
将所述未执行的任务发送至所述目标宿主设备的第二图形处理单元。
11.根据权利要求10所述的方法,其中,初始化源宿主设备中第一图形处理单元对应的第一缓存空间之前,所述方法还包括:
对所述第一图形处理单元的所述未执行的任务进行备份,得到备份任务;并将所述备份任务存储至所述第二缓存空间中。
12.根据权利要求10所述的方法,其中,所述第一缓存空间为所述源宿主设备中的CPU和所述第一图形处理单元的共享空间。
13.根据权利要求12所述的方法,其中,将所述未执行的任务发送至所述目标宿主设备的第二图形处理单元之前,所述方法还包括:
在检测到所述虚拟机开始向所述目标宿主设备迁移时,暂停所述CPU向所述第一缓存空间下发所述第一图形处理单元待执行的任务。
14.一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行权利要求1至6中任意一项所述的虚拟机的迁移处理方法。
15.一种计算设备,包括:
微处理单元,用于向第一图形处理单元对应的命令缓存下发任务;
第一图形处理单元,用于从所述命令缓存中读取任务,并在虚拟机进行热迁移时,将预先备份的未执行的任务发送至目标宿主设备的第二图形处理单元;对所述第一图形处理单元的所述未执行的任务进行备份,得到备份任务;并将所述备份任务存储至第二缓存空间中;对所述第一图形处理单元的所述未执行的任务进行备份包括:通过所述第一图形处理单元的驱动程序中的监测模块对所述未执行的任务进行备份,其中,所述监测模块用于维护所述第二缓存空间。
CN201811163322.2A 2018-09-30 2018-09-30 虚拟机的迁移处理方法、存储介质、计算设备 Active CN110968393B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811163322.2A CN110968393B (zh) 2018-09-30 2018-09-30 虚拟机的迁移处理方法、存储介质、计算设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811163322.2A CN110968393B (zh) 2018-09-30 2018-09-30 虚拟机的迁移处理方法、存储介质、计算设备

Publications (2)

Publication Number Publication Date
CN110968393A CN110968393A (zh) 2020-04-07
CN110968393B true CN110968393B (zh) 2023-05-02

Family

ID=70029472

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811163322.2A Active CN110968393B (zh) 2018-09-30 2018-09-30 虚拟机的迁移处理方法、存储介质、计算设备

Country Status (1)

Country Link
CN (1) CN110968393B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110941476B (zh) * 2019-11-14 2023-01-24 济南浪潮数据技术有限公司 一种虚拟机热迁移的控制方法、控制装置及控制设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102262557A (zh) * 2010-05-25 2011-11-30 运软网络科技(上海)有限公司 通过总线架构构建虚拟机监控器的方法及性能服务框架
CN102333037A (zh) * 2011-10-20 2012-01-25 中兴通讯股份有限公司 虚拟机迁移方法及装置
CN102763098A (zh) * 2009-12-14 2012-10-31 思杰系统有限公司 用于在可信和不可信虚拟机之间通信的方法和系统
US9158578B1 (en) * 2011-12-30 2015-10-13 Emc Corporation System and method for migrating virtual machines
CN106469085A (zh) * 2016-08-31 2017-03-01 北京航空航天大学 虚拟机在线迁移方法、装置及系统
CN107111498A (zh) * 2014-11-12 2017-08-29 英特尔公司 利用图形虚拟化从/向主机计算机进行虚拟机的实时迁移
WO2018049567A1 (zh) * 2016-09-13 2018-03-22 华为技术有限公司 一种应用迁移方法、装置及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9354918B2 (en) * 2014-02-10 2016-05-31 International Business Machines Corporation Migrating local cache state with a virtual machine

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102763098A (zh) * 2009-12-14 2012-10-31 思杰系统有限公司 用于在可信和不可信虚拟机之间通信的方法和系统
CN102262557A (zh) * 2010-05-25 2011-11-30 运软网络科技(上海)有限公司 通过总线架构构建虚拟机监控器的方法及性能服务框架
CN102333037A (zh) * 2011-10-20 2012-01-25 中兴通讯股份有限公司 虚拟机迁移方法及装置
US9158578B1 (en) * 2011-12-30 2015-10-13 Emc Corporation System and method for migrating virtual machines
CN107111498A (zh) * 2014-11-12 2017-08-29 英特尔公司 利用图形虚拟化从/向主机计算机进行虚拟机的实时迁移
CN106469085A (zh) * 2016-08-31 2017-03-01 北京航空航天大学 虚拟机在线迁移方法、装置及系统
WO2018049567A1 (zh) * 2016-09-13 2018-03-22 华为技术有限公司 一种应用迁移方法、装置及系统

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Fei Zhang 等.A Survey on Virtual Machine Migration: Challenges, Techniques, and Open Issues.IEEE COMMUNICATIONS SURVEYS &amp TUTORIALS.2018,第20卷(第2期),全文. *
王志钢 等.Mbalancer:虚拟机内存资源动态预测与调配.软件学报.2014,第25卷(第10期),全文. *
袁野 等.虚拟机内存迁移技术研究.小型微型计算机系统.2014,第35卷(第2期),全文. *

Also Published As

Publication number Publication date
CN110968393A (zh) 2020-04-07

Similar Documents

Publication Publication Date Title
US10802870B2 (en) Virtual machine live migration method, virtual machine memory data processing method, server, and virtual machine system
CN107003892B (zh) Gpu虚拟化方法、装置、系统及电子设备、计算机程序产品
CN108205506B (zh) 虚拟机热迁移的方法、虚拟机内存数据处理方法、服务器和虚拟机系统
RU2595909C2 (ru) Способ и аппарат для отображения образа прикладного объекта
EP3951590A1 (en) Migration method and system of virtual machine
US10572434B2 (en) Intelligent certificate discovery in physical and virtualized networks
CN110968392B (zh) 一种升级虚拟化模拟器的方法和装置
CN110704161B (zh) 虚拟机创建方法、装置及计算机设备
CN114153782B (zh) 数据处理系统、方法和存储介质
US10318343B2 (en) Migration methods and apparatuses for migrating virtual machine including locally stored and shared data
CN114691300A (zh) 一种虚拟机实例的热迁移方法
US10467078B2 (en) Crash dump extraction of guest failure
CN110968393B (zh) 虚拟机的迁移处理方法、存储介质、计算设备
CN110888834A (zh) 一种pcie设备中fpga功能动态重构的方法及系统
US10649832B2 (en) Technologies for headless server manageability and autonomous logging
US20150227383A1 (en) Application program virtualization system and method of virtualizing application program of user terminal
CN110874264B (zh) 实例热迁移方法及装置、存储介质、处理器
CN116775413A (zh) 一种pcie拓扑扫描方法、装置、设备及可读存储介质
CN116302337A (zh) 虚拟机迁移方法、设备及存储介质
CN114416148A (zh) 一种虚拟机管理程序热升级方法、装置及存储介质
CN109308232A (zh) 虚拟机热迁移故障后回滚的方法、装置以及系统
CN111984397B (zh) 计算资源分配系统和方法
CN113448677B (zh) 虚拟机的数据处理方法和系统
CN108235757A (zh) 一种操作系统屏幕锁定的方法、装置及电子设备
CN107256133B (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40026972

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant