一种集群GPU复用及智能负载的方法及系统技术方案

技术编号:21140605 阅读:27 留言:0更新日期:2019-05-18 05:01
一种集群GPU复用及智能负载的方法,包括:对GPU卡进行复用设置;将申请执行的任务分配给进行复用设置的所述GPU卡并将所述任务与所述GPU卡进行绑定;定期扫描所述GPU卡的显存使用,并基于所述显存的利用率和设置策略对所述GPU卡的复用情况进行动态调整;在所述任务结束时释放所述任务绑定的所述GPU卡。通过使用本发明专利技术的集群GPU复用及智能负载的方法可以实现支持一块GPU上运行多个作业任务,针对GPU小计算量的应用场景可以有效的提升资源利用率,避免多任务并发时GPU显存溢出会导致的任务终止,保证高优先级任务的正常运行。

【技术实现步骤摘要】
一种集群GPU复用及智能负载的方法及系统
本领域涉及计算机领域,并且更具体地涉及一种集群GPU复用及智能负载的方法及系统。
技术介绍
Maui是一个开源的作业调度应用软件,被广泛应用于高性能服务集群中实现作业的调度管理,通过Maui的GRES属性可以设置节点的GPU数量并支持GPU资源的调度,早期也有相关方面的研究与方案,这些方案仅考虑了按GPU卡为单位进行作业调度,即一张GPU卡同时只能运行一个任务。随着目前人工智能AI计算需求的不断增长,高性能集群中的GPU资源作为加速计算资源也越来越重要,GPU作为一种昂贵稀少的计算资源(相比CPU、内存而言),需要能够提供更加细粒度的、更弹性化的调度分配策略。现有的Maui中可通过配置maui.cfg文件增加NODECFG设置,如“NODECFG[node1]GRES=gpu:4”,表示node1节点存在4个gpu;作业提交时通过qsub命令的“-Wx=gpu@2”表示把作业提交到设置gpu属性且当前该属性存量大于等于2的节点。现有的基于PBS+Maui的GPU调度通过GRES属性和任务运行的前后序脚本可以支持GPU按卡级别的调度分配,并做到任务与GPU卡的绑定。由于GPU相比CPU、内存而言是一种稀缺的计算资源,只按卡进行调度分配的结果是一块GPU卡上同时只能运行一个计算任务,如果存在很多计算量小但需要GPU资源的任务(如AI的开发工作早期只需要简单计算),这将会造成GPU计算资源的浪费。使用NVIDIA的VGPU技术虽然可以将一块GPU虚拟成多个VGPU,但是这种方式需要人工调整,不能自适应集群不断变化的计算需求。
技术实现思路
有鉴于此,本专利技术实施例的目的在于提出一种集群GPU复用及智能负载的方法及系统,通过使用本专利技术的方法可以实现支持一块GPU上运行多个作业任务,针对GPU小计算量的应用场景可以有效的提升资源利用率,避免多任务并发时GPU显存溢出会导致的任务终止,保证高优先级任务的正常运行。基于上述目的,本专利技术的实施例的一个方面提供了一种集群GPU复用及智能负载的方法,包括:1)对GPU卡进行复用设置;2)将申请执行的任务分配给进行复用设置的GPU卡并将任务与GPU卡进行绑定;3)定期扫描GPU卡的显存使用,并基于显存的利用率和设置策略对GPU卡的复用情况进行动态调整;4)在任务结束时释放任务绑定的GPU卡。根据本专利技术的一个实施例,步骤3)中策略包括:如果显存的利用率>65%,则提交虚任务以占满当前GPU卡的空闲槽位;如果显存的利用率>85%,并且如果当前GPU卡正在运行多个任务,则删除最低优先级任务,并提交虚任务以占满当前GPU卡的空闲槽位;如果显存的利用率<50%,则判断当前GPU卡是否运行任务,如果正在运行任务并且存在虚任务,则删除一个或全部虚任务。根据本专利技术的一个实施例,步骤1)中将需要复用的GPU卡进行复用设置包括以下步骤:1)根据节点实际的物理GPU卡数进行文件初始化;2)修改gpuNodes文件中节点的卡位记录,同时修改maui.cfg配置文件中节点的GRES属性。根据本专利技术的一个实施例,修改gpuNodes文件中节点的卡位记录,同时修改maui.cfg配置文件中该节点的GRES属性包括:将节点对应的GPU卡位数修改为原数量的2倍,用0填充空槽位,并同时将maui.cfg配置文件中节点的GRES属性修改为原来的2倍。根据本专利技术的一个实施例,步骤2)还包括:在绑定后对GPU卡的复用节点进行实际GPU卡的计算处理。根据本专利技术的一个实施例,计算处理为对GPU卡的节点的复用的卡位进行取模。根据本专利技术的一个实施例,步骤4)包括:在任务结束后,获取任务对应的GPU资源列表,然后在相应的节点上对绑定的资源组进行释放,并将jobGpus中该条记录转移至jobGpusHis文件中。本专利技术的实施例的另一个方面提供了一种集群GPU复用及智能负载的系统,其特征在于,包括:资源复用模块,资源复用模块配置用于对GPU卡进行复用设置;资源分配与绑定模块,资源分配与绑定模块配置用于将申请执行的任务分配给进行复用设置的GPU卡并将任务与GPU卡进行绑定;智能负载模块,智能负载模块配置用于定期扫描GPU卡的显存使用,并基于显存的利用率和设置策略对GPU卡的复用情况进行动态调整;资源释放模块,资源释放模块配置用于在任务结束时释放任务绑定的GPU卡。根据本专利技术的一个实施例,该策略包括:如果显存的利用率>65%,则提交虚任务以占满当前GPU卡的空闲槽位;如果显存的利用率>85%,并且如果当前GPU卡正在运行多个任务,则删除最低优先级任务,并提交虚任务以占满当前GPU卡的空闲槽位;如果显存的利用率<50%,则判断当前GPU卡是否运行任务,如果正在运行任务并且存在虚任务,则删除一个或全部虚任务。。根据本专利技术的一个实施例,对GPU卡进行复用设置包括:根据节点实际的物理GPU卡数进行文件初始化,以及修改gpuNodes文件中节点的卡位记录,同时修改maui.cfg配置文件中节点的GRES属性。本专利技术具有以下有益技术效果:本专利技术实施例提供的集群GPU复用及智能负载的方法,通过对GPU卡进行复用设置;将申请执行的任务分配给进行复用设置的GPU卡并将任务与GPU卡进行绑定;定期扫描GPU卡的显存使用,并基于显存的利用率和设置策略对GPU卡的复用情况进行动态调整;在任务结束时释放任务绑定的GPU卡的技术方案,可以实现支持一块GPU上运行多个作业任务,针对GPU小计算量的应用场景可以有效的提升资源利用率,避免多任务并发时GPU显存溢出会导致的任务终止,保证高优先级任务的正常运行。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。图1为根据本专利技术的一个实施例的集群GPU复用及智能负载的方法的示意流程图;图2为根据本专利技术的另一个实施例的集群GPU复用及智能负载的方法的示意流程图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本专利技术实施例进一步详细说明。需要说明的是,本专利技术实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本专利技术实施例的限定,后续实施例对此不再一一说明。基于上述目的,本专利技术的实施例的第一个方面,提出了一种集群GPU复用及智能负载的方法的一个实施例。图1示出的是该方法的示意流程图。如图1中所示,该集群GPU复用及智能负载的方法可以包括:1)对GPU卡进行复用设置;2)将申请执行的任务分配给进行复用设置的GPU卡并将任务与GPU卡进行绑定;3)定期扫描GPU卡的显存使用,并基于显存的利用率和设置策略对GPU卡的复用情况进行动态调整;4)在任务结束时释放任务绑定的GPU卡。通过以上技术方案,可以实现支持一块GPU上运行多个作业任务,针对GPU小计算量的应用场景可以有效的提升资源利用率,避免多任务并发本文档来自技高网
...

