CN109542829A - 多***中gpu设备的控制方法、装置及电子设备 - Google Patents

多***中gpu设备的控制方法、装置及电子设备 Download PDF

Info

Publication number
CN109542829A
CN109542829A CN201811446937.6A CN201811446937A CN109542829A CN 109542829 A CN109542829 A CN 109542829A CN 201811446937 A CN201811446937 A CN 201811446937A CN 109542829 A CN109542829 A CN 109542829A
Authority
CN
China
Prior art keywords
operating system
gpu equipment
gpu
equipment
true
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
CN201811446937.6A
Other languages
English (en)
Other versions
CN109542829B (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.)
Beijing Yuanxin Science and Technology Co Ltd
Original Assignee
Beijing Yuanxin Science and Technology Co 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 Beijing Yuanxin Science and Technology Co Ltd filed Critical Beijing Yuanxin Science and Technology Co Ltd
Priority to CN201811446937.6A priority Critical patent/CN109542829B/zh
Publication of CN109542829A publication Critical patent/CN109542829A/zh
Application granted granted Critical
Publication of CN109542829B publication Critical patent/CN109542829B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)

Abstract

本申请实施例提供了一种多***中GPU设备的控制方法、装置及电子设备。该方法包括:检测到第一操作***与第二操作***间的切换请求时,中断第一操作***对真实的图像处理器GPU设备的控制,并通过快照技术创建GPU设备快照;根据GPU设备快照进行模拟得到模拟GPU设备,并将模拟GPU设备提供至第一操作***;将真实的GPU设备提供给第二操作***,以完成真实GPU设备从第一操作***至第二操作***的切换。本申请实施例实现了真实的GPU设备在不同操作***间的动态切换,解决了现有技术利用第一操作***进行模拟导致的计算消耗和存储资源的技术问题。

Description

