节点预选方法、pod调度方法、装置、服务器及介质制造方法及图纸

技术编号:39255708 阅读:15 留言:0更新日期:2023-10-30 12:07
本发明专利技术提供一种节点预选方法、pod调度方法、装置、服务器及介质。所述节点预选方法包括:在接收到训练任务后,确定所述训练任务对应的总卡数;根据所述训练任务遍历集群,选择所述集群中X个空闲卡数最大的第一节点;从所述集群中剩余节点中选择满足剩余卡数的第二节点。本发明专利技术实施例可以减少节点之间的通信开销。销。销。

【技术实现步骤摘要】
节点预选方法、pod调度方法、装置、服务器及介质


[0001]本专利技术实施例涉及通信
,尤其涉及一种节点预选方法、pod调度方法、装置、服务器及介质。

技术介绍

[0002]现有的Ring

AllReduce通信策略在进行单主机少量节点的分布式训练时,加速效果明显,但是如果训练任务过大,就不得不采用多主机多节点的环形。
[0003]目前,在选择节点组成ring时,主要采用随机调度的方式,即只要满足训练任务的资源要求就可能会被调度使用。这种方式导致选择的节点可能位于多个主机,且多个主机之间可能需要跨主机才可以通信的情况,通信开销比较大。

技术实现思路

[0004]本专利技术实施例提供一种节点预选方法、pod调度方法、装置、服务器及介质,旨减少节点之间的通信开销。
[0005]为解决上述问题,本专利技术是这样实现的:
[0006]第一方面,本专利技术实施例提供了一种基于Kubernetes的节点预选方法,所述方法包括:
[0007]在接收到训练任务后,确定所述训练任务对应的总卡数;
[0008]根据所述训练任务遍历集群,选择所述集群中X个空闲卡数最大的第一节点;
[0009]从所述集群中剩余节点中选择满足剩余卡数的第二节点。
[0010]第二方面,本专利技术实施例提供了一种基于Kubernetes的pod调度方法,所述方法包括:
[0011]在接收到训练任务后,确定所述训练任务对应的总卡数,并确定集群中各节点的空闲卡数;
[0012]根据各节点的空闲卡数对各节点分配编号,其中,空闲卡数相同的节点的编号对应的rank号相同,rank号相邻的节点之间能够直接通信或者相互通信时通过经过的节点数最少,同一主机内各节点的编号连续;
[0013]根据所述训练任务遍历所述集群,选择所述集群中X个空闲卡数最大的第一节点,其中各所述第一节点的rank号相同或者相邻;
[0014]从所述集群中剩余节点中选择满足剩余卡数的第二节点;
[0015]根据所述第一节点和第二节点对应的编号启动pod调度,以执行所述训练任务。
[0016]第三方面,本专利技术实施例提供了一种基于Kubernetes的节点预选装置,包括:
[0017]第一确定模块,用于在接收到训练任务后,确定所述训练任务对应的总卡数;
[0018]第一选择模块,用于根据所述训练任务遍历集群,选择所述集群中X个空闲卡数最大的第一节点;
[0019]第二选择模块,用于从所述集群中剩余节点中选择满足剩余卡数的第二节点。
[0020]第四方面,本专利技术实施例还提供一种基于Kubernetes的pod调度装置,包括:
[0021]第二确定模块,用于在接收到训练任务后,确定所述训练任务对应的总卡数,并确定集群中各节点的空闲卡数;
[0022]编号模块,用于根据各节点的空闲卡数进行排序,并根据排序结果对各节点分配编号,其中,空闲卡数相同的节点的编号对应的rank号相同,rank号相邻的节点之间能够直接通信或者相互通信时通过经过的节点数最少,同一节点内进程的编号连续;
[0023]第三选择模块,用于根据所述训练任务遍历所述集群,选择所述集群中X个空闲卡数最大的第一节点,所述各第一节点的rank号相同或者相邻;
[0024]第四选择模块,用于从所述集群中剩余节点中选择满足剩余卡数的第二节点;
[0025]调度模块,用于根据所述第一节点和第二节点对应的编号启动pod调度。
[0026]第五方面,本专利技术实施例还提供一种服务器,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的程序;所述处理器,用于读取存储器中的程序实现如第一方面所述的基于Kubernetes的节点预选方法中的步骤,或者如第二方面所述的基于Kubernetes的pod调度方法中的步骤。
[0027]第六方面,本专利技术实施例还提供一种可读存储介质,用于存储程序,所述程序被处理器执行时实现如第一方面所述的基于Kubernetes的节点预选方法中的步骤,或者如第二方面所述的基于Kubernetes的pod调度方法中的步骤。
[0028]本专利技术实施例通过在接收到训练任务后,确定所述训练任务对应的总卡数;根据所述训练任务遍历集群,选择所述集群中X个空闲卡数最大的第一节点;从所述集群中剩余节点中选择满足剩余卡数的第二节点。这样在选择节点的过程中尽可能选择空闲卡数最大的节点作为第一节点,然后在剩余节点中选择满足剩余卡数的第二节点,从而使得选择的第一节点和第二节点的总数最小,这样节点所在的主机数量也会最小,如此能够减少在训练任务执行过程中主机之间的通信开销。
附图说明
[0029]为了更清楚地说明本专利技术实施例的技术方案,下面将对本专利技术实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0030]图1是现有训练任务中各节点的通信示意图;
[0031]图2是本专利技术实施例提供的基于Kubernetes的节点预选方法的流程示意图;
[0032]图3是本专利技术实施例提供的基于Kubernetes的pod调度方法的流程示意图;
[0033]图4是本专利技术实施提供的基于Kubernetes的节点预选装置的结构示意图;
[0034]图5是本专利技术实施提供的基于Kubernetes的pod调度装置的结构示意图;
[0035]图6是本专利技术实施提供的服务器的结构示意图。
具体实施方式
[0036]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本发
明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0037]本专利技术实施例中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。此外,本专利技术中使用“和/或”表示所连接对象的至少其中之一,例如A和/或B和/或C,表示包含单独A,单独B,单独C,以及A和B都存在,B和C都存在,A和C都存在,以及A、B和C都存在的7种情况。
[0038]请参见图1,图1是现有训练任务中各节点的通信示意图,如图1所示,包括8个GPU,每个GPU都是一主机内的一个计算节点,8个GPU可以位于至少一个主机中,即每个主机包括至少一计算节点。每个节点都有一个前向节点和一个后向节点,它只会向它的前向节点发送数据,并本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于Kubernetes的节点预选方法,其特征在于,所述方法包括:在接收到训练任务后,确定所述训练任务对应的总卡数;根据所述训练任务遍历集群,选择所述集群中X个空闲卡数最大的第一节点;从所述集群中剩余节点中选择满足剩余卡数的第二节点。2.根据权利要求1所述的方法,其特征在于,若所述节点的最大空闲卡数为N,所述根据所述训练任务遍历集群,选择所述集群中X个空闲卡数最大的第一节点,包括:根据所述训练任务遍历集群,选择所述集群中X个空闲卡数为N的第一节点,其中,X等于所述总卡数与N的比值并向下取整。3.根据权利要求2所述的方法,其特征在于,所述根据所述训练任务遍历集群,选择所述集群中X个空闲卡数最大的第一节点,还包括:若所述集群中不存在空闲卡数为N的节点,则从所述集群中选择X个空闲卡数N