【技术保护点】
1.一种集群GPU复用及智能负载的方法,其特征在于,包括:1)对GPU卡进行复用设置;2)将申请执行的任务分配给进行复用设置的所述GPU卡并将所述任务与所述GPU卡进行绑定;3)定期扫描所述GPU卡的显存使用,并基于所述显存的利用率和设置策略对所述GPU卡的复用情况进行动态调整;4)在所述任务结束时释放所述任务绑定的所述GPU卡。

【技术特征摘要】
1.一种集群GPU复用及智能负载的方法,其特征在于,包括:1)对GPU卡进行复用设置;2)将申请执行的任务分配给进行复用设置的所述GPU卡并将所述任务与所述GPU卡进行绑定;3)定期扫描所述GPU卡的显存使用,并基于所述显存的利用率和设置策略对所述GPU卡的复用情况进行动态调整;4)在所述任务结束时释放所述任务绑定的所述GPU卡。2.根据权利要求1所述的方法,其特征在于,步骤3)中所述策略包括:如果所述显存的利用率>65%,则提交虚任务以占满当前GPU卡的空闲槽位;如果所述显存的利用率>85%,并且如果所述当前GPU卡正在运行多个任务,则删除最低优先级任务,并提交虚任务以占满所述当前GPU卡的空闲槽位;如果所述显存的利用率<50%,则判断所述当前GPU卡是否运行任务,如果正在运行任务并且存在虚任务,则删除一个或全部虚任务。3.根据权利要求1所述的方法,其特征在于,步骤1)中将需要复用的GPU卡进行复用设置包括以下步骤:1)根据节点实际的物理GPU卡数进行文件初始化;2)修改gpuNodes文件中所述节点的卡位记录,同时修改maui.cfg配置文件中所述节点的GRES属性。4.根据权利要求3所述的方法,其特征在于,修改gpuNodes文件中所述节点的卡位记录,同时修改maui.cfg配置文件中所述节点的GRES属性包括:将所述节点对应的GPU卡位数修改为原数量的2倍,用0填充空槽位,并同时将maui.cfg配置文件中所述节点的GRES属性修改为原来的2倍。5.根据权利要求1所述的方法,其特征在于,步骤2)还包括:在绑定后对所述GPU卡的复用节点进行实际GPU卡的计算处理。6.根...

【专利技术属性】
技术研发人员:胡叶
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南,41

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1