多***中GPU设备的控制方法、装置及电子设备
技术领域
本申请涉及数据处理技术领域,具体而言,本申请涉及一种多***中GPU设备的控制方法、装置及电子设备。
背景技术
随着多***设备的发展,为实现多***对GPU设备的利用,相关技术中,一般是通过对真实的GPU设备具有使用权的操作***(即主控***)运行模拟软件,并将模拟得到的GPU设备提供给其他操作***使用。
然而通过主控***进行模拟以实现向多***提供GPU设备的方式,不仅消耗主控***的计算和存储资源,还会导致不同操作***在切换中的延迟问题,从而失去GPU加速效果优势,进而影响真实的GPU设备无法实现在不同操作***间的动态切换。
发明内容
本申请提供了一种多***中GPU设备的控制方法、装置及电子设备,可以解决上述至少一个技术问题。所述技术方案如下:
第一方面,本申请提供了一种多***中GPU设备的控制方法,该方法包括:
检测到第一操作***与第二操作***间的切换请求时,中断第一操作***对真实图像处理器GPU设备的控制,并通过快照技术创建GPU设备快照;
根据GPU设备快照进行模拟得到模拟GPU设备,并将模拟GPU设备提供至第一操作***;
将真实的GPU设备提供给第二操作***,以完成真实的GPU设备从第一操作***至第二操作***的切换。
第二方面,本申请提供了一种多***中GPU设备的控制装置,该装置包括:
***切换检测模块,用于检测到第一操作***与第二操作***间的切换请求时,中断第一操作***对真实的图像处理器GPU设备的控制,并通过快照技术创建GPU设备快照;
设备模拟处理模块,用于根据GPU设备快照进行模拟得到模拟GPU设备,并将模拟GPU设备提供至第一操作***;
***切换处理模块,用于将真实的GPU设备提供给第二操作***,以完成真实GPU设备从第一操作***至第二操作***的切换。
第三方面,本申请提供了一种电子设备,电子设备包括:
一个或多个处理器;
存储器;
一个或多个应用程序,其中一个或多个应用程序被存储在存储器中并被配置为由一个或多个处理器执行,一个或多个程序配置用于:执行多***中GPU设备的控制方法。
第四方面,本申请提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行多***中GPU设备的控制方法。
本申请实施例提供的技术方案带来的有益效果是:检测到第一操作***与第二操作***间的切换请求,中断第一操作***对真实的GPU设备的控制,同时通过快照技术创建GPU设备快照,以便根据GPU设备快照进行模拟得到模拟GPU设备,解决了现有技术利用第一操作***进行GPU设备模拟而导致的计算消耗和资源存储问题;接着,将模拟GPU设备提供至第一操作***,保证了第一操作***在失去对真实的GPU设备控制后,能够利用模拟GPU设备继续提供服务,而将真实的GPU设备提供给第二操作***,完成了真实的GPU设备从第一操作***至第二操作***的切换,实现了将真实的GPU设备在不同操作***间进行动态切换的目的。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。
图1为本申请实施例提供的一种多***中GPU设备的控制方法的流程示意图;
图2为本申请实施例提供的一种多***中GPU设备的控制装置的结构示;
图3为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本申请的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
首先对本申请涉及的几个名词进行介绍和解释:
图形处理器(英文Graphics Processing Unit,简称GPU),又称显示核心、视觉处理器、显示芯片,是一种专门在个人电脑、工作站、游戏机和一些移动设备(如平板电脑、智能手机等)上图像运算工作的微处理器。
快照技术是一种综合数据备份与数据恢复的技术手段,具有防范数据丢失的功能。可以实时对存储设备进行数据备份,因而在存储设备发生应用故障或者文件损坏时,能够根据备份的数据进行快速的数据恢复,将存储设备的数据恢复到某个可用的时间点的状态。
Hypervisor是一种运行在物理服务器和操作***之间的中间软件层,可允许多个操作***和应用访问服务器上包括磁盘和内存在内的所有物理设备。Hypervisors不但协调着这些硬件资源的访问,也同时在各个虚拟机之间施加防护。当服务器启动并执行Hypervisor时,它会加载所有虚拟机客户端的操作***,同时会分配给每一台虚拟机适量的内存、CPU、网络和磁盘。
在运行多***的同一硬件设备中,为了实现各操作***对GPU设备的调用,当终端设备启动并执行Hypervisor时,需要向各操作***分配GPU设备。相关技术中,一般的做法是利用主控***对真实的GPU设备进行模拟,将模拟得到的GPU设备进行分配,以实现多***调用GPU设备的目的。然而这种方式,不仅模拟过程需要消耗计算和内存资源,并且会因调用模拟得到的GPU设备的操作***带而产生调用延迟的问题,从而失去GPU加速效果。同时,GPU设备无法在各操作***间进行动态切换。
本申请提供的多***中GPU设备的控制方法、装置及电子设备,旨在解决现有技术的如上技术问题。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
实施例一
本申请实施例提供了一种多***中GPU设备的控制方法,如图1所示,该方法包括:步骤S101至步骤S103。
其中,步骤S101、检测到第一操作***与第二操作***间的切换请求时,中断第一操作***对真实的图像处理器GPU设备的控制,并通过快照技术创建GPU设备快照。
对于本申请实施例,在检测到第一操作***与第二操作***间的切换请求时,中断第一操作***对真实的GPU设备的控制,并创建GPU设备快照,以便根据GPU设备快照进行模拟处理。
具体地,通过hypervisor执行本申请实施例提供的多***中GPU设备的控制方法。
对于本申请实施例,应用本申请提供的方法的执行主体为电子设备,该电子设备中运行有多个操作***,各操作***都可以控制真实的GPU设备,利用hypervisor对电子设备中各操作***进行管理。
具体地,第一操作***处于前台时,第一操作***控制真实的GPU设备,hypervisor检测到第一操作***与第二操作***间的切换请求时,即欲将第二操作***切换到前台,hypervisor根据该切换请求中断第一操作***对真实的GPU设备的控制,并利用快照技术创建GPU设备快照。
具体地,第一操作***和第二操作***都是电子设备上的操作***,实际应用时,电子设备上的操作***可以为win7***、vista***、Linux***等。
步骤S102、根据GPU设备快照进行模拟得到模拟GPU设备,并将模拟GPU设备提供至第一操作***。
对于本申请实施例,GPU设备快照用于表征在第一操作***中断对真实的GPU设备的控制的时间点的条件下的真实的GPU设备的状态。
对于本申请实施例,根据GPU设备快照进行模拟得到模拟GPU设备,以便将模拟GPU设备提供给第一操作***,使第一操作***在被中断对真实的GPU设备的控制后,能够控制并使用模拟GPU设备,继续通过模拟GPU设备提供服务。
步骤S103、将真实的GPU设备提供给第二操作***,以完成真实GPU设备从第一操作***至第二操作***的切换。
对于本申请实施例,将真实的GPU设备提供给第二操作***,目的在于完成真实的GPU设备在不同操作间的切换。
实际应用时,hypervisor将真实的GPU设备提供给第二操作***,完成真实的GPU设备在不同操作间的切换。
本申请实施例检测到第一操作***与第二操作***间的切换请求时,中断第一操作***对真实的GPU设备的控制,通过快照技术创建GPU设备快照,以便根据GPU设备快照进行模拟,得到模拟GPU设备,解决了现有技术利用第一操作***进行GPU设备模拟而导致的计算消耗和资源存储问题。接着,将模拟GPU设备提供给第一操作***,保证了第一操作***在失去对真实的GPU设备控制后,能够继续利用模拟GPU设备继续提供服务,而将真实的GPU设备提供给第二操作***,完成了真实的GPU设备从第一操作***至第二操作***的切换,实现了将真实的GPU设备在不同操作***间进行动态切换的目的。
在另一个实施例中,步骤S101中中断第一操作***对真实GPU设备的控制,包括步骤S1011(图中未示出),且步骤S102中将模拟GPU设备提供至第一操作***之后,该方法包括:步骤S1021(图中未示出)。
其中,步骤S1011、控制预先提供给第一操作***的虚拟CPU暂停工作,以停止第一操作***通过提供给第一操作***的虚拟CPU向真实GPU设备发送计算任务。
实际应用时,第一操作***控制真实的GPU设备,第一操作***能够通过提供给第一操作***的虚拟CPU向真实的GPU设备发送计算任务,hypervisor检测到第一操作***与第二操作***间的切换请求时,hypervisor控制提供给第一操作***的虚拟CPU暂停工作,此时,第一操作***无法再发送新的计算任务,因而真实的GPU设备将不再接收第一操作***发送的新的计算任务,从而实现中断第一操作***对真实的GPU设备的控制的目的。
对于本申请实施例,通过控制提供给第一操作***的虚拟CPU暂停服务,以保证真实的GPU设备无法再接收新的计算任务,以便在真实的GPU设备空闲时,hypervisor利用快照技术创建GPU设备快照,为后期得到模拟GPU设备提供真实的GPU设备的状态数据。
步骤S1021、控制提供给第一操作***的虚拟CPU恢复工作,以使第一操作***通过提供给第一操作***的虚拟CPU向针对第一操作***的模拟GPU设备发送计算任务。
实际应用时,hypervisor中断第一操作***对真实的GPU设备的控制,并通过快照技术创建GPU设备快照,以根据GPU设备快照进行模拟得到模拟GPU设备,hypervisor将得到的模拟GPU设备提供给第一操作***,控制提供给第一操作的虚拟CPU恢复工作,以便第一操作***控制模拟GPU设备,从而使第一操作***能够通过提供给第一操作***的虚拟CPU向模拟GPU设备发送计算任务。
对于本申请实施例,通过将模拟GPU设备提供给第一操作***,解决了第一操作***在失去对真实的GPU设备的控制后,能够控制并利用模拟GPU设备,继续通过模拟GPU设备提供服务。
在又一个实施例中,步骤S101中通过快照技术创建GPU设备快照,包括:步骤S1012(图中未示出),且步骤S102中根据GPU设备快照进行模拟得到模拟GPU设备,包括步骤S1022(图中未示出)。
其中,步骤S1021、读取真实的GPU设备在空闲状态下的寄存器的数据,并依据读取到的寄存器的数据形成符合预定格式的GPU设备快照。
步骤S1022、根据符合预定格式的GPU设备的快照进行模拟,得到模拟GPU设备。
实际应用时,hypervisor利用快照技术读取真实的GPU设备在空闲状态下寄存器的数据,并依据读取到的寄存器的数据形成符合预定格式的GPU设备快照,以保证用于模拟的GPU设备快照符合模拟处理所要求的格式,从而得到模拟GPU设备。
在又一个实施例中,在检测到第一操作***与第二操作***间的切换请求前,第二操作***由预先模拟得到的针对第二操作***的模拟GPU设备提供计算服务;步骤S103中将真实GPU设备提供给第二操作***,包括步骤S1031(图中未示出)。
其中,步骤S1031、中断第二操作***对针对第二操作***的模拟GPU设备的控制,并将真实的GPU设备提供给第二操作***。
实际应用时,hypervisor控制预先提供给第二操作***的虚拟CPU暂停工作,实现中断第二操作***对模拟GPU设备A的控制的目的,hypervisor将真实的GPU设备提供给第二操作***,hypervisor控制提供给第二操作***的虚拟CPU恢复工作,以便第二操作***控制真实的GPU设备,从而实现将真实的GPU设备在第一操作***与第二操作***间进行动态切换的目的。
进一步地,本申请实施例是利用hypervisor执行多***中GPU设备的控制方法,因而在hypervisor被启动后,控制预设的GPU热模拟服务模块启动,以利用GPU热模拟服务模块对GPU设备快照进行模拟,得到模拟GPU设备。
本实施例通过GPU热模拟服务模块提供了模拟技术,实现了根据GPU设备快照进行模拟,以得到模拟GPU设备的目的,解决了现有技术利用主控***,即对真实的GPU设备具有使用权的操作***,对真实的GPU设备进行模拟而导致的计算消耗和存储资源的技术问题,从而保证了对真实的GPU设备的加速效果。
下面以应用本申请实施例提供的多***中GPU设备的控制方法的执行主体为电子设备进行说明。假设电子设备中包括A操作***和B操作***。
启动过程:
电子设备开机后,hypervisor被启动后,hypervisor启动GPU热模拟服务模块。Hypervisor启动A操作***,并将真实的GPU设备提供给A操作***,以便实现A操作***控制并利用真实的GPU设备的目的。Hypervisor控制提供给A操作***的虚拟CPU暂停工作,以实现控制A操作***停止向真实的GPU设备发送计算任务的目的。Hypervisor控制提供给A操作***的虚拟CPU暂停工作,利用快照技术创建GPU设备快照,Hypervisor将GPU设备快照输入至GPU热模拟服务模块进行模拟,得到模拟GPU设备A后,Hypervisor将模拟GPU设备A提供给A操作***,Hypervisor控制提供给A操作***的虚拟CPU恢复工作。Hypervisor启动B操作***,将真实的GPU设备提供给B操作***,B操作***启动后实现利用真实的GPU设备的目的。到此完成电子设备中所有操作***的启动。
B操作***与A操作***间的切换过程:
B操作***向Hypervisor发送切换请求,Hypervisor检测到B操作***切换为A操作***的切换请求时,Hypervisor控制提供给B操作***的虚拟CPU暂停工作,Hypervisor利用快照技术创建GPU设备快照,Hypervisor将此处创建的GPU设备快照输入至GPU热模拟服务模块进行模拟,得到模拟GPU设备B后,Hypervisor将模拟GPU设备B提供给B操作***,Hypervisor控制提供给B操作***的虚拟CPU恢复工作,实现B操作***使用模拟GPU设备B的目的。此时,A操作***控制的为模拟GPU设备A,Hypervisor控制提供给A操作***的虚拟CPU暂停工作,并将真实的GPU设备提供给A操作***,Hypervisor控制提供给A操作***的虚拟CPU恢复工作,以使A操作***控制并使用真实的GPU设备,进而完成真实的GPU设备在B操作***与A操作***间的切换。
需要说明的是,本申请实施例中包括两个操作***,实际应用时,操作***的数量可以多于两个。实际应用时,电子设备不论是包括两个操作***,还是包括多个操作***,均需要参照本实施例中启动过程和切换过程,以保证在各操作***中的一个操作***对真实的GPU设备具有使用权的前提下,其他各操作***都能由各自的模拟GPU设备提供服务。
实施例二
本申请实施例提供了一种多***中GPU设备的控制装置,如图2所示,该多***中GPU设备的控制装置20可以包括:***切换检测模块201、设备模拟处理模块202以及***切换处理模块203。
其中,***切换检测模块201,用于检测到第一操作***与第二操作***间的切换请求时,中断第一操作***对真实的图像处理器GPU设备的控制,并通过快照技术创建GPU设备快照;
设备模拟处理模块202,用于根据GPU设备快照进行模拟得到模拟GPU设备,并将模拟GPU设备提供至第一操作***;
***切换处理模块203,用于将真实的GPU设备提供给第二操作***,以完成真实GPU设备从第一操作***至第二操作***的切换。
本申请实施例检测到第一操作***与第二操作***间的切换请求时,中断第一操作***对真实的GPU设备的控制,通过快照技术创建GPU设备快照,以便根据GPU设备快照进行模拟,得到模拟GPU设备,解决了现有技术利用第一操作***进行GPU设备模拟而导致的计算消耗和资源存储问题。接着,将模拟GPU设备提供给第一操作***,保证了第一操作***在失去对真实的GPU设备控制后,能够继续利用模拟GPU设备继续提供服务,而将真实的GPU设备提供给第二操作***,完成了真实的GPU设备从第一操作***至第二操作***的切换,实现了将真实的GPU设备在不同操作***间进行动态切换的目的。
进一步,***切换检测模块201,用于控制预先提供给第一操作***的虚拟CPU暂停工作,以停止第一操作***通过提供给第一操作***的虚拟CPU向真实GPU设备发送计算任务;且设备模拟处理模块202,用于将模拟GPU设备提供至第一操作***之后,包括:控制提供给第一操作***的虚拟CPU恢复工作,以使第一操作***通过提供给第一操作***的虚拟CPU向针对第一操作***的模拟GPU设备发送计算任务。
对于本申请实施例,通过将模拟GPU设备提供给第一操作***,解决了第一操作***在失去对真实的GPU设备的控制后,能够控制模拟GPU设备,实现模拟GPU设备向第一操作***服务的目的。
进一步地,在检测到第一操作***与第二操作***间的切换请求前,第二操作***由预先模拟得到的针对第二操作***的模拟GPU设备提供计算服务;设备模拟处理模块202,用于中断第二操作***对针对第二操作***的模拟GPU设备的控制,并将真实的GPU设备提供给第二操作***。
进一步地,***切换检测模块201,用于读取真实GPU设备在空闲状态下的寄存器的数据,并依据读取到的寄存器的数据形成符合预定格式的GPU设备的快照;且设备模拟处理模块202,用于根据符合预定格式的GPU设备的快照进行模拟,得到模拟GPU设备。
进一步地,通过hypervisor执行本申请实施例提供的多***中GPU设备的控制方法。
更进一步地,该装置还包括启动模块204(图中未示出),其中,启动模块204,用于在hypervisor被启动后,控制预设的GPU热模拟服务模块启动,以利用GPU热模拟服务模块对GPU设备快照进行模拟,得到模拟GPU设备。
本实施例的多***中GPU设备的控制装置可执行本申请实施例一提供的一种多***中GPU设备的控制方法,其实现原理相类似,此处不再赘述。
实施例三
本申请实施例提供了一种电子设备,如图3所示,图3所示的电子设备400包括:处理器4001和存储器4003。其中,处理器4001和存储器4003相连,如通过总线4002相连。进一步地,电子设备400还可以包括收发器4004,收发器4004用于在电子设备和其他设备间提供通信功能。需要说明的是,实际应用中收发器4004不限于一个,该电子设备400的结构并不构成对本申请实施例的限定。
处理器4001可以是CPU,通用处理器,DSP,ASIC,FPGA或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器4001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线4002可包括一通路,在上述组件之间传送信息。总线4002可以是PCI总线或EISA总线等。总线4002可以分为地址总线、数据总线、控制总线等。为便于表示,图3中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器4003可以是ROM或可存储静态信息和指令的其他类型的静态存储设备,RAM或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM、CD-ROM或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
存储器4003用于存储执行本申请方案的应用程序代码,并由处理器4001来控制执行。处理器4001用于执行存储器4003中存储的应用程序代码,以实现图2所示实施例提供的多***中GPU设备的控制装置。
本申请实施例检测到第一操作***与第二操作***间的切换请求时,中断第一操作***对真实的GPU设备的控制,通过快照技术创建GPU设备快照,以便根据GPU设备快照进行模拟,得到模拟GPU设备,解决了现有技术利用第一操作***进行GPU设备模拟而导致的计算消耗和资源存储问题。接着,将模拟GPU设备提供给第一操作***,保证了第一操作***在失去对真实的GPU设备控制后,能够继续利用模拟GPU设备继续提供服务,而将真实的GPU设备提供给第二操作***,完成了真实的GPU设备从第一操作***至第二操作***的切换,实现了将真实的GPU设备在不同操作***间进行动态切换的目的。
实施例四
本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现实施例一所示的方法。
本申请实施例提供了一种计算机可读存储介质,与现有技术相比,检测到第一操作***与第二操作***间的切换请求时,中断第一操作***对真实的GPU设备的控制,通过快照技术创建GPU设备快照,以便根据GPU设备快照进行模拟,得到模拟GPU设备,解决了现有技术利用第一操作***进行GPU设备模拟而导致的计算消耗和资源存储问题。接着,将模拟GPU设备提供给第一操作***,保证了第一操作***在失去对真实的GPU设备控制后,能够继续利用模拟GPU设备继续提供服务,而将真实的GPU设备提供给第二操作***,完成了真实的GPU设备从第一操作***至第二操作***的切换,实现了将真实的GPU设备在不同操作***间进行动态切换的目的。
本申请实施例提供了一种计算机可读存储介质适用于上述方法实施例。在此不再赘述。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上所述仅是本申请的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

