驱动数据处理方法、装置、电子设备及计算机存储介质转让专利

申请号 : CN202010163242.8

文献号 : CN113377491B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 高峰郑晓龙欣

申请人 : 阿里巴巴集团控股有限公司

摘要 :

本发明实施例公开了一种驱动数据处理方法、装置、电子设备及计算机存储介质,所述方法包括:响应于虚拟GPU实例启动,启动驱动安装组件;通过所述驱动安装组件从预设驱动信息数据源中自动获取与所述虚拟GPU实例对应的宿主机GPU驱动信息;通过所述驱动安装组件从预设驱动安装文件数据源获取与所述宿主机GPU驱动信息对应的GPU驱动安装文件并进行安装。该技术方案能够自动识别宿主机GPU驱动信息,自动安装对应的驱动文件,能够自动、持续地保持各虚拟机上安装的虚拟GPU实例驱动版本信息与宿主机上安装的GPU驱动版本信息之间的对应关系,因此有效避免了运维人力成本的投入和驱动信息通信的滞后,有利于提升虚拟机的业务运行质量。

权利要求 :

1.一种驱动数据处理方法,适用于虚拟机,包括:

响应于虚拟GPU实例启动,启动驱动安装组件;

通过所述驱动安装组件从预设驱动信息数据源中自动获取与所述虚拟GPU实例对应的宿主机GPU驱动信息,其中,所述宿主机GPU驱动信息是在虚拟GPU实例创建过程中被宿主机写入至预设驱动信息数据源中的,所述预设驱动信息数据源包括外设部件互连标准接口配置空间;

通过所述驱动安装组件从预设驱动安装文件数据源获取与所述宿主机GPU驱动信息对应的GPU驱动安装文件并进行安装,所述预设驱动安装文件数据源存储有不同版本信息的GPU驱动安装文件,所述预设驱动安装文件数据源包括预设文件储存器以及预设文件服务器。

2.根据权利要求1所述的方法,所述响应于虚拟GPU实例启动,启动驱动安装组件,被实施为:响应于接收到驱动数据自动处理授权信息,且响应于虚拟GPU实例启动,启动驱动安装组件。

3.根据权利要求1或2所述的方法,所述宿主机GPU驱动信息至少包括宿主机GPU标识信息和宿主机GPU驱动版本信息。

4.根据权利要求3所述的方法,所述通过所述驱动安装组件从预设驱动信息数据源中自动获取与所述虚拟GPU实例对应的宿主机GPU驱动信息,被实施为:通过所述驱动安装组件获取所述虚拟GPU实例的宿主机GPU标识信息;

通过所述驱动安装组件从所述预设驱动信息数据源中读取具有所述宿主机GPU标识信息的宿主机GPU驱动信息。

5.根据权利要求1‑2、4任一所述的方法,所述通过所述驱动安装组件从预设驱动安装文件数据源获取与所述宿主机GPU驱动信息对应的GPU驱动安装文件并进行安装,被实施为:通过所述驱动安装组件对于所述宿主机GPU驱动信息进行解析,获取所述宿主机GPU驱动版本信息;

通过所述驱动安装组件根据所述宿主机GPU驱动版本信息从预设驱动安装文件数据源中获取与所述宿主机GPU驱动版本信息相应的GPU驱动安装文件;

安装所述GPU驱动安装文件。

6.根据权利要求1‑2、4任一所述的方法,还包括:

响应于接收到宿主机发送的宿主机GPU驱动信息更新通知消息或者响应于检测到所述预设驱动信息数据源中存储的宿主机GPU驱动信息存在更新,通过所述驱动安装组件从所述预设驱动信息数据源中自动获取与所述虚拟GPU实例对应的更新宿主机GPU驱动信息,并从预设驱动安装文件数据源中获取与所述更新宿主机GPU驱动信息对应的GPU驱动安装文件进行安装,其中,所述宿主机GPU驱动信息更新通知消息中至少包括宿主机GPU标识信息。

7.一种驱动数据处理方法,适用于宿主机,包括:

响应于接收到驱动数据自动处理授权信息,启动模拟处理器;

在虚拟GPU实例创建过程中,获取与所述虚拟GPU实例对应的宿主机GPU驱动信息,其中,所述宿主机GPU驱动信息至少包括宿主机GPU标识信息和宿主机GPU驱动版本信息;

将与所述虚拟GPU实例对应的宿主机GPU驱动信息发送给模拟处理器,以使所述模拟处理器将所述宿主机GPU驱动信息写入至预设驱动信息数据源中,所述预设驱动信息数据源包括外设部件互连标准接口配置空间,响应于虚拟GPU实例启动启动的驱动安装组件用于从所述预设驱动信息数据源中自动获取与所述虚拟GPU实例对应的宿主机GPU驱动信息,所述驱动安装组件还用于从预设驱动安装文件数据源获取与所述宿主机GPU驱动信息对应的GPU驱动安装文件并进行安装,所述预设驱动安装文件数据源存储有不同版本信息的GPU驱动安装文件,所述预设驱动安装文件数据源包括预设文件储存器以及预设文件服务器。

8.根据权利要求7所述的方法,还包括:

响应于检测到所述宿主机GPU驱动信息被更新,通过所述模拟处理器将更新宿主机GPU驱动信息写入至预设驱动信息数据源中,并向虚拟机发送宿主机GPU驱动信息更新通知消息,其中,所述宿主机GPU驱动信息更新通知消息中至少包括宿主机GPU标识信息。

9.一种驱动数据处理方法,适用于包括宿主机和虚拟机的数据处理系统,包括:

宿主机响应于接收到驱动数据自动处理授权信息,启动模拟处理器,在虚拟GPU实例创建过程中,获取与所述虚拟GPU实例对应的宿主机GPU驱动信息,并将与所述虚拟GPU实例对应的宿主机GPU驱动信息发送给模拟处理器,以使所述模拟处理器将所述宿主机GPU驱动信息写入至预设驱动信息数据源中,所述预设驱动信息数据源包括外设部件互连标准接口配置空间;

虚拟机响应于虚拟GPU实例启动,启动驱动安装组件,通过所述驱动安装组件从所述预设驱动信息数据源中自动获取与所述虚拟GPU实例对应的宿主机GPU驱动信息,通过所述驱动安装组件从预设驱动安装文件数据源获取与所述宿主机GPU驱动信息对应的GPU驱动安装文件并进行安装,所述预设驱动安装文件数据源存储有不同版本信息的GPU驱动安装文件,所述预设驱动安装文件数据源包括预设文件储存器以及预设文件服务器。

10.根据权利要求9所述的方法,还包括:

所述宿主机响应于所述宿主机GPU驱动信息被更新,通过所述模拟处理器将更新宿主机GPU驱动信息写入至预设驱动信息数据源中,并向虚拟机发送宿主机GPU驱动信息更新通知消息,其中,所述宿主机GPU驱动信息更新通知消息中至少包括宿主机GPU标识信息。

11.根据权利要求9或10所述的方法,所述虚拟机响应于虚拟GPU实例启动,启动驱动安装组件的步骤,被实施为:虚拟机响应于接收到驱动数据自动处理授权信息,且响应于虚拟GPU实例启动,启动驱动安装组件。

12.根据权利要求9或10所述的方法,所述虚拟机通过所述驱动安装组件从预设驱动信息数据源中自动获取与所述虚拟GPU实例对应的宿主机GPU驱动信息的步骤,被实施为:通过所述驱动安装组件获取所述虚拟GPU实例的宿主机GPU标识信息;

通过所述驱动安装组件从所述预设驱动信息数据源中读取具有所述宿主机GPU标识信息的宿主机GPU驱动信息。

13.根据权利要求9或10所述的方法,所述虚拟机通过所述驱动安装组件从预设驱动安装文件数据源获取与所述宿主机GPU驱动信息对应的GPU驱动安装文件并进行安装的步骤,被实施为:通过所述驱动安装组件对于所述宿主机GPU驱动信息进行解析,获取所述宿主机GPU驱动版本信息;

通过所述驱动安装组件根据所述宿主机GPU驱动版本信息从预设驱动安装文件数据源中获取与所述宿主机GPU驱动版本信息相应的GPU驱动安装文件;

安装所述GPU驱动安装文件。

14.根据权利要求9或10所述的方法,还包括:

所述虚拟机响应于接收到宿主机发送的宿主机GPU驱动信息更新通知消息或者响应于检测到所述预设驱动信息数据源中存储的宿主机GPU驱动信息存在更新,通过所述驱动安装组件从所述预设驱动信息数据源中自动获取与所述虚拟GPU实例对应的更新宿主机GPU驱动信息,并从预设驱动安装文件数据源中获取与所述更新宿主机GPU驱动信息对应的GPU驱动安装文件进行安装,其中,所述宿主机GPU驱动信息更新通知消息中至少包括宿主机GPU标识信息。

15.一种驱动数据处理装置,适用于虚拟机,包括:

第一启动模块,被配置为响应于虚拟GPU实例启动,启动驱动安装组件;

第一获取模块,被配置为通过所述驱动安装组件从预设驱动信息数据源中自动获取与所述虚拟GPU实例对应的宿主机GPU驱动信息,其中,所述宿主机GPU驱动信息是在虚拟GPU实例创建过程中被宿主机写入至预设驱动信息数据源中的,所述预设驱动信息数据源包括外设部件互连标准接口配置空间;

安装模块,被配置为通过所述驱动安装组件从预设驱动安装文件数据源获取与所述宿主机GPU驱动信息对应的GPU驱动安装文件并进行安装,所述预设驱动安装文件数据源存储有不同版本信息的GPU驱动安装文件,所述预设驱动安装文件数据源包括预设文件储存器以及预设文件服务器。

16.一种驱动数据处理装置,适用于宿主机,包括:

第二启动模块,被配置为响应于接收到驱动数据自动处理授权信息,启动模拟处理器;

第二获取模块,被配置为在虚拟GPU实例创建过程中,获取与所述虚拟GPU实例对应的宿主机GPU驱动信息,其中,所述宿主机GPU驱动信息至少包括宿主机GPU标识信息和宿主机GPU驱动版本信息;

第一发送模块,被配置为将与所述虚拟GPU实例对应的宿主机GPU驱动信息发送给模拟处理器,以使所述模拟处理器将所述宿主机GPU驱动信息写入至预设驱动信息数据源中,所述预设驱动信息数据源包括外设部件互连标准接口配置空间,响应于虚拟GPU实例启动启动的驱动安装组件用于从所述预设驱动信息数据源中自动获取与所述虚拟GPU实例对应的宿主机GPU驱动信息,所述驱动安装组件还用于从预设驱动安装文件数据源获取与所述宿主机GPU驱动信息对应的GPU驱动安装文件并进行安装,所述预设驱动安装文件数据源存储有不同版本信息的GPU驱动安装文件,所述预设驱动安装文件数据源包括预设文件储存器以及预设文件服务器。

