任务处理方法、装置及存储介质与流程

文档序号:30379115发布日期:2022-06-11 03:03阅读:75来源:国知局
任务处理方法、装置及存储介质与流程

1.本技术涉及大数据领域,尤其涉及一种任务处理方法、装置及存储介质。


背景技术:

2.随着大数据技术的发展,神经网络参数的规模越来越大,深度学习训练的周期也越来越长。在执行训练任务时,可使用多图形处理器(graphics processing unit,gpu)卡加速训练的方式以应对大数据及大模型的训练需求。
3.目前,kubernetes(k8s)集群可以实现gpu卡加速训练,例如,可以在k8s集群中大规模部署gpu服务器执行深度学习任务。但是,在利用k8s集群进行任务训练时,经常出现一些训练任务异常的情况。


技术实现要素:

4.本技术提供一种任务处理方法、装置及存储介质,用以解决多机多卡训练任务的待调度时,排队时间过长的问题。
5.第一方面,本技术提供一种任务处理方法,任务处理方法应用于计算集群,计算集群包括多个计算节点;任务处理方法包括:
6.当目标任务在待调度队列中的排队时间大于阈值时,在多个计算节点中确定n个目标计算节点;目标任务为执行时需要多个计算节点的算力的任务,n为大于或等于2的整数;
7.在目标任务被调度时,利用n个目标计算节点执行目标任务。
8.可选的,目标任务的资源清单文件包括容忍参数,还包括:
9.将n个目标计算节点添加污点标记;污点标记与容忍参数有关。
10.可选的,在目标任务被调度时,利用n个目标计算节点执行目标任务,包括:
11.在目标任务被调度时,查找与容忍参数匹配的污点标记所对应的n个目标计算节点;
12.利用n个目标计算节点执行目标任务。
13.可选的,任务处理方法还包括:
14.在目标任务被调度完毕时,删除n个目标计算节点的污点标记。
15.可选的,容忍参数与污点标记均包括键名key、键值value和效果effect。
16.可选的,任务处理方法还包括:
17.获取待调度队列中提交时间最早且带有容忍参数的任务,得到目标任务。
18.可选的,目标任务的资源清单文件包括任务规模;在多个计算节点中确定n个目标计算节点,包括:
19.根据任务规模确定需要的机柜数量m;其中,机柜中包括多个计算节点;
20.分别计算计算集群中任一个机柜的计算节点的图形处理器gpu资源分配率之和;
21.确定m个gpu资源分配率之和最小的机柜,得到m个机柜中的n个目标计算节点。
22.可选的,任务规模包括执行目标任务所需的gpu卡数k,m与k、机柜中的计算节点的数量和机柜中的计算节点包括的gpu卡的数量有关。
23.可选的,目标任务的资源清单文件包括任务规模;在多个计算节点中确定n个目标计算节点,还包括:
24.根据任务规模在多个机柜中抢占n个目标计算节点。
25.第二方面,本技术提供一种任务处理装置,包括:
26.任务调度模块,用于当目标任务在待调度队列中的排队时间大于阈值时,在多个计算节点中确定n个目标计算节点;目标任务为执行时需要多个计算节点的算力的任务,n为大于或等于2的整数。
27.任务执行模块,用于在目标任务被调度时,利用n个目标计算节点执行目标任务。
28.第三方面,本技术实施例提供一种终端设备,包括:存储器和处理器;
29.存储器用于存储计算机指令;处理器用于运行存储器存储的计算机指令实现第一方面中任一项的方法。
30.第四方面,本技术实施例提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行以实现第一方面中任一项的方法。
31.第五方面,本技术实施例提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现第一方面中任一项的方法。
32.本技术提供的任务处理方法、装置及存储介质,通过目标任务在待调度队列中的排队时间大于阈值时,在多个计算节点中确定n个目标计算节点;在目标任务被调度时,利用n个目标计算节点执行目标任务。这样,在目标任务等待时间过长时,中心节点可调度指定的计算节点执行目标任务,专机专用,其他任务无法占用目标计算节点的算力资源,从而减少其他任务的“插队”,减少了多机多卡训练任务的等待调度时间。
附图说明
33.图1为本技术实施例提供的任务处理方法的场景示意图;
34.图2为本技术实施例提供的任务处理方法的流程示意图;
35.图3为本技术实施例提供的任务处理方法的流程示意图;
36.图4为本技术实施例提供的任务处理方法的流程示意图;
37.图5为本技术实施例提供的任务处理方法的流程示意图;
38.图6为本技术实施例提供的任务处理装置的结构示意图;
39.图7为本技术实施例提供的任务处理终端设备的结构示意图。
具体实施方式
40.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。
41.首先对本技术所涉及的名词进行解释:
42.图像处理器(graphics processing unit,gpu):一种执行图像运算工作的处理
器。gpu可存储图像和处理图形,减轻了中央处理器(central processing unit,cpu)的计算负担,提升了系统的显示功能和显示速度。
43.容器编排管理系统(kubernetes,k8s):一个开源的,用于管理云平台中多个主机上容器的应用,kubernetes提供了应用部署,规划,更新,维护的机制。
44.容器组(pod):是k8s集群系统中所有业务类型的基础,是k8s可调度的最小单位。
45.计算节点(node):k8s集群系统中的工作主机,可以是一个物理机节点,也可以是一个虚拟机,pod需要运行在具体的node上。一个node中可包括多个gpu卡。
46.机柜(rack):指的是放置服务器的机柜,一个机柜内可以放置若干台服务器,可在机柜顶部架设交换机实现机柜内部服务器间的网络的互联。一个rack可包括多个node。
47.污点(taint):k8s集群系统可在计算节点上设置污点,使得pod无法调度至该计算节点。
48.容忍(toleration):设置容忍的pod可被调度至设置污点的计算节点,达到专机专用的目的。
49.本技术实施例提供的任务处理方法,可适用于图1所示的k8s集群系统架构示意图。如图1所示,该k8s集群系统的计算集群10包括:中心节点101及多个机柜102。中心节点101用于获取训练任务并根据训练任务的算力资源需求量调度并分配计算节点。机柜102用于管理机柜中的多个计算节点103,其中,同一机柜102中的多个计算节点103间可采用交换机等方式进行快速通信。计算节点103可用于执行中心节点101调度的训练任务。中心节点可以是通过软件编码部署到服务器等设备上的服务插件,也可以是主机、实体服务器、虚拟机和其他形式可执行训练任务的设备。计算节点103可以是主机、实体服务器、虚拟机和其他形式可执行训练任务的设备。
50.在k8s计算集群大规模部署gpu服务器执行深度学习任务的大数据场景中,多gpu卡加速训练成为了当前主流的深度学习训练方式。系统的gpu算力资源有限。在训练任务较多时,k8s中心节点可优先调度算力资源需求量小的训练任务。而多机多卡训练任务对算力资源的需求量较大,可能出现先提交的多机多卡训练任务一直被提交时间在其后的小任务“插队”,导致多机多卡训练任务一直处于等待状态而“饿死”。
51.有鉴于此,本技术实施例提供的任务处理方法,通过在待调度的训练任务排队时间过长时,中心节点对训练任务设置容忍参数。中心节点根据训练任务所需的gpu卡数确定待调度的机柜,对机柜中的计算节点设置污点标记;设置污点标记的计算节点可执行设置容忍参数的训练任务,而拒绝执行未设置容忍参数的训练任务,该方法通过设置容忍及污点机制,避免了非容忍训练任务“插队”,从而减少了多机多卡任务的等待调度时间。
52.下面以具体地实施例对本技术的技术方案和本技术的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本技术的实施例进行描述。
53.图2示出了本技术实施例提供的任务处理方法流程示意图。如图2所示:
54.s201、当目标任务在待调度队列中的排队时间大于阈值时,在多个计算节点中确定n个目标计算节点;目标任务为执行时需要多个计算节点的算力的任务,n为大于或等于2的整数。
55.目标任务为执行时需要多个计算节点算力的待处理训练任务,其中目标任务可以
是多机多卡训练任务。阈值为目标任务等待调度的时间上限,可自定义设置。计算集群中包括多个计算节点。计算集群可接收训练任务,在执行训练任务时,计算集群允许执行多个算力资源范围内的训练任务。剩余的训练任务则根据任务提交时间进入待调度队列中,以等待被中心节点调度。
56.对于所需算力资源较大的多机多卡训练任务,当队列中待调度任务为目标任务时,计算集群中可能出现部分计算节点被未执行完毕的其他训练任务占用,导致剩余计算节点的算力资源无法满足目标任务的情况。而队列中排在目标任务之后的部分训练任务所需的算力资源较小,中心节点可优先调度剩余计算节点的算力资源可满足的训练任务,目标任务被算力资源需求量小的训练任务“插队”,延长目标任务的等待调度时间。
57.目标任务在队列中等待时间过长,可能出现小任务插队的情况。当目标任务在待调度队列中的排队时间超过等待调度时间的上限时,中心节点在计算节点中选择调度n个目标计算节点作为执行目标任务的“专机”。
58.s202、在目标任务被调度时,利用n个目标计算节点执行目标任务。
59.当目标任务被调度时,中心节点可调度n个目标计算节点对目标任务进行训练,做到“专机专用”。
60.本技术实施例提供的任务处理方法,通过目标任务在待调度队列中的排队时间大于阈值时,在多个计算节点中确定n个目标计算节点;在目标任务被调度时,利用n个目标计算节点执行目标任务。这样,在目标任务等待时间过长时,中心节点可调度指定的计算节点执行目标任务,专机专用,其他任务无法占用目标计算节点的算力资源,从而减少其他任务的“插队”,减少了多机多卡训练任务的等待调度时间。
61.下面结合图3对本技术实施例提供的任务处理方法进行说明,图3示出了本技术一实施例提供的任务处理方法的流程示意图。如图3所示:
62.s301、获取训练任务的资源清单文件。
63.资源清单文件用于记录k8s集群中对资源管理和资源对象的编排部署,例如,资源清单文件可以是yaml(yet another markup language)文件。
64.中心节点可基于自身获取资源清单文件,中心节点也可从计算集群中的其他计算节点获取资源清单文件,中心节点还可从计算集群以外的第三方数据源获取资源清单文件。
65.例如,用户可在终端设备的用户界面上提交yaml文件或在用户界面上在线编辑yaml文件。中心节点可接收终端设备上传的yaml文件。其中,终端设备可以是中心节点、计算节点和第三方数据源设备。
66.又例如,资源清单文件可存储于终端设备的本地存储中,当中心节点得到执行多机多卡的任务指令时,中心节点根据任务指令从相应终端设备的本地存储中获取资源清单文件。本技术对训练任务资源清单文件的获取方式不做限制。
67.s302、在训练任务的资源清单文件中添加容忍参数toleration。
68.容忍参数包括键名key、键值value、效果effect和操作符operator。训练任务被提交到k8s集群时,训练任务的资源清单文件中包括任务规模,任务规模用于指示执行训练任务所需的算力资源。中心节点在获取到训练任务的任务规模时,根据任务规模判断训练任务是否为多机多卡训练任务,例如任务规模可以为执行训练任务所需的gpu卡数。若是多机
多卡训练任务,则中心节点在多机多卡训练任务的资源清单文件中添加容忍参数。若否,则不做处理。
69.其中,中心节点可将多机多卡的任务规模task-scale定义为key,key可作为污点标记与容忍参数的标签。其中,容忍参数中key设置的任务规模可与污点标记中的任务规模一致。
70.中心节点可将操作符设置为equal或exists其中当operator为equal时,中心节点可设置value;当operator为exists时,中心节点可忽略value。
71.中心节点可将value定义为big以作为污点标记与容忍参数的标签。
72.effect可描述容忍参数的作用。容忍参数可支持多种effect。effect可包括noschedule、prefernoschedule和noexecute。其中,noschedule可指示中心节点不将未添加容忍参数的训练任务调度到有污点标记的计算节点上;prefernoschedule可指示中心节点尽量避免将未添加容忍参数的训练任务调度到有污点标记的计算节点上;noexecute可指示中心节点不将未添加容忍参数的训练任务调度到有污点标记的计算节点上,和终止执行有污点标记的计算节点中已存在的训练任务。本技术对effect的类型不做限制,可选择不同的effect对多机多卡训练任务进行标记,以实现多机多卡训练任务的专机专用,或资源优先抢占。
73.中心节点可根据计算集群中的污点taint标记设置容忍参数,污点标记可使计算节点排斥某一类特性的pod。当计算节点设置污点标记后,正常的训练任务无法使用该计算节点,但能够容忍该类特性的训练任务可使用该计算节点。
74.以上实施例示例性的示出了本技术实施例提供的任务处理方法,可以理解的是,其他相关或适应性修改后可实现本技术实施例任务处理方法的方案均在本技术实施例的保护范围之内。
75.s303、将多机多卡训练任务提交到待调度队列。
76.待调度队列可包括多个多机多卡训练任务。中心节点将多机多卡训练任务设置容忍参数后,将带有容忍参数的多机多卡训练任务提交到待调度队列中,等待调度。
77.可以理解的是,待调度队列中还包括其他训练任务,其中多机多卡训练任务与其他任务可根据提交时间排列,在待调度队列中等待调度。
78.本技术实施例提供的任务处理方法,通过对多机多卡训练任务添加与计算集群中的污点标记有关的容忍参数,将多机多卡训练任务与其他训练任务进行区分。中心节点将多机多卡训练任务提交到待调度队列。当多机多卡训练任务在待调度队列中的排队时间大于阈值时,中心节点在多个计算节点中确定n个目标计算节点;和在多机多卡训练任务被调度时,利用n个目标计算节点执行该任务。这样在多机多卡训练任务等待时间过长时,中心节点可调度指定的计算节点执行多机多卡训练任务,专机专用,其他任务无法占用目标计算节点的算力资源,从而减少其他任务的“插队”,减少了多机多卡训练任务的等待调度时间。
79.下面结合图4对n个计算节点执行带有容忍参数的多机多卡训练任务的方法做进一步说明,图4示出了本技术一实施例提供的任务处理方法的流程示意图。如图4所示:
80.s401、获取待调度队列中提交时间最早且带有容忍参数的任务,得到目标任务。
81.中心节点在待调度队列中获取带有容忍参数的多机多卡训练任务,并将提交时间
最早的多机多卡训练任务作为目标任务。
82.s402、监测目标任务在待调度队列中的排队时间。
83.中心节点可监测目标任务在待调度队列中的等待调度时间。例如,排队时间可以是中心节点的监测时间与目标任务提交时间的时间间隔。可以理解的是,待调度队列中,目标任务之前可排列着待执行或执行中的其他训练任务。这些其他训练任务可影响目标任务的排队时间。
84.s403、若排队时间大于阈值,则根据目标任务的任务规模确定需要的机柜数量。
85.阈值可作为是否对目标任务进行预留资源的判断标准。中心节点可通过配置文件的方式设置阈值,阈值可自定义设置。例如,阈值可以根据用户希望目标任务的执行时间进行设置,阈值可以根据队列中的目标任务之前的训练任务预计执行时长进行设置,阈值还可以根据其他原则进行设置,本技术对此不做限制。可选的,中心节点可实时监测执行中的训练任务,若在阈值时间内,中心节点未监测到目标任务被调度,则确定目标任务的排队时间超过阈值。中心节点可为目标任务分配“专机”。
86.计算集群中包括多个机柜,机柜中包括多个计算节点。其中,任一机柜中的计算节点之间可基于交换机进行通信。中心节点在待调度目标任务时,根据目标任务的任务规模确定需要的机柜数量m。可以理解的是,机柜可以是虚拟计算节点的连接关系,也可以是放置计算节点的实体空间。
87.示例性的,任务规模可为执行目标任务所需的gpu卡数k,其中m与k、任一计算节点中包括的gpu卡数a和任一机柜中包括的计算节点数b有关。具体关系如下:
88.机柜数量m=k/a/b;其中,当m不是整数时,m可进行上取整。
89.例如:若目标任务需要32张gpu卡,任一机柜中包括2个计算节点,任一计算节点配置8张gpu卡,则m=32/8/2=2,执行目标任务需要2个机柜的算力资源。
90.又例如,若目标任务需要34张gpu卡,任一机柜中包括2个计算节点,任一计算节点配置8张gpu卡,则m=34/8/2=2.125,m不为整数,则对m进行上取整,执行目标任务需要3个机柜的算力资源。
91.可选的,若排队时间未超过阈值,则目标任务继续排队。中心节点可继续监测目标任务是否被调度。直到目标任务被调度时,中心节点根据目标任务的任务规模确定需要的机柜数量。
92.s404、分别计算计算集群多个机柜中任一个机柜的计算节点的gpu资源分配率之和。
93.gpu资源分配率可指示gpu卡的占用情况。中心节点可获取各计算节点的gpu资源分配率,并将属于同一机柜的计算节点的gpu分配率进行累加,得到机柜中计算节点的gpu资源分配率之和。其中,gpu资源分配率之和越高,则中心节点可用于调度目标任务的算力资源越少。可以理解的是,中心节点可对机柜的gpu资源分配率进行排序。
94.s405、确定m个gpu资源分配率之和最小的机柜,得到m个机柜中的n个目标计算节点。
95.中心节点在排序后的机柜gpu资源分配率之和中筛选m个值最小的机柜,得到m个机柜中的n个目标计算节点。其中,m与n有关,例如,m=n/任一机柜中包括的计算节点数b,若n/b不是整数,则对n/b进行上取整。
96.s406、将n个目标计算节点添加污点标记。
97.m个机柜可视为“受害者”,中心节点选定m个机柜后,将“受害者”中的n个目标计算节点均添加污点标记。
98.其中,中心节点可定义nodex为“受害者”中所有计算节点的名字。中心节点对n个目标计算节点添加污点标记,例如,x可以为1-n,添加污点标记的流程如下:
99.中心节点为node1添加污点标记。
100.中心节点为node2添加污点标记。
101.……
102.中心节点为noden-1添加污点标记。
103.中心节点为noden添加污点标记。
104.可以理解的是,计算集群中可设置污点机制,中心节点可根据污点机制依次对n个目标计算节点添加污点标记。当中心节点为目标计算节点添加污点标记时,中心节点可基于污点机制设置与容忍参数对应的污点标记,如:task-scale、big和noschedule等参数。当训练任务的任务规模为多机多卡训练任务时,中心节点为多机多卡训练任务添加容忍参数。其中,容忍参数的设置可参考污点机制。
105.例如,污点机制中nodex的污点标记包括task-scale、big和noschedule,可对应于容忍参数的key、value和effect,表示为nodex可执行设置该容忍参数的训练任务并拒绝执行其他训练任务。本技术也可使用其他参数作为污点标记与容忍参数,本技术对此不做限制。
106.需要说明的是,本技术实施例中心节点可将机柜中的计算节点添加污点标记。计算节点之间具备网络拓扑关系。在需要多机通信的场景中,本技术实施例提供的任务处理方法可自动选择相互间网络拥塞最小的服务器进行调度。示例性的,同一机柜中各计算节点之间可基于一个交换机进行通信。不同机柜的计算节点之间进行通信时,则分别将信息传输至各自的交换机,由多个交换机完成通信。可选的,也可添加第三方通信设备进行多个交换机之间的通信。
107.本技术实施例可设置优先采用同一机柜的计算节点执行目标任务,以减小交换机与交换机之间的网络互连,从而加快多机多卡训练任务的训练效率。可以理解的是,当计算集群中的gpu算力资源不足时,本技术实施例也可采用不同机柜的计算节点执行多机多卡训练任务,本技术对此不做限制。
108.例如,机柜1包括计算节点a与计算节点b,机柜2包括计算节点c与计算节点d。a与b可基于交换机1信息互通,c与d可基于交换机2信息互通。当a与c信息互通时,信息可经由a-交换机1-交换机2-c,其所耗时长超过a与b之间的耗时。因此,示例性的,当目标任务需要两台计算节点的算力资源时,中心节点可优先调度机柜1中的计算节点a与计算节点b,或者是中心节点可优先调度机柜2中的计算节点c与计算节点d。这样,可提升多机多卡训练任务的待调度时间与执行时间。可以理解的是,上述情形中,若a与c的算力资源被占用,本技术实施例也可采用两个机柜中的b与d执行多机多卡训练任务。本技术对此不做限制。
109.本技术实施例提供的任务处理方法,通过在对机柜设置污点标记及对多机多卡训练任务添加容忍参数,并通过特定的策略选取目标计算节点。这样,避免了算力资源需求量较小的任务“插队”,从而减少了多机多卡任务的等待调度时间。
110.本技术实施例提供的任务处理方法中,设置有污点标记的计算节点可执行带有容忍参数的目标任务。当目标任务调度完毕后,若计算节点设置有污点标记,则可能导致后续其他任务无法使用该计算节点。下面结合图5对本技术实施例提供的删除污点标记的方法进行说明。
111.s501、查询目标任务是否被调度完毕。
112.中心节点可轮询目标任务是否被调度,当中心节点监测到目标任务调度完毕后,可执行步骤s502。
113.可选的,若中心节点查询目标任务处于待调度或未调度完毕时,等待目标计算节点执行目标任务,并进入下一轮查询。
114.s502、在目标任务被调度完毕时,删除n个目标计算节点的污点标记。
115.在目标任务被调度完毕后,中心节点将删除机柜的“受害者”身份,其中n个目标计算节点均需删除污点标记。
116.中心节点可定义nodex为“受害者”中所有计算节点的名字。中心节点依次删除n个目标计算节点的污点标记,例如,x可以为1-n,删除污点标记与添加污点标记类似,示例性的删除污点标记的过程如下:
117.中心节点删除node1的污点标记。其中,中心节点可在计算节点的污点标记结尾添加去除污点减号
“‑”
,以使污点标记无效。
118.中心节点删除node2的污点标记。
119.……
120.中心节点删除noden-1的污点标记。
121.中心节点删除noden的污点标记。
122.其中,添加污点标记的顺序可与删除污点标记的顺序一致。经过如上指令,所有“受害者”的身份被取消,计算节点可恢复正常状态。示例性的,删除污点标记的计算节点可重新执行其他训练任务。
123.本技术实施例提供的任务处理方法,通过轮询目标任务是否被调度完毕。若是,则删除n个目标计算节点的污点标记。这样,通过中心节点实时监测目标任务的调度情况,并在目标任务调度完毕时删除目标计算节点的污点标记,减少了后续其他任务无法调度目标计算节点的情况,提升了本技术任务处理方法的准确性。
124.可以理解的是,本技术实施例提供的任务处理方法,对“受害者”增加污点标记,对多机多卡训练任务添加容忍参数,通过这种处理方式,“受害者”中目标计算节点上原有运行的任务不会被抢占。当原有机柜中目标计算节点的原有任务运行结束后,才会将多机多卡训练任务调度到“受害者”上,从而保留原有任务的完整性。
125.可选的,本技术实施例也可提供一种多机多卡的抢占机制,其中,在多个计算节点中确定n个目标计算节点,还包括:
126.根据任务规模在多个机柜中抢占n个目标计算节点。
127.当中心节点查询gpu资源分配率不满足目标任务的算力资源时,中心节点可根据任务规模在多个机柜中抢占n个目标计算节点。
128.示例性的,中心节点可通过修改污点标记与容忍参数实现算力资源的抢占。例如,中心节点可基于修改effect将占用目标计算节点的训练任务进行驱逐,实现算力资源的抢
占。中心节点也可通过在服务插件中添加抢占机制实现算力资源的抢占。本技术对此不做限制。
129.本技术实施例提供的任务处理方法,通过设置抢占机制,可用算力资源不足的情况下,中心节点优先调度多机多卡训练任务,减少了多机多卡训练任务的等待调度时间。
130.上面结合图1-图5,对本技术实施例提供的方法进行了说明,下面对本技术实施例提供的执行上述方法的相关装置进行描述。
131.图6示出了本技术实施例提供的任务处理装置的结构示意图,如图6所示:
132.本技术实施例提供的任务处理装置60应用于计算集群,计算集群包括多个计算节点,任务处理装置包括:
133.任务调度模块601,用于当目标任务在待调度队列中的排队时间大于阈值时,在多个计算节点中确定n个目标计算节点;目标任务为执行时需要多个计算节点的算力的任务,n为大于或等于2的整数。
134.任务执行模块602,用于在目标任务被调度时,利用n个目标计算节点执行目标任务。
135.可选的,任务调度模块601还包括:
136.容忍设置模块,用于在目标任务的资源清单文件添加容忍参数。
137.污点标记模块,用于将n个目标计算节点添加污点标记;污点标记与容忍参数有关。
138.可选的,任务执行模块用于在目标任务被调度时,利用n个目标计算节点执行目标任务,具体包括:
139.任务执行模块在目标任务被调度时,查找与容忍参数匹配的污点标记所对应的n个目标计算节点;利用n个目标计算节点执行目标任务。
140.可选的,任务处理装置还包括:
141.污点标记模块,还用于在目标任务被调度完毕时,删除n个目标计算节点的污点标记。
142.可选的,容忍参数与污点标记均包括键名key、键值value和效果effect。
143.可选的,任务调度模块601还包括:计时模块用于获取待调度队列中提交时间最早且带有容忍参数的任务,得到目标任务。
144.可选的,目标任务的资源清单文件包括任务规模;任务调度模块601还包括计算模块,计算模块具体用于:
145.计算模块,用于根据任务规模确定需要的机柜数量m;其中,机柜中包括多个计算节点。
146.计算模块,还用于分别计算计算集群中任一个机柜的计算节点的图形处理器gpu资源分配率之和。
147.计算模块,还用于确定m个gpu资源分配率之和最小的机柜,得到m个机柜中的n个目标计算节点。
148.可选的,任务规模包括执行目标任务所需的gpu卡数k,m与k、机柜中的计算节点的数量和机柜中的计算节点包括的gpu卡的数量有关。
149.可选的,目标任务的资源清单文件包括任务规模;任务调度模块601,还包括:
150.资源抢占模块,用于根据任务规模在多个机柜中抢占n个目标计算节点。
151.本技术实施例的任务处理装置,可以用于执行上述任务处理方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
152.图7为本技术一实施例提供的任务处理终端设备的结构示意图。如图7所示,本实施例提供的任务处理终端设备70可以包括:
153.处理器701;和存储器702,用于存储终端设备的可执行指令。
154.其中,处理器配置为经由执行可执行指令来执行上述任务处理方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
155.本技术实施例中还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任务处理方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
156.本技术实施例中还提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述任务处理方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
157.在上述终端设备或者服务器的具体实现中,应理解,处理器可以是中央处理单元(英文:central processing unit,简称:cpu),还可以是其他通用处理器、数字信号处理器(英文:digital signal processor,简称:dsp)、专用集成电路(英文:application specific integrated circuit,简称:asic)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本技术实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
158.本领域技术人员可以理解,上述任一方法实施例的全部或部分步骤可以通过与程序指令相关的硬件来完成。前述的程序可以存储于计算机可读取存储介质中,该程序被执行时,执行上述方法实施例的全部或部分的步骤。
159.本技术技术方案如果以软件的形式实现并作为产品销售或使用时,可以存储在计算机可读取存储介质中。基于这样的理解,本技术的技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括计算机程序或者若干指令。该计算机软件产品使得计算机设备(可以是个人计算机、服务器、网络设备或者类似的电子设备)执行本技术实施例一方法的全部或部分步骤。前述的存储介质可以是u盘、移动硬盘、rom、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
160.最后应说明的是:以上各实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述各实施例对本发申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1