Claims (10)

1.一种多***中GPU设备的控制方法,其特征在于,包括:
检测到第一操作***与第二操作***间的切换请求时,中断所述第一操作***对真实的图像处理器GPU设备的控制,并通过快照技术创建GPU设备快照;
根据所述GPU设备快照进行模拟得到模拟GPU设备,并将所述模拟GPU设备提供至所述第一操作***;
将所述真实的GPU设备提供给所述第二操作***,以完成真实GPU设备从所述第一操作***至所述第二操作***的切换。
2.根据权利要求1所述的方法,其特征在于,所述中断所述第一操作***对真实GPU设备的控制,包括:
控制预先提供给所述第一操作***的虚拟CPU暂停工作,以停止所述第一操作***通过所述提供给第一操作***的虚拟CPU向真实GPU设备发送计算任务;
所述将所述模拟GPU设备提供至所述第一操作***之后,包括:
控制提供给第一操作***的虚拟CPU恢复工作,以使所述第一操作***通过所述提供给第一操作***的虚拟CPU向针对第一操作***的模拟GPU设备发送计算任务。
3.根据权利要求1所述的方法,其特征在于,在检测到第一操作***与第二操作***间的切换请求前,第二操作***由预先模拟得到的针对第二操作***的模拟GPU设备提供计算服务;
所述将真实GPU设备提供给第二操作***,包括:
中断第二操作***对所述针对第二操作***的模拟GPU设备的控制,并将所述真实的GPU设备提供给第二操作***。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述通过快照技术创建GPU设备的快照,包括:
读取真实GPU设备在空闲状态下的寄存器的数据,并依据读取到的寄存器的数据形成符合预定格式的GPU设备的快照;
所述根据所述GPU设备快照进行模拟得到模拟GPU设备,包括:
根据所述符合预定格式的GPU设备的快照进行模拟,得到模拟GPU设备。
5.根据权利要求1所述的方法,其特征在于,通过hypervisor执行所述多***中GPU设备的控制方法。
6.根据权利要求1所述的方法,其特征在于,在hypervisor被启动后,控制预设的GPU热模拟服务模块启动,以利用所述GPU热模拟服务模块对所述GPU设备快照进行模拟,得到模拟GPU设备。
7.一种多***中GPU设备的控制装置,其特征在于,包括:
***切换检测模块,用于检测到第一操作***与第二操作***间的切换请求时,中断所述第一操作***对真实的图像处理器GPU设备的控制,并通过快照技术创建GPU设备快照;
设备模拟处理模块,用于根据所述GPU设备快照进行模拟得到模拟GPU设备,并将所述模拟GPU设备提供至所述第一操作***;
***切换处理模块,用于将所述真实的GPU设备提供给所述第二操作***,以完成真实GPU设备从所述第一操作***至所述第二操作***的切换。
8.根据权利要求7所述的装置,其特征在于,所述***切换检测模块,用于控制预先提供给所述第一操作***的第一虚拟CPU暂停工作,以停止所述第一操作***通过所述提供给第一操作***的虚拟CPU向真实GPU设备发送计算任务;
设备模拟处理模块,还用于将所述模拟GPU设备提供至所述第一操作***之后,控制提供给第一操作***的虚拟CPU恢复工作,以使所述第一操作***通过所述提供给第一操作***的虚拟CPU向针对第一操作***的模拟GPU设备发送计算任务。
9.一种电子设备,其特征在于,其包括:
一个或多个处理器;
存储器;
一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于:执行根据权利要求1-6任一项所述的多***中GPU设备的控制方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-6任一项所述的多***中GPU设备的控制方法。
CN201811446937.6A 2018-11-29 2018-11-29 多***中gpu设备的控制方法、装置及电子设备 Active CN109542829B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811446937.6A CN109542829B (zh) 2018-11-29 2018-11-29 多***中gpu设备的控制方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811446937.6A CN109542829B (zh) 2018-11-29 2018-11-29 多***中gpu设备的控制方法、装置及电子设备