17.一种驱动数据处理装置,适用于包括宿主机和虚拟机的数据处理系统,包括:

宿主机,被配置为响应于接收到驱动数据自动处理授权信息,启动模拟处理器,在虚拟GPU实例创建过程中,获取与所述虚拟GPU实例对应的宿主机GPU驱动信息,并将与所述虚拟GPU实例对应的宿主机GPU驱动信息发送给模拟处理器,以使所述模拟处理器将所述宿主机GPU驱动信息写入至预设驱动信息数据源中,所述预设驱动信息数据源包括外设部件互连标准接口配置空间;

虚拟机,被配置为响应于虚拟GPU实例启动,启动驱动安装组件,通过所述驱动安装组件从所述预设驱动信息数据源中自动获取与所述虚拟GPU实例对应的宿主机GPU驱动信息,通过所述驱动安装组件从预设驱动安装文件数据源获取与所述宿主机GPU驱动信息对应的GPU驱动安装文件并进行安装,所述预设驱动安装文件数据源存储有不同版本信息的GPU驱动安装文件,所述预设驱动安装文件数据源包括预设文件储存器以及预设文件服务器。

18.一种电子设备,包括存储器和处理器;其中,

所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现权利要求1‑14任一项所述的方法步骤。

19.一种计算机可读存储介质,其上存储有计算机指令,该计算机指令被处理器执行时实现权利要求1‑14任一项所述的方法步骤。

说明书 :

驱动数据处理方法、装置、电子设备及计算机存储介质

技术领域

[0001] 本发明实施例涉及数据处理技术领域,具体涉及一种驱动数据处理方法、装置、电子设备及计算机存储介质。

背景技术

[0002] 随着数据技术的发展,当前人工智能和GPU(图形处理器)渲染等主流GPU并行计算业务飞速发展,需要使用GPU的场景也越来越广泛,在虚拟化应用场景中,考虑到有些用户并不需要整个GPU进行计算,因此,为了节约GPU算力资源,实现对于GPU的充分利用,通常将GPU总性能进行分片,比如可将GPU总性能拆分为1/2、1/3、1/4、1/8等多个虚拟GPU实例,再将拆分得到的多个虚拟GPU实例分配给不同的虚拟机用,其中,每个虚拟GPU实例具备GPU总性能的1/n,n为分片数量。由于宿主机上安装的GPU驱动需要持续升级,但虚拟机无法主动获取到宿主机的驱动版本,而虚拟机上安装的虚拟GPU实例驱动版本信息还需要与宿主机上安装的GPU驱动版本信息保持对应关系,否则将会出现不同版本的驱动不兼容的问题,因此,在现有技术中,通常使用帮助文档的方式向每个虚拟GPU实例(vGPU)提供当前宿主机上安装的GPU驱动版本信息,以保持各虚拟机上安装的虚拟GPU实例驱动版本信息与宿主机上安装的GPU驱动版本信息之间的对应关系。该处理方式不仅需要增加运维人力成本的投入,而且也会带来驱动信息通信的滞后,不利于提升虚拟机的业务运行质量。

发明内容