1的第一节点,其中,X等于所述总卡数与N

1的比值并向下取整。4.根据权利要求1所述的方法,其特征在于,所述从所述集群中剩余节点中选择满足剩余卡数的第二节点,包括:若所述剩余节点中存在空闲卡数等于剩余卡数的节点,则选择空闲卡数等于剩余卡数的节点为所述第二节点。5.根据权利要求4所述的方法,其特征在于,所述从所述集群中剩余节点中选择满足剩余卡数的第二节点,还包括:若所述剩余节点中不存在空闲卡数等于剩余卡数的节点,则从所述剩余节点中选择空闲卡数与所述剩余卡数之间差值最小的节点,以及空闲卡数等于所述差值的节点作为所述第二节点。6.根据权利要求1所述的方法,其特征在于,所述第一节点和第二节点均符合所述训练任务对应的预设条件,所述预设条件包括节点的核数、节点的最大卡数、节点的网络类型中的至少一种。7.一种基于Kubernetes的pod调度方法,其特征在于,所述方法包括:在接收到训练任务后,确定所述训练任务对应的总卡数,并确定集群中各节点的空闲卡数;根据各节点的空闲卡数对各节点分配编号,其中,空闲卡数相同的节点的编号对应的rank号相同,rank号相邻的节点之间能够直接通信或者相互通信时通过经过的节点数最少,同一主机内各节点的编号连续;根据所述训练任务遍历所述集群,选择所述集群中X个空闲卡数最大的第一节点,其中各所述第一节点的rank号相同或者相邻;从所述集群中剩余节点中选择满足剩余卡数的第二节点;根据所述第一节点和第二节点对应的编号启动pod调度,以执行所述训练任务。8.根据权利要求7所述的方法,其特征在于,若所述节点的最大空闲卡数为N,所述根据所述训练任务遍历集群,选择所述集群中X个空闲卡数最大的第一节点,包括:根据所述训练任务遍历集群,选择所述集群中X个空闲卡数为N的第一节点,其中,X等于所述总卡数与N的比值并向下取整。9.根据权利要求8所述的...

【专利技术属性】
技术研发人员:闫晓瑞丛鹏宇冯俊兰邓超
申请(专利权)人:中国移动通信集团有限公司
类型:发明
国别省市:

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

1