Publications (2)

Publication Number Publication Date
CN109542829A true CN109542829A (zh) 2019-03-29
CN109542829B CN109542829B (zh) 2023-04-25

Family

ID=65851208

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811446937.6A Active CN109542829B (zh) 2018-11-29 2018-11-29 多***中gpu设备的控制方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN109542829B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110119222A (zh) * 2019-04-29 2019-08-13 深圳汇茂科技股份有限公司 基于双***的触控模块切换方法、装置、设备及可读介质
CN110442389A (zh) * 2019-08-07 2019-11-12 北京技德***技术有限公司 一种多桌面环境共享使用gpu的方法
US20210133914A1 (en) * 2019-10-31 2021-05-06 Tactuity LLC Multiple o/s virtual video platform

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101187880A (zh) * 2006-11-15 2008-05-28 联想(北京)有限公司 一种虚拟机***及其显卡使用方法
CN101782861A (zh) * 2009-12-24 2010-07-21 华为终端有限公司 在嵌入式***中操作***的管理方法及装置
CN103927227A (zh) * 2014-04-16 2014-07-16 乐视致新电子科技(天津)有限公司 多操作***的切换方法和装置、及智能电视
US20170161204A1 (en) * 2015-12-02 2017-06-08 Imagination Technologies Limited GPU Virtualisation
CN107003892A (zh) * 2016-12-29 2017-08-01 深圳前海达闼云端智能科技有限公司 Gpu虚拟化方法、装置、***及电子设备、计算机程序产品

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101187880A (zh) * 2006-11-15 2008-05-28 联想(北京)有限公司 一种虚拟机***及其显卡使用方法
CN101782861A (zh) * 2009-12-24 2010-07-21 华为终端有限公司 在嵌入式***中操作***的管理方法及装置
CN103927227A (zh) * 2014-04-16 2014-07-16 乐视致新电子科技(天津)有限公司 多操作***的切换方法和装置、及智能电视
US20170161204A1 (en) * 2015-12-02 2017-06-08 Imagination Technologies Limited GPU Virtualisation
CN107003892A (zh) * 2016-12-29 2017-08-01 深圳前海达闼云端智能科技有限公司 Gpu虚拟化方法、装置、***及电子设备、计算机程序产品

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110119222A (zh) * 2019-04-29 2019-08-13 深圳汇茂科技股份有限公司 基于双***的触控模块切换方法、装置、设备及可读介质
CN110442389A (zh) * 2019-08-07 2019-11-12 北京技德***技术有限公司 一种多桌面环境共享使用gpu的方法
CN110442389B (zh) * 2019-08-07 2024-01-09 北京技德***技术有限公司 一种多桌面环境共享使用gpu的方法
US20210133914A1 (en) * 2019-10-31 2021-05-06 Tactuity LLC Multiple o/s virtual video platform