[0003] 本发明实施例提供一种驱动数据处理方法、装置、电子设备及计算机存储介质。
[0004] 第一方面,本发明实施例中提供了一种驱动数据处理方法,适用于虚拟机。
[0005] 具体的,所述驱动数据处理方法,包括:
[0006] 响应于虚拟GPU实例启动,启动驱动安装组件;
[0007] 通过所述驱动安装组件从预设驱动信息数据源中自动获取与所述虚拟GPU实例对应的宿主机GPU驱动信息,其中,所述宿主机GPU驱动信息是在虚拟GPU实例创建过程中被宿主机写入至预设驱动信息数据源中的;
[0008] 通过所述驱动安装组件从预设驱动安装文件数据源获取与所述宿主机GPU驱动信息对应的GPU驱动安装文件并进行安装。
[0009] 结合第一方面,本公开在第一方面的第一种实现方式中,所述响应于虚拟GPU实例启动,启动驱动安装组件,被实施为:
[0010] 响应于接收到驱动数据自动处理授权信息,且响应于虚拟GPU实例启动,启动驱动安装组件。
[0011] 结合第一方面和第一方面的第一种实现方式,本公开实施例在第一方面的第二种实现方式中,所述宿主机GPU驱动信息至少包括宿主机GPU标识信息和宿主机GPU驱动版本信息。
[0012] 结合第一方面、第一方面的第一种实现方式和第一方面的第二种实现方式,本公开实施例在第一方面的第三种实现方式中,所述通过所述驱动安装组件从预设驱动信息数据源中自动获取与所述虚拟GPU实例对应的宿主机GPU驱动信息,包括:
[0013] 通过所述驱动安装组件获取所述虚拟GPU实例的宿主机GPU标识信息;
[0014] 通过所述驱动安装组件从所述预设驱动信息数据源中读取具有所述宿主机GPU标识信息的宿主机GPU驱动信息。
[0015] 结合第一方面、第一方面的第一种实现方式、第一方面的第二种实现方式和第一方面的第三种实现方式,本公开实施例在第一方面的第四种实现方式中,所述通过所述驱动安装组件从预设驱动安装文件数据源获取与所述宿主机GPU驱动信息对应的GPU驱动安装文件并进行安装,包括:
[0016] 通过所述驱动安装组件对于所述宿主机GPU驱动信息进行解析,获取所述宿主机GPU驱动版本信息;
[0017] 通过所述驱动安装组件根据所述宿主机GPU驱动版本信息从预设驱动安装文件数据源中获取与所述宿主机GPU驱动版本信息相应的GPU驱动安装文件;
[0018] 安装所述GPU驱动安装文件。
[0019] 结合第一方面、第一方面的第一种实现方式、第一方面的第二种实现方式、第一方面的第三种实现方式和第一方面的第四种实现方式,本公开实施例在第一方面的第五种实现方式中,还包括:
[0020] 响应于接收到宿主机发送的宿主机GPU驱动信息更新通知消息或者响应于检测到所述预设驱动信息数据源中存储的宿主机GPU驱动信息存在更新,通过所述驱动安装组件从所述预设驱动信息数据源中自动获取与所述虚拟GPU实例对应的更新宿主机GPU驱动信息,并从预设驱动安装文件数据源中获取与所述更新宿主机GPU驱动信息对应的GPU驱动安装文件进行安装,其中,所述宿主机GPU驱动信息更新通知消息中至少包括宿主机GPU标识信息。
[0021] 第二方面,本公开实施例中提供了一种驱动数据处理方法,适用于宿主机。
[0022] 具体的,所述驱动数据处理方法,包括:
[0023] 响应于接收到驱动数据自动处理授权信息,启动模拟处理器;
[0024] 在虚拟GPU实例创建过程中,获取与所述虚拟GPU实例对应的宿主机GPU驱动信息,其中,所述宿主机GPU驱动信息至少包括宿主机GPU标识信息和宿主机GPU驱动版本信息;
[0025] 将与所述虚拟GPU实例对应的宿主机GPU驱动信息发送给模拟处理器,以使所述模拟处理器将所述宿主机GPU驱动信息写入至预设驱动信息数据源中。
[0026] 结合第二方面,本公开在第二方面的第一种实现方式中,还包括:
[0027] 响应于检测到所述宿主机GPU驱动信息被更新,通过所述模拟处理器将更新宿主机GPU驱动信息写入至预设驱动信息数据源中,并向虚拟机发送宿主机GPU驱动信息更新通知消息,其中,所述宿主机GPU驱动信息更新通知消息中至少包括宿主机GPU标识信息。
[0028] 第三方面,本公开实施例中提供了一种驱动数据处理方法,适用于包括宿主机和虚拟机的数据处理系统。
[0029] 具体的,所述驱动数据处理方法,包括:
[0030] 宿主机响应于接收到驱动数据自动处理授权信息,启动模拟处理器,在虚拟GPU实例创建过程中,获取与所述虚拟GPU实例对应的宿主机GPU驱动信息,并将与所述虚拟GPU实例对应的宿主机GPU驱动信息发送给模拟处理器,以使所述模拟处理器将所述宿主机GPU驱动信息写入至预设驱动信息数据源中;
[0031] 虚拟机响应于虚拟GPU实例启动,启动驱动安装组件,通过所述驱动安装组件从所述预设驱动信息数据源中自动获取与所述虚拟GPU实例对应的宿主机GPU驱动信息,通过所述驱动安装组件从预设驱动安装文件数据源获取与所述宿主机GPU驱动信息对应的GPU驱动安装文件并进行安装。
[0032] 结合第三方面,本公开在第三方面的第一种实现方式中,还包括:
[0033] 所述宿主机响应于所述宿主机GPU驱动信息被更新,通过所述模拟处理器将更新宿主机GPU驱动信息写入至预设驱动信息数据源中,并向虚拟机发送宿主机GPU驱动信息更新通知消息,其中,所述宿主机GPU驱动信息更新通知消息中至少包括宿主机GPU标识信息。
[0034] 结合第三方面和第三方面的第一种实现方式,本公开在第三方面的第二种实现方式中,所述虚拟机响应于虚拟GPU实例启动,启动驱动安装组件的步骤,被实施为:
[0035] 虚拟机响应于接收到驱动数据自动处理授权信息,且响应于虚拟GPU实例启动,启动驱动安装组件。
[0036] 结合第三方面、第三方面的第一种实现方式和第三方面的第二种实现方式,本公开在第三方面的第三种实现方式中,所述虚拟机通过所述驱动安装组件从预设驱动信息数据源中自动获取与所述虚拟GPU实例对应的宿主机GPU驱动信息的步骤,被实施为:
[0037] 通过所述驱动安装组件获取所述虚拟GPU实例的宿主机GPU标识信息;
[0038] 通过所述驱动安装组件从所述预设驱动信息数据源中读取具有所述宿主机GPU标识信息的宿主机GPU驱动信息。
[0039] 结合第三方面、第三方面的第一种实现方式、第三方面的第二种实现方式和第三方面的第三种实现方式,本公开在第三方面的第四种实现方式中,所述虚拟机通过所述驱动安装组件从预设驱动安装文件数据源获取与所述宿主机GPU驱动信息对应的GPU驱动安装文件并进行安装的步骤,被实施为:
[0040] 通过所述驱动安装组件对于所述宿主机GPU驱动信息进行解析,获取所述宿主机GPU驱动版本信息;
[0041] 通过所述驱动安装组件根据所述宿主机GPU驱动版本信息从预设驱动安装文件数据源中获取与所述宿主机GPU驱动版本信息相应的GPU驱动安装文件;
[0042] 安装所述GPU驱动安装文件。
[0043] 结合第三方面、第三方面的第一种实现方式、第三方面的第二种实现方式、第三方面的第三种实现方式和第三方面的第四种实现方式,本公开在第三方面的第五种实现方式中,还包括:
[0044] 所述虚拟机响应于接收到宿主机发送的宿主机GPU驱动信息更新通知消息或者响应于检测到所述预设驱动信息数据源中存储的宿主机GPU驱动信息存在更新,通过所述驱动安装组件从所述预设驱动信息数据源中自动获取与所述虚拟GPU实例对应的更新宿主机GPU驱动信息,并从预设驱动安装文件数据源中获取与所述更新宿主机GPU驱动信息对应的GPU驱动安装文件进行安装,其中,所述宿主机GPU驱动信息更新通知消息中至少包括宿主机GPU标识信息。
[0045] 第四方面,本公开实施例中提供了一种驱动数据处理装置,适用于虚拟机。
[0046] 具体的,所述驱动数据处理装置,包括:
[0047] 第一启动模块,被配置为响应于虚拟GPU实例启动,启动驱动安装组件;
[0048] 第一获取模块,被配置为通过所述驱动安装组件从预设驱动信息数据源中自动获取与所述虚拟GPU实例对应的宿主机GPU驱动信息,其中,所述宿主机GPU驱动信息是在虚拟GPU实例创建过程中被宿主机写入至预设驱动信息数据源中的;
[0049] 安装模块,被配置为通过所述驱动安装组件从预设驱动安装文件数据源获取与所述宿主机GPU驱动信息对应的GPU驱动安装文件并进行安装。
[0050] 结合第四方面,本公开在第四方面的第一种实现方式中,所述第一启动模块被配置为:
[0051] 响应于接收到驱动数据自动处理授权信息,且响应于虚拟GPU实例启动,启动驱动安装组件。
[0052] 结合第四方面和第四方面的第一种实现方式,本公开实施例在第四方面的第二种实现方式中,所述宿主机GPU驱动信息至少包括宿主机GPU标识信息和宿主机GPU驱动版本信息。
[0053] 结合第四方面、第四方面的第一种实现方式和第四方面的第二种实现方式,本公开实施例在第四方面的第三种实现方式中,所述第一获取模块包括:
[0054] 第一获取子模块,被配置为通过所述驱动安装组件获取所述虚拟GPU实例的宿主机GPU标识信息;
[0055] 读取子模块,被配置为通过所述驱动安装组件从所述预设驱动信息数据源中读取具有所述宿主机GPU标识信息的宿主机GPU驱动信息。
[0056] 结合第四方面、第四方面的第一种实现方式、第四方面的第二种实现方式和第四方面的第三种实现方式,本公开实施例在第四方面的第四种实现方式中,所述安装模块包括:
[0057] 解析子模块,被配置为通过所述驱动安装组件对于所述宿主机GPU驱动信息进行解析,获取所述宿主机GPU驱动版本信息;
[0058] 第二获取子模块,被配置为通过所述驱动安装组件根据所述宿主机GPU驱动版本信息从预设驱动安装文件数据源中获取与所述宿主机GPU驱动版本信息相应的GPU驱动安装文件;
[0059] 安装子模块,被配置为安装所述GPU驱动安装文件。
[0060] 结合第四方面、第四方面的第一种实现方式、第四方面的第二种实现方式、第四方面的第三种实现方式和第四方面的第四种实现方式,本公开实施例在第四方面的第五种实现方式中,还包括:
[0061] 更新模块,被配置为响应于接收到宿主机发送的宿主机GPU驱动信息更新通知消息或者响应于检测到所述预设驱动信息数据源中存储的宿主机GPU驱动信息存在更新,通过所述驱动安装组件从所述预设驱动信息数据源中自动获取与所述虚拟GPU实例对应的更新宿主机GPU驱动信息,并从预设驱动安装文件数据源中获取与所述更新宿主机GPU驱动信息对应的GPU驱动安装文件进行安装,其中,所述宿主机GPU驱动信息更新通知消息中至少包括宿主机GPU标识信息。
[0062] 第五方面,本公开实施例中提供了一种驱动数据处理装置,适用于宿主机。
[0063] 具体的,所述驱动数据处理装置,包括:
[0064] 第二启动模块,被配置为响应于接收到驱动数据自动处理授权信息,启动模拟处理器;
[0065] 第二获取模块,被配置为在虚拟GPU实例创建过程中,获取与所述虚拟GPU实例对应的宿主机GPU驱动信息,其中,所述宿主机GPU驱动信息至少包括宿主机GPU标识信息和宿主机GPU驱动版本信息;
[0066] 第一发送模块,被配置为将与所述虚拟GPU实例对应的宿主机GPU驱动信息发送给模拟处理器,以使所述模拟处理器将所述宿主机GPU驱动信息写入至预设驱动信息数据源中。
[0067] 结合第五方面,本公开在第五方面的第一种实现方式中,还包括:
[0068] 第二发送模块,被配置为响应于检测到所述宿主机GPU驱动信息被更新,通过所述模拟处理器将更新宿主机GPU驱动信息写入至预设驱动信息数据源中,并向虚拟机发送宿主机GPU驱动信息更新通知消息,其中,所述宿主机GPU驱动信息更新通知消息中至少包括宿主机GPU标识信息。
[0069] 第六方面,本公开实施例中提供了一种驱动数据处理装置,适用于包括宿主机和虚拟机的数据处理系统。
[0070] 具体的,所述驱动数据处理装置,包括:
[0071] 宿主机,被配置为响应于接收到驱动数据自动处理授权信息,启动模拟处理器,在虚拟GPU实例创建过程中,获取与所述虚拟GPU实例对应的宿主机GPU驱动信息,并将与所述虚拟GPU实例对应的宿主机GPU驱动信息发送给模拟处理器,以使所述模拟处理器将所述宿主机GPU驱动信息写入至预设驱动信息数据源中;
[0072] 虚拟机,被配置为响应于虚拟GPU实例启动,启动驱动安装组件,通过所述驱动安装组件从所述预设驱动信息数据源中自动获取与所述虚拟GPU实例对应的宿主机GPU驱动信息,通过所述驱动安装组件从预设驱动安装文件数据源获取与所述宿主机GPU驱动信息对应的GPU驱动安装文件并进行安装。
[0073] 结合第六方面,本公开在第六方面的第一种实现方式中,所述宿主机还被配置为:响应于所述宿主机GPU驱动信息被更新,通过所述模拟处理器将更新宿主机GPU驱动信息写入至预设驱动信息数据源中,并向虚拟机发送宿主机GPU驱动信息更新通知消息,其中,所述宿主机GPU驱动信息更新通知消息中至少包括宿主机GPU标识信息。
[0074] 结合第六方面和第六方面的第一种实现方式,本公开在第六方面的第二种实现方式中,所述虚拟机响应于虚拟GPU实例启动,启动驱动安装组件的部分,被配置为:
[0075] 虚拟机响应于接收到驱动数据自动处理授权信息,且响应于虚拟GPU实例启动,启动驱动安装组件。
[0076] 结合第六方面、第六方面的第一种实现方式和第六方面的第二种实现方式,本公开在第六方面的第三种实现方式中,所述虚拟机通过所述驱动安装组件从预设驱动信息数据源中自动获取与所述虚拟GPU实例对应的宿主机GPU驱动信息的部分,被配置为:
[0077] 通过所述驱动安装组件获取所述虚拟GPU实例的宿主机GPU标识信息;
[0078] 通过所述驱动安装组件从所述预设驱动信息数据源中读取具有所述宿主机GPU标识信息的宿主机GPU驱动信息。
[0079] 结合第六方面、第六方面的第一种实现方式、第六方面的第二种实现方式和第六方面的第三种实现方式,本公开在第六方面的第四种实现方式中,所述虚拟机通过所述驱动安装组件从预设驱动安装文件数据源获取与所述宿主机GPU驱动信息对应的GPU驱动安装文件并进行安装的部分,被配置为:
[0080] 通过所述驱动安装组件对于所述宿主机GPU驱动信息进行解析,获取所述宿主机GPU驱动版本信息;
[0081] 通过所述驱动安装组件根据所述宿主机GPU驱动版本信息从预设驱动安装文件数据源中获取与所述宿主机GPU驱动版本信息相应的GPU驱动安装文件;
[0082] 安装所述GPU驱动安装文件。
[0083] 结合第六方面、第六方面的第一种实现方式、第六方面的第二种实现方式、第六方面的第三种实现方式和第六方面的第四种实现方式,本公开在第六方面的第五种实现方式中,所述虚拟机还被配置为:
[0084] 响应于接收到宿主机发送的宿主机GPU驱动信息更新通知消息或者响应于检测到所述预设驱动信息数据源中存储的宿主机GPU驱动信息存在更新,通过所述驱动安装组件从所述预设驱动信息数据源中自动获取与所述虚拟GPU实例对应的更新宿主机GPU驱动信息,并从预设驱动安装文件数据源中获取与所述更新宿主机GPU驱动信息对应的GPU驱动安装文件进行安装,其中,所述宿主机GPU驱动信息更新通知消息中至少包括宿主机GPU标识信息。
[0085] 第七方面,本发明实施例提供了一种电子设备,包括存储器和处理器,所述存储器用于存储一条或多条支持驱动数据处理装置执行上述驱动数据处理方法的计算机指令,所述处理器被配置为用于执行所述存储器中存储的计算机指令。所述驱动数据处理装置还可以包括通信接口,用于驱动数据处理装置与其他设备或通信网络通信。
[0086] 第八方面,本发明实施例提供了一种计算机可读存储介质,用于存储驱动数据处理装置所用的计算机指令,其包含用于执行上述驱动数据处理方法为驱动数据处理装置所涉及的计算机指令。
[0087] 本发明实施例提供的技术方案可包括以下有益效果:
[0088] 上述技术方案通过自动获取虚拟GPU实例创建过程中已被宿主机写入至PCI配置空间中的宿主机GPU驱动信息,并根据得到的宿主机GPU驱动信息获取对应的GPU驱动安装文件进行安装。该技术方案能够自动识别宿主机GPU驱动信息,自动安装对应的驱动文件,能够自动、持续地保持各虚拟机上安装的虚拟GPU实例驱动版本信息与宿主机上安装的GPU驱动版本信息之间的对应关系,因此有效避免了运维人力成本的投入和驱动信息通信的滞后,有利于提升虚拟机的业务运行质量。
[0089] 应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明实施例。

