System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请属于处理器,尤其涉及一种基于容器的gpu资源调用方法、装置、存储介质、电子设备及计算机程序产品。
技术介绍
1、随着计算机技术的发展,图形处理器(graphics processing unit,gpu)已成为现代计算机系统中不可或缺的组成部分。gpu的并行处理能力使其成为执行大规模并行计算任务的理想选择。然而,gpu的高效使用需要对硬件资源进行精细的管理和调度。而随着云计算和微服务架构的兴起,容器化技术已成为一种流行的应用部署方式。
2、容器化技术可以为应用程序提供一个隔离的虚拟环境,其允许开发者将应用程序及其依赖项打包在一个轻量级、可移植的容器中,从而实现快速、一致的部署,使得容器中的应用程序在不具备这些依赖项的运行环境中仍然可以运行,提高了应用程序的适用性。容器化技术是一种操作系统层虚拟化技术,利用容器化技术可以基于物理主机上的主机操作系统内核创建出多个独立的、互不干扰的容器,每个容器都为运行在该容器内的应用程序提供了独立的运行环境。由于每个容器共享了主机操作系统内核,导致攻击者能够透过容器对主机操作系统内核发起攻击,从而威胁到整个物理主机的安全。
技术实现思路
1、本申请旨在至少解决现有技术中存在的技术问题之一。为此,本申请提出一种基于容器的gpu资源调用方法、装置、存储介质、电子设备及计算机程序产品,能有效防止不法分子透过容器对内核发起攻击,提高系统安全性。
2、第一方面,本申请提供了一种基于容器的gpu资源调用方法,包括:
3、
4、利用所述容器化工具为至少一个gpu应用程序创建相应的容器,得到至少一个gpu容器;
5、基于所述gpu容器和所述目标运行环境组件进行gpu资源调用。
6、在一些实施例中,所述安装绑定有目标运行环境组件的容器化工具,包括:
7、安装容器化工具和目标运行环境组件,并将所述容器化工具的配置文件中用于管理容器的运行时组件替换为所述目标运行环境组件中的运行时组件。
8、在一些实施例中,所述基于所述gpu容器和所述目标运行环境组件进行gpu资源调用,包括:
9、运行并监测所述gpu容器;
10、当监测到所述gpu容器发生gpu计算操作时,通过所述目标运行环境组件对gpu调用命令执行所述拦截校验功能,且将校验成功的所述gpu调用命令转发至内核中的gpu驱动组件;
11、通过所述gpu驱动组件,根据所述gpu调用命令进行gpu资源调用。
12、在一些实施例中,所述通过所述gpu驱动组件,根据所述gpu调用命令进行gpu资源调用,包括:
13、通过所述gpu驱动组件,根据所述gpu调用命令驱动gpu物理设备进行相应处理。
14、在一些实施例中,所述目标运行环境组件包括拦截模块、校验模块和代理模块,所述通过所述目标运行环境组件对gpu调用命令执行所述拦截校验功能,且将校验成功的所述gpu调用命令转发至内核中的gpu驱动组件,包括:
15、通过所述拦截模块,从所述gpu容器对应的运行时接口中拦截gpu调用命令,并将拦截到的所述gpu调用命令发送至所述校验模块;
16、通过所述校验模块,将所述gpu调用命令和预设白名单进行匹配,且当匹配成功时,将所述gpu调用命令发送至所述代理模块;
17、通过所述代理模块,将匹配成功的所述gpu调用命令转发至内核中的gpu驱动组件。
18、在一些实施例中,所述利用所述容器化工具为至少一个gpu应用程序创建相应的容器,包括:
19、获取至少一个gpu应用程序的程序代码和依赖项;
20、利用所述容器化工具,创建封装有所述程序代码和所述依赖项的容器,并将gpu物理设备的设备文件和gpu驱动组件加载到所述容器中,每个所述gpu应用程序对应一个所述容器。
21、第二方面,本申请提供了一种基于容器的gpu资源调用装置,包括:
22、安装单元,用于安装绑定有目标运行环境组件的容器化工具,所述目标运行环境组件用于为容器提供沙箱运行环境和拦截校验功能,所述拦截校验功能用于拦截gpu调用命令并进行白名单校验;
23、创建单元,用于利用所述容器化工具为至少一个gpu应用程序创建相应的容器,得到至少一个gpu容器;
24、调用单元,用于基于所述gpu容器和所述目标运行环境组件进行gpu资源调用。
25、在一些实施例中,所述安装单元具体用于:
26、安装容器化工具和目标运行环境组件,并将所述容器化工具的配置文件中用于管理容器的运行时组件替换为所述目标运行环境组件中的运行时组件。
27、在一些实施例中,所述调用单元具体用于:
28、运行并监测所述gpu容器;
29、当监测到所述gpu容器发生gpu计算操作时,通过所述目标运行环境组件对gpu调用命令执行所述拦截校验功能,且将校验成功的所述gpu调用命令转发至内核中的gpu驱动组件;
30、通过所述gpu驱动组件,根据所述gpu调用命令进行gpu资源调用。
31、在一些实施例中,所述调用单元具体用于:
32、通过所述gpu驱动组件,根据所述gpu调用命令驱动gpu物理设备进行相应处理。
33、在一些实施例中,所述目标运行环境组件包括拦截模块、校验模块和代理模块,所述调用单元具体用于:
34、通过所述拦截模块,从所述gpu容器对应的运行时接口中拦截gpu调用命令,并将拦截到的所述gpu调用命令发送至所述校验模块;
35、通过所述校验模块,将所述gpu调用命令和预设白名单进行匹配,且当匹配成功时,将所述gpu调用命令发送至所述代理模块;
36、通过所述代理模块,将匹配成功的所述gpu调用命令转发至内核中的gpu驱动组件。
37、在一些实施例中,所述创建单元具体用于:
38、获取至少一个gpu应用程序的程序代码和依赖项;
39、利用所述容器化工具,创建封装有所述程序代码和所述依赖项的容器,并将gpu物理设备的设备文件和gpu驱动组件加载到所述容器中,每个所述gpu应用程序对应一个所述容器。
40、第三方面,本申请提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的基于容器的gpu资源调用方法。
41、第四方面,本申请提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任一项所述的基于容器的gpu资源调用方法。
42、第五方面,本申请提供了一种计算机程序产品,包括本文档来自技高网...
【技术保护点】
1.一种基于容器的GPU资源调用方法,其特征在于,包括:
2.根据权利要求1所述的基于容器的GPU资源调用方法,其特征在于,所述安装绑定有目标运行环境组件的容器化工具,包括:
3.根据权利要求1所述的基于容器的GPU资源调用方法,其特征在于,所述基于所述GPU容器和所述目标运行环境组件进行GPU资源调用,包括:
4.根据权利要求3所述的基于容器的GPU资源调用方法,其特征在于,所述通过所述GPU驱动组件,根据所述GPU调用命令进行GPU资源调用,包括:
5.根据权利要求3所述的基于容器的GPU资源调用方法,其特征在于,所述目标运行环境组件包括拦截模块、校验模块和代理模块,所述通过所述目标运行环境组件对GPU调用命令执行所述拦截校验功能,且将校验成功的所述GPU调用命令转发至内核中的GPU驱动组件,包括:
6.根据权利要求1-5中任一项所述的基于容器的GPU资源调用方法,其特征在于,所述利用所述容器化工具为至少一个GPU应用程序创建相应的容器,包括:
7.一种基于容器的GPU资源调用装置,其特征在于,包括:
...【技术特征摘要】
1.一种基于容器的gpu资源调用方法,其特征在于,包括:
2.根据权利要求1所述的基于容器的gpu资源调用方法,其特征在于,所述安装绑定有目标运行环境组件的容器化工具,包括:
3.根据权利要求1所述的基于容器的gpu资源调用方法,其特征在于,所述基于所述gpu容器和所述目标运行环境组件进行gpu资源调用,包括:
4.根据权利要求3所述的基于容器的gpu资源调用方法,其特征在于,所述通过所述gpu驱动组件,根据所述gpu调用命令进行gpu资源调用,包括:
5.根据权利要求3所述的基于容器的gpu资源调用方法,其特征在于,所述目标运行环境组件包括拦截模块、校验模块和代理模块,所述通过所述目标运行环境组件对gpu调用命令执行所述拦截校验功能,且将校验成功的所述gpu调用命令转发至内核中的gpu驱动组件,包括...
【专利技术属性】
技术研发人员:艾力扎提·托乎提,
申请(专利权)人:北京东土科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。