Also Published As

Publication number Publication date
CN109542829B (zh) 2023-04-25

Similar Documents

Publication Publication Date Title
CN109542829A (zh) 多***中gpu设备的控制方法、装置及电子设备
CN102053857A (zh) 虚拟机器的管理装置及其相关切换方法
CN110502310B (zh) 一种虚拟机的时间同步方法及装置
CN102073556B (zh) 虚拟机的热备份和恢复方法、设备及***
US9830181B2 (en) Method and system for gracefully shutdown virtual system
CN104866372B (zh) 一种面向服务器整合的高效物理机到虚拟机转换方法
CN104503783A (zh) 一种呈现服务器硬件初始化程度的方法及服务器
CN102708027B (zh) 一种避免通信设备运行中断的方法及***
CN106201690A (zh) 应用运行控制方法及装置
CN104484243B (zh) 一种虚拟机容错技术和高可用集群技术结合的高可靠***装置和方法
CN109656646B (zh) 一种远程桌面控制方法、装置、设备及虚拟化芯片
US20240086228A1 (en) Resource Configuration Method and Apparatus, Electronic Device, and Computer-Readable Storage Medium
CN109388473A (zh) 基于移动操作***的Android兼容层实现方法和***
CN112988346B (zh) 任务处理方法、装置、设备及存储介质
US10318343B2 (en) Migration methods and apparatuses for migrating virtual machine including locally stored and shared data
CN104424122A (zh) 一种电子设备及内存划分方法
CN112328365A (zh) 一种虚拟机迁移方法、装置、设备及存储介质
WO2020192448A1 (zh) 虚拟机的迁移方法和***
CN109101283A (zh) Gpu设备的控制方法、装置及电子设备
CN116257276B (zh) 支持虚拟化硬件加速的虚拟宿主机用户后端升级方法
CN107621994A (zh) 一种数据快照创建的方法及装置
WO2011116672A1 (zh) 为共享代码段打补丁的方法及装置
WO2017000586A1 (zh) 虚拟网元的升级方法、装置和计算机存储介质
CN103442033A (zh) 一种运行状态信息的同步方法和设备
CN103164223A (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
GR01 Patent grant
GR01 Patent grant