附图说明

[0090] 结合附图,通过以下非限制性实施方式的详细描述,本发明实施例的其它特征、目的和优点将变得更加明显。在附图中:
[0091] 图1示出根据本发明一实施方式的驱动数据处理方法的流程图;
[0092] 图2示出根据现有技术的GPU驱动版本信息分发示意图;
[0093] 图3‑图4示出根据本发明不同实施方式的驱动数据处理方法的流程图;
[0094] 图5为根据本公开一实施方式的驱动数据处理方法整体流程图;
[0095] 图6为根据本公开一实施方式的虚拟机端驱动数据处理方法整体流程图;
[0096] 图7示出根据本发明一实施方式的驱动数据处理装置的结构框图;
[0097] 图8‑图9示出根据本发明不同实施方式的驱动数据处理装置的结构框图;
[0098] 图10示出根据本发明一实施方式的电子设备的结构框图;
[0099] 图11是适于用来实现根据本发明一实施方式的驱动数据处理方法的计算机系统的结构示意图。

具体实施方式

[0100] 下文中,将参考附图详细描述本发明实施例的示例性实施方式,以使本领域技术人员可容易地实现它们。此外,为了清楚起见,在附图中省略了与描述示例性实施方式无关的部分。
[0101] 在本发明实施例中,应理解,诸如“包括”或“具有”等的术语旨在指示本说明书中所公开的特征、数字、步骤、行为、部件、部分或其组合的存在,并且不欲排除一个或多个其他特征、数字、步骤、行为、部件、部分或其组合存在或被添加的可能性。
[0102] 另外还需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明实施例。
[0103] 本发明实施例提供的技术方案通过自动获取虚拟GPU实例创建过程中已被宿主机写入至PCI配置空间中的宿主机GPU驱动信息,并根据得到的宿主机GPU驱动信息获取对应的GPU驱动安装文件进行安装。该技术方案能够自动识别宿主机GPU驱动信息,自动安装对应的驱动文件,能够自动、持续地保持各虚拟机上安装的虚拟GPU实例驱动版本信息与宿主机上安装的GPU驱动版本信息之间的对应关系,因此有效避免了运维人力成本的投入和驱动信息通信的滞后,有利于提升虚拟机的业务运行质量。
[0104] 图1示出根据本发明一实施方式的驱动数据处理方法的流程图,适用于虚拟机,如图1所示,所述驱动数据处理方法包括以下步骤S101‑S103:
[0105] 在步骤S101中,响应于虚拟GPU实例启动,启动驱动安装组件;
[0106] 在步骤S102中,通过所述驱动安装组件从预设驱动信息数据源中自动获取与所述虚拟GPU实例对应的宿主机GPU驱动信息,其中,所述宿主机GPU驱动信息是在虚拟GPU实例创建过程中被宿主机写入至预设驱动信息数据源中的;
[0107] 在步骤S103中,通过所述驱动安装组件从预设驱动安装文件数据源获取与所述宿主机GPU驱动信息对应的GPU驱动安装文件并进行安装。
[0108] 上文提及,随着数据技术的发展,当前人工智能和GPU(图形处理器)渲染等主流GPU并行计算业务飞速发展,需要使用GPU的场景也越来越广泛,在虚拟化应用场景中,考虑到有些用户并不需要整个GPU进行计算,因此,为了节约GPU算力资源,实现对于GPU的充分利用,通常将GPU总性能进行分片,比如可将GPU总性能拆分为1/2、1/3、1/4、1/8等多个虚拟GPU实例,再将拆分得到的多个虚拟GPU实例分配给不同的虚拟机用,其中,每个虚拟GPU实例具备GPU总性能的1/n,n为分片数量。由于宿主机上安装的GPU驱动需要持续升级,但虚拟机无法主动获取到宿主机的驱动版本,而虚拟机上安装的虚拟GPU实例驱动版本信息还需要与宿主机上安装的GPU驱动版本信息保持对应关系,否则将会出现不同版本的驱动不兼容的问题,因此,在现有技术中,通常使用帮助文档的方式向每个虚拟GPU实例提供当前宿主机上安装的GPU驱动版本信息,以保持各虚拟机上安装的虚拟GPU实例驱动版本信息与宿主机上安装的GPU驱动版本信息之间的对应关系,如图2所示。该处理方式不仅需要增加运维人力成本的投入,而且也会带来驱动信息通信的滞后,不利于提升虚拟机的业务运行质量。
[0109] 考虑到上述问题,在该实施方式中,提出一种驱动数据处理方法,该方法通过自动获取虚拟GPU实例创建过程中已被宿主机写入至预设驱动信息数据源中的宿主机GPU驱动信息,并根据得到的宿主机GPU驱动信息获取对应的GPU驱动安装文件进行安装。该技术方案能够自动识别宿主机GPU驱动信息,自动安装对应的驱动文件,能够自动、持续地保持各虚拟机上安装的虚拟GPU实例驱动版本信息与宿主机上安装的GPU驱动版本信息之间的对应关系,因此有效避免了运维人力成本的投入和驱动信息通信的滞后,有利于提升虚拟机的业务运行质量。
[0110] 在本发明一实施方式中,如上所述,所述虚拟GPU实例,也叫vGPU实例,指的是将宿主机上的物理GPU进行1/n切片后得到的一种实例类型,其中,n可为自然数。切片后得到的虚拟GPU实例可根据虚拟机实际应用的需要分配给虚拟机使用,每个虚拟机可拥有一个虚拟的GPU实例,多个虚拟机共享同一个物理GPU。
[0111] 在本发明一实施方式中,所述驱动安装组件安装于使用虚拟GPU实例的虚拟机上。在得到驱动数据自动处理授权许可之后,比如虚拟机用户选择了自动安装驱动,所述驱动安装组件能够从所述预设驱动信息数据源处自动获取与所使用虚拟GPU实例对应的宿主机GPU驱动信息,从所述预设驱动安装文件数据源处自动获取与所述宿主机GPU驱动信息对应的GPU驱动安装文件并自动对其进行安装。其中,所述预设驱动信息数据源比如可以为PCI配置空间(外设部件互连标准接口配置空间),所述宿主机在创建虚拟GPU实例时就提前将当前最新的宿主机GPU驱动信息写入至没在被使用的,即空闲的所述PCI配置空间中,以方便虚拟机对于宿主机GPU驱动信息的获取。其中,所述预设驱动安装文件数据源指的是存储有不同版本信息的GPU驱动安装文件的预设文件存储器或预设文件服务器,所述驱动安装组件可借助与所述预设文件存储器或预设文件服务器的通信获取与所述宿主机GPU驱动信息对应的GPU驱动安装文件,以进行后续GPU驱动的安装。
[0112] 在本发明一实施方式中,所述宿主机GPU驱动信息至少包括宿主机GPU标识信息和宿主机GPU驱动版本信息。其中,所述宿主机GPU标识信息用于对于所述宿主机GPU进行区别性标识,以避免出现宿主机GPU驱动版本信息获取错误的情况。
[0113] 上文提及,切片后得到的虚拟GPU实例可根据虚拟机实际应用的需要分配给虚拟机使用,每个虚拟机可拥有一个虚拟的GPU实例,多个虚拟机共享同一个物理GPU,那么当共享同一物理GPU的虚拟机为多个时,该多个虚拟机均可与对应的宿主机、预设驱动信息数据源和预设驱动安装文件数据源通信以获取相应的宿主机GPU驱动信息和对应的GPU驱动安装文件。
[0114] 在本发明一实施方式中,所述步骤S101,即响应于虚拟GPU实例启动,启动驱动安装组件的步骤,可被实施为:
[0115] 响应于接收到驱动数据自动处理授权信息,且响应于虚拟GPU实例启动,启动驱动安装组件。
[0116] 为了保护用户或其他虚拟机使用方的合法权益,在该实施方式中,只有在接收到用户或其他虚拟机使用方发送或者确认的驱动数据自动处理授权信息之后,才在虚拟GPU实例启动时,启动所述驱动安装组件,以执行驱动的后续自动安装流程,即完成驱动信息的自动获取、驱动安装文件的自动获取和自动安装。
[0117] 在本发明一实施方式中,所述步骤S102,即通过所述驱动安装组件从预设驱动信息数据源中自动获取与所述虚拟GPU实例对应的宿主机GPU驱动信息的步骤,可被实施为:
[0118] 通过所述驱动安装组件获取所述虚拟GPU实例的宿主机GPU标识信息;
[0119] 通过所述驱动安装组件从所述预设驱动信息数据源中读取具有所述宿主机GPU标识信息的宿主机GPU驱动信息。
[0120] 上文提及,所述宿主机GPU标识信息用于对于所述宿主机GPU进行区别性标识,因此,为了避免出现宿主机GPU驱动版本信息获取错误的情况,在该实施方式中,借助宿主机GPU标识信息的比对来获取正确的、与所述虚拟GPU实例对应的宿主机GPU驱动信息。具体地,首先通过所述驱动安装组件获取所述虚拟GPU实例的宿主机GPU标识信息;然后再通过所述驱动安装组件从所述预设驱动信息数据源中读取具有所述宿主机GPU标识信息的宿主机GPU驱动信息。
[0121] 在本发明一实施方式中,所述步骤S103,即通过所述驱动安装组件从预设驱动安装文件数据源获取与所述宿主机GPU驱动信息对应的GPU驱动安装文件并进行安装的步骤,可被实施为:
[0122] 通过所述驱动安装组件对于所述宿主机GPU驱动信息进行解析,获取所述宿主机GPU驱动版本信息;
[0123] 通过所述驱动安装组件根据所述宿主机GPU驱动版本信息从预设驱动安装文件数据源中获取与所述宿主机GPU驱动版本信息相应的GPU驱动安装文件;
[0124] 安装所述GPU驱动安装文件。
[0125] 为了获取正确的、与所述宿主机GPU驱动版本信息对应GPU驱动安装文件,在该实施方式中,首先通过所述驱动安装组件对于得到的所述宿主机GPU驱动信息进行解析,获取所述宿主机GPU驱动版本信息;然后再通过所述驱动安装组件根据所述宿主机GPU驱动版本信息从预设驱动安装文件数据源中获取与所述宿主机GPU驱动版本信息相应的GPU驱动安装文件;最后对于所述GPU驱动安装文件进行安装。
[0126] 上文提及,所述预设驱动安装文件数据源指的是存储有不同版本信息的GPU驱动安装文件的预设文件存储器或预设文件服务器。在本发明一实施方式中,所述预设驱动安装文件数据源比如可以为OSS服务器(对象存储服务器)等文件存储器或文件服务器,其上存储有不同版本信息的GPU驱动安装文件,以供不同版本信息的GPU驱动安装文件需求方获取。
[0127] 在本发明一实施方式中,所述方法还包括以下步骤:
[0128] 响应于接收到宿主机发送的宿主机GPU驱动信息更新通知消息或者响应于检测到所述预设驱动信息数据源中存储的宿主机GPU驱动信息存在更新,通过所述驱动安装组件从所述预设驱动信息数据源中自动获取与所述虚拟GPU实例对应的更新宿主机GPU驱动信息,并从预设驱动安装文件数据源中获取与所述更新宿主机GPU驱动信息对应的GPU驱动安装文件进行安装,其中,所述宿主机GPU驱动信息更新通知消息中至少包括宿主机GPU标识信息。
[0129] 上文提及,宿主机上安装的GPU驱动需要持续升级,而且虚拟机上安装的虚拟GPU实例驱动版本信息需要与宿主机上安装的GPU驱动版本信息保持对应关系,否则将会出现不同版本的驱动不兼容的问题,因此,在该实施方式中,还需要对于宿主机GPU驱动信息和GPU驱动安装文件进行实时的更新。具体地,当所述虚拟机接收到所述宿主机发送的宿主机GPU驱动信息更新通知消息时,或者由所述驱动安装组件对于所述预设驱动信息数据源进行信息更新的定期检测,并检测到所述预设驱动信息数据源中存储的宿主机GPU驱动信息存在更新时,可使所述驱动安装组件发起更新驱动信息自动获取操作,即从所述预设驱动信息数据源中自动获取与所述虚拟GPU实例对应的更新宿主机GPU驱动信息,并接着从所述预设驱动安装文件数据源中获取与所述更新宿主机GPU驱动信息对应的新的GPU驱动安装文件进行更新安装。其中,为了避免出现宿主机GPU驱动版本信息获取错误的情况,所述宿主机GPU驱动信息更新通知消息中至少包括宿主机GPU标识信息。
[0130] 在本发明一实施方式中,所述方法还包括以下步骤:
[0131] 当检测到异常信息时,触发预设异常处理。
[0132] 在实际应用过程中,所述虚拟机有可能遇到虚拟GPU实例启动后无响应或无相应动作发生、从所述预设驱动安装文件数据源下载的GPU驱动安装文件无法正常安装或者安装后无法正常使用等异常情况,此时,若检测到上述异常信息,则可触发预设异常处理流程,其中,所述预设异常处理比如可以为向预设管控人员、预设管控设备等预设管控资源报告具体异常信息,以使所述预设管控资源根据报告的异常信息进行相应的处理。
[0133] 图3示出根据本发明另一实施方式的驱动数据处理方法的流程图,适用于宿主机,如图3所示,所述驱动数据处理方法包括以下步骤S301‑S303:
[0134] 在步骤S301中,响应于接收到驱动数据自动处理授权信息,启动模拟处理器;
[0135] 在步骤S302中,在虚拟GPU实例创建过程中,获取与所述虚拟GPU实例对应的宿主机GPU驱动信息,其中,所述宿主机GPU驱动信息至少包括宿主机GPU标识信息和宿主机GPU驱动版本信息;
[0136] 在步骤S303中,将与所述虚拟GPU实例对应的宿主机GPU驱动信息发送给模拟处理器,以使所述模拟处理器将所述宿主机GPU驱动信息写入至预设驱动信息数据源中。
[0137] 上文提及,随着数据技术的发展,当前人工智能和GPU(图形处理器)渲染等主流GPU并行计算业务飞速发展,需要使用GPU的场景也越来越广泛,在虚拟化应用场景中,考虑到有些用户并不需要整个GPU进行计算,因此,为了节约GPU算力资源,实现对于GPU的充分利用,通常将GPU总性能进行分片,比如可将GPU总性能拆分为1/2、1/3、1/4、1/8等多个虚拟GPU实例,再将拆分得到的多个虚拟GPU实例分配给不同的虚拟机用,其中,每个虚拟GPU实例具备GPU总性能的1/n,n为分片数量。由于宿主机上安装的GPU驱动需要持续升级,但虚拟机无法主动获取到宿主机的驱动版本,而虚拟机上安装的虚拟GPU实例驱动版本信息还需要与宿主机上安装的GPU驱动版本信息保持对应关系,否则将会出现不同版本的驱动不兼容的问题,因此,在现有技术中,通常使用帮助文档的方式向每个虚拟GPU实例提供当前宿主机上安装的GPU驱动版本信息,以保持各虚拟机上安装的虚拟GPU实例驱动版本信息与宿主机上安装的GPU驱动版本信息之间的对应关系,如图2所示。该处理方式不仅需要增加运维人力成本的投入,而且也会带来驱动信息通信的滞后,不利于提升虚拟机的业务运行质量。
[0138] 考虑到上述问题,在该实施方式中,提出一种驱动数据处理方法,该方法通过在虚拟GPU实例创建过程中就提前将宿主机GPU驱动信息写入至预设驱动信息数据源中,以使虚拟机能够访问所述预设驱动信息数据源,以主动及时地获取所述宿主机GPU驱动信息,进而及时地获取对应的GPU驱动安装文件进行自动安装。该技术方案能够及时发布宿主机GPU驱动信息,使得对应的虚拟机能够自动安装对应的驱动文件,进而能够自动、持续地保持宿主机上安装的GPU驱动版本信息与各虚拟机上安装的虚拟GPU实例驱动版本信息之间的对应关系,因此有效避免了运维人力成本的投入和驱动信息通信的滞后,有利于提升虚拟机的业务运行质量。
[0139] 在本发明一实施方式中,所述驱动数据自动处理授权信息由用户或其他虚拟机使用方发送给虚拟机,又由所述虚拟机发送给所述宿主机,当用户或其他虚拟机使用方确认授权进行驱动数据的自动处理时,所述宿主机才会启动模拟处理器,以使所述模拟处理器将获取得到的与虚拟GPU实例对应的宿主机GPU驱动信息写入至预设驱动信息数据源中,以供虚拟机的驱动安装组件访问。
[0140] 为了使得虚拟机能够自动、及时地安装上与宿主机GPU驱动版本信息对应的驱动文件,自动、持续地保持宿主机上安装的GPU驱动版本信息与各虚拟机上安装的虚拟GPU实例驱动版本信息之间的对应关系,在本发明一实施方式中,所述宿主机在虚拟GPU实例创建过程中,就将获取得到的与所述虚拟GPU实例对应的宿主机GPU驱动信息发送给所述模拟处理器,以使所述模拟处理器将所述宿主机GPU驱动信息提前写入至预设驱动信息数据源中。
[0141] 在本发明一实施方式中,所述方法还包括以下步骤:
[0142] 响应于检测到所述宿主机GPU驱动信息被更新,通过所述模拟处理器将更新宿主机GPU驱动信息写入至预设驱动信息数据源中,并向虚拟机发送宿主机GPU驱动信息更新通知消息,其中,所述宿主机GPU驱动信息更新通知消息中至少包括宿主机GPU标识信息。
[0143] 上文提及,宿主机上安装的GPU驱动需要持续升级,而且虚拟机上安装的虚拟GPU实例驱动版本信息需要与宿主机上安装的GPU驱动版本信息保持对应关系,否则将会出现不同版本的驱动不兼容的问题,因此,在该实施方式中,还需要对于宿主机GPU驱动信息和GPU驱动安装文件进行实时的更新。具体地,当所述宿主机检测到所述宿主机GPU驱动信息被更新,则通过所述模拟处理器将更新宿主机GPU驱动信息写入至预设驱动信息数据源中,并向虚拟机发送宿主机GPU驱动信息更新通知消息,以提醒所述虚拟机获取新的宿主机GPU驱动信息及相应的GPU驱动安装文件,其中,为了避免出现宿主机GPU驱动版本信息获取错误的情况,所述宿主机GPU驱动信息更新通知消息中至少包括宿主机GPU标识信息。
[0144] 图3所示及相关实施方式所涉及的技术特征与上文图1‑图2所示实施方式所描述的技术特征的解释相同或相似,相关技术特征的解释和说明可参考上述图1‑图2所示实施方式中对于技术特征的解释和说明,在此不再赘述。
[0145] 图4示出根据本发明再一实施方式的驱动数据处理方法的流程图,适用于包括宿主机和虚拟机的数据处理系统,如图4所示,所述驱动数据处理方法包括以下步骤S401‑S402:
[0146] 在步骤S401中,宿主机响应于接收到驱动数据自动处理授权信息,启动模拟处理器,在虚拟GPU实例创建过程中,获取与所述虚拟GPU实例对应的宿主机GPU驱动信息,并将与所述虚拟GPU实例对应的宿主机GPU驱动信息发送给模拟处理器,以使所述模拟处理器将所述宿主机GPU驱动信息写入至预设驱动信息数据源中;
[0147] 在步骤S402中,虚拟机响应于虚拟GPU实例启动,启动驱动安装组件,通过所述驱动安装组件从所述预设驱动信息数据源中自动获取与所述虚拟GPU实例对应的宿主机GPU驱动信息,通过所述驱动安装组件从预设驱动安装文件数据源获取与所述宿主机GPU驱动信息对应的GPU驱动安装文件并进行安装。
[0148] 上文提及,随着数据技术的发展,当前人工智能和GPU(图形处理器)渲染等主流GPU并行计算业务飞速发展,需要使用GPU的场景也越来越广泛,在虚拟化应用场景中,考虑到有些用户并不需要整个GPU进行计算,因此,为了节约GPU算力资源,实现对于GPU的充分利用,通常将GPU总性能进行分片,比如可将GPU总性能拆分为1/2、1/3、1/4、1/8等多个虚拟GPU实例,再将拆分得到的多个虚拟GPU实例分配给不同的虚拟机用,其中,每个虚拟GPU实例具备GPU总性能的1/n,n为分片数量。由于宿主机上安装的GPU驱动需要持续升级,但虚拟机无法主动获取到宿主机的驱动版本,而虚拟机上安装的虚拟GPU实例驱动版本信息还需要与宿主机上安装的GPU驱动版本信息保持对应关系,否则将会出现不同版本的驱动不兼容的问题,因此,在现有技术中,通常使用帮助文档的方式向每个虚拟GPU实例提供当前宿主机上安装的GPU驱动版本信息,以保持各虚拟机上安装的虚拟GPU实例驱动版本信息与宿主机上安装的GPU驱动版本信息之间的对应关系,如图2所示。该处理方式不仅需要增加运维人力成本的投入,而且也会带来驱动信息通信的滞后,不利于提升虚拟机的业务运行质量。
[0149] 考虑到上述问题,在该实施方式中,提出一种驱动数据处理方法,该方法通过宿主机在虚拟GPU实例创建过程中就提前将宿主机GPU驱动信息写入至预设驱动信息数据源中,虚拟机自动访问所述预设驱动信息数据源,以主动及时地获取所述宿主机GPU驱动信息,进而及时地获取对应的GPU驱动安装文件进行自动安装。该技术方案能够及时发布宿主机GPU驱动信息,对应的虚拟机能够自动安装对应的驱动文件,进而能够自动、持续地保持宿主机上安装的GPU驱动版本信息与各虚拟机上安装的虚拟GPU实例驱动版本信息之间的对应关系,因此有效避免了运维人力成本的投入和驱动信息通信的滞后,有利于提升虚拟机的业务运行质量。
[0150] 在本发明一实施方式中,所述方法还包括以下步骤:
[0151] 所述宿主机响应于所述宿主机GPU驱动信息被更新,通过所述模拟处理器将更新宿主机GPU驱动信息写入至预设驱动信息数据源中,并向虚拟机发送宿主机GPU驱动信息更新通知消息,其中,所述宿主机GPU驱动信息更新通知消息中至少包括宿主机GPU标识信息。
[0152] 在本发明一实施方式中,所述虚拟机响应于虚拟GPU实例启动,启动驱动安装组件的步骤,可被实施为:
[0153] 虚拟机响应于接收到驱动数据自动处理授权信息,且响应于虚拟GPU实例启动,启动驱动安装组件。
[0154] 在本发明一实施方式中,所述虚拟机通过所述驱动安装组件从预设驱动信息数据源中自动获取与所述虚拟GPU实例对应的宿主机GPU驱动信息的步骤,可被实施为:
[0155] 通过所述驱动安装组件获取所述虚拟GPU实例的宿主机GPU标识信息;
[0156] 通过所述驱动安装组件从所述预设驱动信息数据源中读取具有所述宿主机GPU标识信息的宿主机GPU驱动信息。
[0157] 在本发明一实施方式中,所述虚拟机通过所述驱动安装组件从预设驱动安装文件数据源获取与所述宿主机GPU驱动信息对应的GPU驱动安装文件并进行安装的步骤,可被实施为:
[0158] 通过所述驱动安装组件对于所述宿主机GPU驱动信息进行解析,获取所述宿主机GPU驱动版本信息;
[0159] 通过所述驱动安装组件根据所述宿主机GPU驱动版本信息从预设驱动安装文件数据源中获取与所述宿主机GPU驱动版本信息相应的GPU驱动安装文件;
[0160] 安装所述GPU驱动安装文件。
[0161] 在本发明一实施方式中,所述方法还包括以下步骤:
[0162] 所述虚拟机响应于接收到宿主机发送的宿主机GPU驱动信息更新通知消息或者响应于检测到所述预设驱动信息数据源中存储的宿主机GPU驱动信息存在更新,通过所述驱动安装组件从所述预设驱动信息数据源中自动获取与所述虚拟GPU实例对应的更新宿主机GPU驱动信息,并从预设驱动安装文件数据源中获取与所述更新宿主机GPU驱动信息对应的GPU驱动安装文件进行安装,其中,所述宿主机GPU驱动信息更新通知消息中至少包括宿主机GPU标识信息。
[0163] 在本发明一实施方式中,所述方法还包括以下步骤:
[0164] 当虚拟机检测到异常信息时,触发预设异常处理。
[0165] 在实际应用过程中,所述虚拟机有可能遇到虚拟GPU实例启动后无响应或无相应动作发生、从所述预设驱动安装文件数据源下载的GPU驱动安装文件无法正常安装或者安装后无法正常使用等异常情况,此时,若检测到上述异常信息,则可触发预设异常处理流程,其中,所述预设异常处理比如可以为向预设管控人员、预设管控设备等预设管控资源报告具体异常信息,以使所述预设管控资源根据报告的异常信息进行相应的处理。
[0166] 图4所示及相关实施方式所涉及的技术特征与上文图1‑图3所示实施方式所描述的技术特征的解释相同或相似,相关技术特征的解释和说明可参考上述图1‑图3所示实施方式中对于技术特征的解释和说明,在此不再赘述。
[0167] 图5为根据本公开一实施方式的驱动数据处理方法整体流程图,如图5所示,图中的数据处理系统包括一个宿主机和多个虚拟机,为了便于描述,以其中一个虚拟机为例对于所述驱动数据处理方法进行描述,其他虚拟机的执行步骤与其类似。宿主机接收到驱动数据自动处理授权信息后,启动模拟处理器;在虚拟GPU实例创建过程中,GPU将获取得到的与所述虚拟GPU实例对应的宿主机GPU驱动信息发送给模拟处理器;模拟处理器将接收到的宿主机GPU驱动信息写入至预设驱动信息数据源中;虚拟机响应于虚拟GPU实例启动,启动驱动安装组件;所述驱动安装组件从所述预设驱动信息数据源中自动获取与所述虚拟GPU实例对应的宿主机GPU驱动信息,再从预设驱动安装文件数据源获取与所述宿主机GPU驱动信息对应的GPU驱动安装文件并进行安装,其中,所述预设驱动安装文件数据源中存储有不同版本信息的GPU驱动安装文件,比如GPU驱动安装文件1、GPU驱动安装文件2和GPU驱动安装文件3。
[0168] 图6为根据本公开一实施方式的虚拟机端驱动数据处理方法整体流程图,如图6所示,在创建vGPU实例之后,判断虚拟机用户是否选择了自动安装驱动,若否则在vGPU实例启动后无响应,流程结束;若是则在vGPU实例启动后运行驱动安装组件,从预设驱动安装文件数据源处下载对应的GPU驱动安装文件,然后判断所述GPU驱动安装文件的安装是否正常完成,若是则结束,若否,则将异常信息上报预设管控资源,流程结束。
[0169] 下述为本发明装置实施例,可以用于执行本发明方法实施例。
[0170] 图7示出根据本发明一实施方式的驱动数据处理装置的结构框图,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部,可实现为虚拟机。如图7所示,所述驱动数据处理装置包括:
[0171] 第一启动模块701,被配置为响应于虚拟GPU实例启动,启动驱动安装组件;
[0172] 第一获取模块702,被配置为通过所述驱动安装组件从预设驱动信息数据源中自动获取与所述虚拟GPU实例对应的宿主机GPU驱动信息,其中,所述宿主机GPU驱动信息是在虚拟GPU实例创建过程中被宿主机写入至预设驱动信息数据源中的;
[0173] 安装模块703,被配置为通过所述驱动安装组件从预设驱动安装文件数据源获取与所述宿主机GPU驱动信息对应的GPU驱动安装文件并进行安装。
[0174] 上文提及,随着数据技术的发展,当前人工智能和GPU(图形处理器)渲染等主流GPU并行计算业务飞速发展,需要使用GPU的场景也越来越广泛,在虚拟化应用场景中,考虑到有些用户并不需要整个GPU进行计算,因此,为了节约GPU算力资源,实现对于GPU的充分利用,通常将GPU总性能进行分片,比如可将GPU总性能拆分为1/2、1/3、1/4、1/8等多个虚拟GPU实例,再将拆分得到的多个虚拟GPU实例分配给不同的虚拟机用,其中,每个虚拟GPU实例具备GPU总性能的1/n,n为分片数量。由于宿主机上安装的GPU驱动需要持续升级,但虚拟机无法主动获取到宿主机的驱动版本,而虚拟机上安装的虚拟GPU实例驱动版本信息还需要与宿主机上安装的GPU驱动版本信息保持对应关系,否则将会出现不同版本的驱动不兼容的问题,因此,在现有技术中,通常使用帮助文档的方式向虚拟机提供当前宿主机上安装的GPU驱动版本信息,以保持各虚拟机上安装的虚拟GPU实例驱动版本信息与宿主机上安装的GPU驱动版本信息之间的对应关系,如图2所示。该处理方式不仅需要增加运维人力成本的投入,而且也会带来驱动信息通信的滞后,不利于提升虚拟机的业务运行质量。
[0175] 考虑到上述问题,在该实施方式中,提出一种驱动数据处理装置,该装置通过自动获取虚拟GPU实例创建过程中已被宿主机写入至预设驱动信息数据源中的宿主机GPU驱动信息,并根据得到的宿主机GPU驱动信息获取对应的GPU驱动安装文件进行安装。该技术方案能够自动识别宿主机GPU驱动信息,自动安装对应的驱动文件,能够自动、持续地保持各虚拟机上安装的虚拟GPU实例驱动版本信息与宿主机上安装的GPU驱动版本信息之间的对应关系,因此有效避免了运维人力成本的投入和驱动信息通信的滞后,有利于提升虚拟机的业务运行质量。
[0176] 在本发明一实施方式中,如上所述,所述虚拟GPU实例,也叫vGPU实例,指的是将宿主机上的物理GPU进行1/n切片后得到的一种实例类型,其中,n可为自然数。切片后得到的虚拟GPU实例可根据虚拟机实际应用的需要分配给虚拟机使用,每个虚拟机可拥有一个虚拟的GPU实例,多个虚拟机共享同一个物理GPU。
[0177] 在本发明一实施方式中,所述驱动安装组件安装于使用虚拟GPU实例的虚拟机上。在得到驱动数据自动处理授权许可之后,比如虚拟机用户选择了自动安装驱动,所述驱动安装组件能够从所述预设驱动信息数据源处自动获取与所使用虚拟GPU实例对应的宿主机GPU驱动信息,从所述预设驱动安装文件数据源处自动获取与所述宿主机GPU驱动信息对应的GPU驱动安装文件并自动对其进行安装。其中,所述预设驱动信息数据源比如可以为PCI配置空间(外设部件互连标准接口配置空间),所述宿主机在创建虚拟GPU实例时就提前将当前最新的宿主机GPU驱动信息写入至没在被使用的,即空闲的所述PCI配置空间中,以方便虚拟机对于宿主机GPU驱动信息的获取。其中,所述预设驱动安装文件数据源指的是存储有不同版本信息的GPU驱动安装文件的预设文件存储器或预设文件服务器,所述驱动安装组件可借助与所述预设文件存储器或预设文件服务器的通信获取与所述宿主机GPU驱动信息对应的GPU驱动安装文件,以进行后续GPU驱动的安装。
[0178] 在本发明一实施方式中,所述宿主机GPU驱动信息至少包括宿主机GPU标识信息和宿主机GPU驱动版本信息。其中,所述宿主机GPU标识信息用于对于所述宿主机GPU进行区别性标识,以避免出现宿主机GPU驱动版本信息获取错误的情况。
[0179] 上文提及,切片后得到的虚拟GPU实例可根据虚拟机实际应用的需要分配给虚拟机使用,每个虚拟机可拥有一个虚拟的GPU实例,多个虚拟机共享同一个物理GPU,那么当共享同一物理GPU的虚拟机为多个时,该多个虚拟机均可与对应的宿主机、预设驱动信息数据源和预设驱动安装文件数据源通信以获取相应的宿主机GPU驱动信息和对应的GPU驱动安装文件。
[0180] 在本发明一实施方式中,所述第一启动模块701可被配置为:
[0181] 响应于接收到驱动数据自动处理授权信息,且响应于虚拟GPU实例启动,启动驱动安装组件。
[0182] 为了保护用户或其他虚拟机使用方的合法权益,在该实施方式中,只有在接收到用户或其他虚拟机使用方发送或者确认的驱动数据自动处理授权信息之后,才在虚拟GPU实例启动时,启动所述驱动安装组件,以执行驱动的后续自动安装流程,即完成驱动信息的自动获取、驱动安装文件的自动获取和自动安装。
[0183] 在本发明一实施方式中,所述第一获取模块702可被配置为:
[0184] 通过所述驱动安装组件获取所述虚拟GPU实例的宿主机GPU标识信息;
[0185] 通过所述驱动安装组件从所述预设驱动信息数据源中读取具有所述宿主机GPU标识信息的宿主机GPU驱动信息。
[0186] 上文提及,所述宿主机GPU标识信息用于对于所述宿主机GPU进行区别性标识,因此,为了避免出现宿主机GPU驱动版本信息获取错误的情况,在该实施方式中,借助宿主机GPU标识信息的比对来获取正确的、与所述虚拟GPU实例对应的宿主机GPU驱动信息。具体地,首先通过所述驱动安装组件获取所述虚拟GPU实例的宿主机GPU标识信息;然后再通过所述驱动安装组件从所述预设驱动信息数据源中读取具有所述宿主机GPU标识信息的宿主机GPU驱动信息。
[0187] 在本发明一实施方式中,所述安装模块703可被配置为:
[0188] 通过所述驱动安装组件对于所述宿主机GPU驱动信息进行解析,获取所述宿主机GPU驱动版本信息;
[0189] 通过所述驱动安装组件根据所述宿主机GPU驱动版本信息从预设驱动安装文件数据源中获取与所述宿主机GPU驱动版本信息相应的GPU驱动安装文件;
[0190] 安装所述GPU驱动安装文件。
[0191] 为了获取正确的、与所述宿主机GPU驱动版本信息对应GPU驱动安装文件,在该实施方式中,首先通过所述驱动安装组件对于得到的所述宿主机GPU驱动信息进行解析,获取所述宿主机GPU驱动版本信息;再通过所述驱动安装组件根据所述宿主机GPU驱动版本信息从预设驱动安装文件数据源中获取与所述宿主机GPU驱动版本信息相应的GPU驱动安装文件;最后对于所述GPU驱动安装文件进行安装。
[0192] 上文提及,所述预设驱动安装文件数据源指的是存储有不同版本信息的GPU驱动安装文件的预设文件存储器或预设文件服务器。在本发明一实施方式中,所述预设驱动安装文件数据源比如可以为OSS服务器(对象存储服务器)等文件存储器或文件服务器,其上存储有不同版本信息的GPU驱动安装文件,以供不同版本信息的GPU驱动安装文件需求方获取。
[0193] 在本发明一实施方式中,所述装置还包括:
[0194] 更新模块,被配置为响应于接收到宿主机发送的宿主机GPU驱动信息更新通知消息或者响应于检测到所述预设驱动信息数据源中存储的宿主机GPU驱动信息存在更新,通过所述驱动安装组件从所述预设驱动信息数据源中自动获取与所述虚拟GPU实例对应的更新宿主机GPU驱动信息,并从预设驱动安装文件数据源中获取与所述更新宿主机GPU驱动信息对应的GPU驱动安装文件进行安装,其中,所述宿主机GPU驱动信息更新通知消息中至少包括宿主机GPU标识信息。
[0195] 上文提及,宿主机上安装的GPU驱动需要持续升级,而且虚拟机上安装的虚拟GPU实例驱动版本信息需要与宿主机上安装的GPU驱动版本信息保持对应关系,否则将会出现不同版本的驱动不兼容的问题,因此,在该实施方式中,还需要对于宿主机GPU驱动信息和GPU驱动安装文件进行实时的更新。具体地,当所述虚拟机接收到所述宿主机发送的宿主机GPU驱动信息更新通知消息时,或者由所述驱动安装组件对于所述预设驱动信息数据源进行信息更新的定期检测,并检测到所述预设驱动信息数据源中存储的宿主机GPU驱动信息存在更新时,更新模块可使所述驱动安装组件发起更新驱动信息自动获取操作,即从所述预设驱动信息数据源中自动获取与所述虚拟GPU实例对应的更新宿主机GPU驱动信息,并接着从所述预设驱动安装文件数据源中获取与所述更新宿主机GPU驱动信息对应的新的GPU驱动安装文件进行更新安装。其中,为了避免出现宿主机GPU驱动版本信息获取错误的情况,所述宿主机GPU驱动信息更新通知消息中至少包括宿主机GPU标识信息。
[0196] 在本发明一实施方式中,所述装置还包括:
[0197] 处理模块,被配置为当检测到异常信息时,触发预设异常处理。
[0198] 在实际应用过程中,所述虚拟机有可能遇到虚拟GPU实例启动后无响应或无相应动作发生、从所述预设驱动安装文件数据源下载的GPU驱动安装文件无法正常安装或者安装后无法正常使用等异常情况,此时,若检测到上述异常信息,则可触发预设异常处理流程,其中,所述预设异常处理比如可以为向预设管控人员、预设管控设备等预设管控资源报告具体异常信息,以使所述预设管控资源根据报告的异常信息进行相应的处理。
[0199] 图8示出根据本发明另一实施方式的驱动数据处理装置的结构框图,可实现为宿主机,如图8所示,所述驱动数据处理装置包括:
[0200] 第二启动模块801,被配置为响应于接收到驱动数据自动处理授权信息,启动模拟处理器;
[0201] 第二获取模块802,被配置为在虚拟GPU实例创建过程中,获取与所述虚拟GPU实例对应的宿主机GPU驱动信息,其中,所述宿主机GPU驱动信息至少包括宿主机GPU标识信息和宿主机GPU驱动版本信息;
[0202] 第一发送模块803,被配置为将与所述虚拟GPU实例对应的宿主机GPU驱动信息发送给模拟处理器,以使所述模拟处理器将所述宿主机GPU驱动信息写入至预设驱动信息数据源中。
[0203] 上文提及,随着数据技术的发展,当前人工智能和GPU(图形处理器)渲染等主流GPU并行计算业务飞速发展,需要使用GPU的场景也越来越广泛,在虚拟化应用场景中,考虑到有些用户并不需要整个GPU进行计算,因此,为了节约GPU算力资源,实现对于GPU的充分利用,通常将GPU总性能进行分片,比如可将GPU总性能拆分为1/2、1/3、1/4、1/8等多个虚拟GPU实例,再将拆分得到的多个虚拟GPU实例分配给不同的虚拟机用,其中,每个虚拟GPU实例具备GPU总性能的1/n,n为分片数量。由于宿主机上安装的GPU驱动需要持续升级,但虚拟机无法主动获取到宿主机的驱动版本,而虚拟机上安装的虚拟GPU实例驱动版本信息还需要与宿主机上安装的GPU驱动版本信息保持对应关系,否则将会出现不同版本的驱动不兼容的问题,因此,在现有技术中,通常使用帮助文档的方式向每个虚拟GPU实例提供当前宿主机上安装的GPU驱动版本信息,以保持各虚拟机上安装的虚拟GPU实例驱动版本信息与宿主机上安装的GPU驱动版本信息之间的对应关系,如图2所示。该处理方式不仅需要增加运维人力成本的投入,而且也会带来驱动信息通信的滞后,不利于提升虚拟机的业务运行质量。
[0204] 考虑到上述问题,在该实施方式中,提出一种驱动数据处理装置,该装置通过在虚拟GPU实例创建过程中就提前将宿主机GPU驱动信息写入至预设驱动信息数据源中,以使虚拟机能够访问所述预设驱动信息数据源,以主动及时地获取所述宿主机GPU驱动信息,进而及时地获取对应的GPU驱动安装文件进行自动安装。该技术方案能够及时发布宿主机GPU驱动信息,使得对应的虚拟机能够自动安装对应的驱动文件,进而能够自动、持续地保持宿主机上安装的GPU驱动版本信息与各虚拟机上安装的虚拟GPU实例驱动版本信息之间的对应关系,因此有效避免了运维人力成本的投入和驱动信息通信的滞后,有利于提升虚拟机的业务运行质量。
[0205] 在本发明一实施方式中,所述驱动数据自动处理授权信息由用户或其他虚拟机使用方发送给虚拟机,又由所述虚拟机发送给所述宿主机,当用户或其他虚拟机使用方确认授权进行驱动数据的自动处理时,所述宿主机才会启动模拟处理器,以使所述模拟处理器将获取得到的与虚拟GPU实例对应的宿主机GPU驱动信息写入至预设驱动信息数据源中,以供虚拟机的驱动安装组件访问。
[0206] 为了使得虚拟机能够自动、及时地安装上与宿主机GPU驱动版本信息对应的驱动文件,自动、持续地保持宿主机上安装的GPU驱动版本信息与各虚拟机上安装的虚拟GPU实例驱动版本信息之间的对应关系,在本发明一实施方式中,所述宿主机在虚拟GPU实例创建过程中,就将获取得到的与所述虚拟GPU实例对应的宿主机GPU驱动信息发送给所述模拟处理器,以使所述模拟处理器将所述宿主机GPU驱动信息提前写入至预设驱动信息数据源中。
[0207] 在本发明一实施方式中,所述装置还包括:
[0208] 第二发送模块,被配置为响应于检测到所述宿主机GPU驱动信息被更新,通过所述模拟处理器将更新宿主机GPU驱动信息写入至预设驱动信息数据源中,并向虚拟机发送宿主机GPU驱动信息更新通知消息,其中,所述宿主机GPU驱动信息更新通知消息中至少包括宿主机GPU标识信息。
[0209] 上文提及,宿主机上安装的GPU驱动需要持续升级,而且虚拟机上安装的虚拟GPU实例驱动版本信息需要与宿主机上安装的GPU驱动版本信息保持对应关系,否则将会出现不同版本的驱动不兼容的问题,因此,在该实施方式中,还需要对于宿主机GPU驱动信息和GPU驱动安装文件进行实时的更新。具体地,当所述宿主机检测到所述宿主机GPU驱动信息被更新,则第二发送模块通过所述模拟处理器将更新宿主机GPU驱动信息写入至预设驱动信息数据源中,并向虚拟机发送宿主机GPU驱动信息更新通知消息,以提醒所述虚拟机获取新的宿主机GPU驱动信息及相应的GPU驱动安装文件,其中,为了避免出现宿主机GPU驱动版本信息获取错误的情况,所述宿主机GPU驱动信息更新通知消息中至少包括宿主机GPU标识信息。
[0210] 图8所示及相关实施方式所涉及的技术特征与上文图7所示实施方式所描述的技术特征的解释相同或相似,相关技术特征的解释和说明可参考上述图7所示实施方式中对于技术特征的解释和说明,在此不再赘述。
[0211] 图9示出根据本发明再一实施方式的驱动数据处理装置的结构框图,可实现为包括宿主机和虚拟机的数据处理系统,如图9所示,所述驱动数据处理装置包括:
[0212] 宿主机901,被配置为响应于接收到驱动数据自动处理授权信息,启动模拟处理器,在虚拟GPU实例创建过程中,获取与所述虚拟GPU实例对应的宿主机GPU驱动信息,并将与所述虚拟GPU实例对应的宿主机GPU驱动信息发送给模拟处理器,以使所述模拟处理器将所述宿主机GPU驱动信息写入至预设驱动信息数据源中;
[0213] 虚拟机902,被配置为响应于虚拟GPU实例启动,启动驱动安装组件,通过所述驱动安装组件从所述预设驱动信息数据源中自动获取与所述虚拟GPU实例对应的宿主机GPU驱动信息,通过所述驱动安装组件从预设驱动安装文件数据源获取与所述宿主机GPU驱动信息对应的GPU驱动安装文件并进行安装。
[0214] 上文提及,随着数据技术的发展,当前人工智能和GPU(图形处理器)渲染等主流GPU并行计算业务飞速发展,需要使用GPU的场景也越来越广泛,在虚拟化应用场景中,考虑到有些用户并不需要整个GPU进行计算,因此,为了节约GPU算力资源,实现对于GPU的充分利用,通常将GPU总性能进行分片,比如可将GPU总性能拆分为1/2、1/3、1/4、1/8等多个虚拟GPU实例,再将拆分得到的多个虚拟GPU实例分配给不同的虚拟机用,其中,每个虚拟GPU实例具备GPU总性能的1/n,n为分片数量。由于宿主机上安装的GPU驱动需要持续升级,但虚拟机无法主动获取到宿主机的驱动版本,而虚拟机上安装的虚拟GPU实例驱动版本信息还需要与宿主机上安装的GPU驱动版本信息保持对应关系,否则将会出现不同版本的驱动不兼容的问题,因此,在现有技术中,通常使用帮助文档的方式向每个虚拟GPU实例提供当前宿主机上安装的GPU驱动版本信息,以保持各虚拟机上安装的虚拟GPU实例驱动版本信息与宿主机上安装的GPU驱动版本信息之间的对应关系,如图2所示。该处理方式不仅需要增加运维人力成本的投入,而且也会带来驱动信息通信的滞后,不利于提升虚拟机的业务运行质量。
[0215] 考虑到上述问题,在该实施方式中,提出一种驱动数据处理装置,该装置通过宿主机在虚拟GPU实例创建过程中就提前将宿主机GPU驱动信息写入至预设驱动信息数据源中,虚拟机自动访问所述预设驱动信息数据源,以主动及时地获取所述宿主机GPU驱动信息,进而及时地获取对应的GPU驱动安装文件进行自动安装。该技术方案能够及时发布宿主机GPU驱动信息,对应的虚拟机能够自动安装对应的驱动文件,进而能够自动、持续地保持宿主机上安装的GPU驱动版本信息与各虚拟机上安装的虚拟GPU实例驱动版本信息之间的对应关系,因此有效避免了运维人力成本的投入和驱动信息通信的滞后,有利于提升虚拟机的业务运行质量。
[0216] 在本发明一实施方式中,所述宿主机901还被配置为:响应于所述宿主机GPU驱动信息被更新,通过所述模拟处理器将更新宿主机GPU驱动信息写入至预设驱动信息数据源中,并向虚拟机发送宿主机GPU驱动信息更新通知消息,其中,所述宿主机GPU驱动信息更新通知消息中至少包括宿主机GPU标识信息。
[0217] 在本发明一实施方式中,所述虚拟机响应于虚拟GPU实例启动,启动驱动安装组件的部分,可被配置为:
[0218] 虚拟机响应于接收到驱动数据自动处理授权信息,且响应于虚拟GPU实例启动,启动驱动安装组件。
[0219] 在本发明一实施方式中,所述虚拟机通过所述驱动安装组件从预设驱动信息数据源中自动获取与所述虚拟GPU实例对应的宿主机GPU驱动信息的部分,可被配置为:
[0220] 通过所述驱动安装组件获取所述虚拟GPU实例的宿主机GPU标识信息;
[0221] 通过所述驱动安装组件从所述预设驱动信息数据源中读取具有所述宿主机GPU标识信息的宿主机GPU驱动信息。
[0222] 在本发明一实施方式中,所述虚拟机通过所述驱动安装组件从预设驱动安装文件数据源获取与所述宿主机GPU驱动信息对应的GPU驱动安装文件并进行安装的部分,可被配置为:
[0223] 通过所述驱动安装组件对于所述宿主机GPU驱动信息进行解析,获取所述宿主机GPU驱动版本信息;
[0224] 通过所述驱动安装组件根据所述宿主机GPU驱动版本信息从预设驱动安装文件数据源中获取与所述宿主机GPU驱动版本信息相应的GPU驱动安装文件;
[0225] 安装所述GPU驱动安装文件。
[0226] 在本发明一实施方式中,所述虚拟机还可被配置为:
[0227] 响应于接收到宿主机发送的宿主机GPU驱动信息更新通知消息或者响应于检测到所述预设驱动信息数据源中存储的宿主机GPU驱动信息存在更新,通过所述驱动安装组件从所述预设驱动信息数据源中自动获取与所述虚拟GPU实例对应的更新宿主机GPU驱动信息,并从预设驱动安装文件数据源中获取与所述更新宿主机GPU驱动信息对应的GPU驱动安装文件进行安装,其中,所述宿主机GPU驱动信息更新通知消息中至少包括宿主机GPU标识信息。
[0228] 在本发明一实施方式中,所述虚拟机还可被配置为:当检测到异常信息时,触发预设异常处理。
[0229] 在实际应用过程中,所述虚拟机有可能遇到虚拟GPU实例启动后无响应或无相应动作发生、从所述预设驱动安装文件数据源下载的GPU驱动安装文件无法正常安装或者安装后无法正常使用等异常情况,此时,若检测到上述异常信息,则可触发预设异常处理流程,其中,所述预设异常处理比如可以为向预设管控人员、预设管控设备等预设管控资源报告具体异常信息,以使所述预设管控资源根据报告的异常信息进行相应的处理。
[0230] 图9所示及相关实施方式所涉及的技术特征与上文图7‑图8所示实施方式所描述的技术特征的解释相同或相似,相关技术特征的解释和说明可参考上述图7‑图8所示实施方式中对于技术特征的解释和说明,在此不再赘述。
[0231] 本发明实施例还公开了一种电子设备,图10示出根据本发明一实施方式的电子设备的结构框图,如图10所示,所述电子设备1000包括存储器1001和处理器1002;其中,[0232] 所述存储器1001用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器1002执行以实现上述任一方法步骤。
[0233] 图11是适于用来实现根据本发明一实施方式的驱动数据处理方法的计算机系统的结构示意图。
[0234] 如图11所示,计算机系统1100包括处理单元1101,其可以根据存储在只读存储器(ROM)1102中的程序或者从存储部分1108加载到随机访问存储器(RAM)1103中的程序而执行上述实施方式中的各种处理。在RAM1103中,还存储有系统1100操作所需的各种程序和数据。处理单元1101、ROM1102以及RAM1103通过总线1104彼此相连。输入/输出(I/O)接口1105也连接至总线1104。
[0235] 以下部件连接至I/O接口1105:包括键盘、鼠标等的输入部分1106;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1107;包括硬盘等的存储部分1108;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1109。通信部分1109经由诸如因特网的网络执行通信处理。驱动器1110也根据需要连接至I/O接口1105。可拆卸介质1111,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1110上,以便于从其上读出的计算机程序根据需要被安装入存储部分1108。其中,所述处理单元1101可实现为CPU、GPU、FPGA、NPU等处理单元。
[0236] 特别地,根据本发明的实施方式,上文描述的方法可以被实现为计算机软件程序。例如,本发明的实施方式包括一种计算机程序产品,其包括有形地包含在及其可读介质上的计算机程序,所述计算机程序包含用于执行所述驱动数据处理方法的程序代码。在这样的实施方式中,该计算机程序可以通过通信部分1109从网络上被下载和安装,和/或从可拆卸介质1111被安装。
[0237] 附图中的流程图和框图,图示了按照本发明各种实施方式的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,路程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0238] 描述于本发明实施方式中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。
[0239] 作为另一方面,本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施方式中所述装置中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,所述程序被一个或者一个以上的处理器用来执行描述于本发明实施例的方法。
[0240] 以上描述仅为本发明的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本发明实施例中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本发明实施例中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。