【技术实现步骤摘要】
一种容器的GPU进程统计方法和装置
[0001]本专利技术涉及计算机领域,更具体地,特别是指一种容器的GPU进程统计方法和装置。
技术介绍
[0002]在人工智能大数据时代,随着数据量的不断增大,对算力的需求也越来越高,GPU的超高计算力使其广泛应用于各个行业,但是由于其高昂的价格,实际各个企业在应用中多采用K8s(Kubernetes)等工具来管理平台资源,并通过容器的方式来分配和管理各个用户申请的资源,从而尽可能的隔离各个用户之间的干扰。
[0003]然而,在容器内使用nvidia自带的nvidia
‑
smi命令或者nvidia
‑
ml库函数是无法获取和显示容器内GPU任务的统计信息的,用户只能通过在HOST主机端来查看所有GPU运行任务,无法直观的区分哪些任务属于自己的容器。更进一步,当多个用户运行的GPU任务名相同时,用户更加难以区分,且当用户想监控自己GPU任务运行状态时不得不监控整个HOST上的GPU任务,造成大量无效信息的输出,造成系统资源的浪费。
[0004 ...
【技术保护点】
【技术特征摘要】
1.一种容器的GPU进程统计方法,其特征在于,包括执行以下步骤:重定义原生动态库的原生动态链接符号函数和GPU状态显示命令中的原生进程统计函数,并基于重定义的进程统计函数构建劫持函数表;运行包括多个所述原生进程统计函数的函数符号的所述GPU状态显示命令;使用打开函数调用所述原生动态库以获得操作句柄,并使用所述原生动态链接符号函数基于所述操作句柄和多个所述函数符号分别获得多个原生函数地址;使用重定义的动态链接符号函数分别判断多个所述函数符号是否记载于所述劫持函数表内,并将记载于所述劫持函数表内的多个所述函数符号重定向到所述劫持函数表中对应的劫持函数地址以获取GPU进程标识和进程名称;将所述GPU进程标识替换为对应的容器进程标识以显示容器的GPU进程状态。2.根据权利要求1所述的方法,其特征在于,基于重定义的进程统计函数构建劫持函数表包括:向所述劫持函数表中写入所述重定义的进程统计函数的函数符号、劫持函数地址、以及指针类型。3.根据权利要求1所述的方法,其特征在于,在将记载于所述劫持函数表内的多个所述函数符号重定向到所述劫持函数表中对应的劫持函数地址以获取GPU进程标识和进程名称的同时,还使用未记载于所述劫持函数表内的多个所述函数符号各自的所述原生函数地址来获取GPU进程标识和进程名称。4.根据权利要求1所述的方法,其特征在于,将所述GPU进程标识替换为对应的容器进程标识以显示容器的GPU进程状态包括:使用读取进程表获取每个所述容器进程标识,利用匹配规则基于每个所述容器进程标识来搜索并分别对应每个所述容器进程标识的调度文件;从每个所述调度文件中分别读取每个所述容器进程标识对应的GPU进程标识和进程名称,并响应于从每个所述调度文件中分别读取的所述GPU进程标识和所述进程名称、与根据多个所述函数符号分别获取的所述GPU进程标识和所述进程名称相匹配,而将根据多个所述函数符号分别获取的所述GPU进程标识替换为对应的所述容器进程标识;输出所述进程名称、对应的所述容器进程标识、以及容器的GPU进程状态。5.根据权利要求4所述的方法,其特征在于,在使用读取进程表获取每个所述容器进程标识之后,先剔除所述容器进程标识0或1的进程以及GPU状态显示命令其本身所使用的进程,再利用匹配规则基于其余的所述容器进程标识来搜索并分别对应每个所述容器进程标识的调度文件。6.一种容器的GPU进程统计装置,其特征在于,包括:处理...
【专利技术属性】
技术研发人员:刘慧兴,
申请(专利权)人:苏州浪潮智能科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。