CN113835874A - 深度学习业务调度方法、系统、终端及存储介质 - Google Patents
深度学习业务调度方法、系统、终端及存储介质 Download PDFInfo
- Publication number
- CN113835874A CN113835874A CN202110942064.3A CN202110942064A CN113835874A CN 113835874 A CN113835874 A CN 113835874A CN 202110942064 A CN202110942064 A CN 202110942064A CN 113835874 A CN113835874 A CN 113835874A
- Authority
- CN
- China
- Prior art keywords
- data set
- node
- set information
- scheduling
- cache
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims abstract description 57
- 238000013135 deep learning Methods 0.000 title claims abstract description 34
- 238000012544 monitoring process Methods 0.000 claims abstract description 28
- 238000011156 evaluation Methods 0.000 claims description 43
- 230000008569 process Effects 0.000 claims description 19
- 238000004458 analytical method Methods 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 3
- 238000012545 processing Methods 0.000 description 10
- 238000004422 calculation algorithm Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 238000010801 machine learning Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000010606 normalization Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000006467 substitution reaction Methods 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000005111 flow chemistry technique Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5066—Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种深度学习业务调度方法、系统、终端及存储介质,包括:解析待调度的目标业务的需求数据集信息;通过监听工具监听集群各节点的缓存数据集信息;查找缓存数据集信息包含所述需求数据集信息的节点作为候选节点;采集所述候选节点的资源参数,若所述资源参数满足预选条件则优先将所述目标业务调度至所述候选节点,所述预选条件限定了目标业务的需求资源。本发明将节点缓存数据集与目标业务需求的数据集的亲和度高低,作为业务调度的依据,当集群中有多个计算节点时,合理的将业务调度到已缓存数据集的节点,从而节约业务拉取数据的时间及资源消耗,节约用户成本。
Description
技术领域
本发明涉及深度学习技术领域,具体涉及一种深度学习业务调度方法、系统、终端及存储介质。
背景技术
操作系统管理了系统的有限资源,当有多个进程(或多个进程发出的请求)要使用这些资源时,因为资源的有限性,必须按照一定的原则选择进程(请求)来占用资源。这就是调度。目的是控制资源使用者的数量,选取资源使用者许可占用资源或占用资源。在深度学习领域,调度算法是深度学习系统的核心,对于深度学习任务是否可以快速高效完成,以及计算资源的利用是否合理起着决定性因素。
随着深度学习模型的复杂化,深度学习所需要的数据集也更加复杂。当集群在处理深度学习业务时,每个节点会执行不同的业务,不同的业务用到的数据集也不尽相同。现有的AIstation产品支持数据集缓存功能,即当集群中包含多个计算节点时提交深度学习任务业务,业务调度到计算节点上,数据集会相应缓存到计算节点上,当下次再在该计算节点运行深度学习业务时则无需再从数据集仓库中拉取数据集,可以直接使用该节点上缓存的数据集,节约拉取数据的时间及资源消耗。当某个数据集非常大时拉取数据集非常耗时,几小时甚至几十个小时。
这种数据集在节点的缓存功能虽然一定程度上降低了数据集拉取次数。但是目前现有的针对深度学习的业务调度策略,如根据业务优先级调度、根据资源利用率调度等,在调度业务时不会考虑数据集,因此节点分配到的业务是否正好需要节点本地缓存的数据集具有极大的随机性,大多数时候是匹配不上的,仍然需要拉取新分配的业务需要的数据集。这就导致了深度学习效率降低,且造成计算资源和存储资源的浪费。
发明内容
针对现有技术存在的节点缓存的数据集与新分配的业务需求不匹配,无法有效降低数据集的拉取次数导致的深度学习效率降低的问题,本发明提供一种深度学习业务调度方法、系统、终端及存储介质,以解决上述技术问题。
第一方面,本发明提供一种深度学习业务调度方法,包括:
解析待调度的目标业务的需求数据集信息;
通过监听工具监听集群各节点的缓存数据集信息;
查找缓存数据集信息包含所述需求数据集信息的节点作为候选节点;
采集所述候选节点的资源参数,若所述资源参数满足预选条件则优先将所述目标业务调度至所述候选节点,所述预选条件限定了目标业务的需求资源。
进一步的,解析待调度的目标业务的需求数据集信息,包括:
通过业务标记服务在处理业务的容器上标记业务的需求数据集注解;
通过调度器解析目标业务所在容器的需求数据集注解,得到目标业务的需求数据集信息。
进一步的,通过监听工具监听集群各节点的缓存数据集信息,包括:
在每个节点的资料组程序中添加自定义资源高速缓存实例,所述自定义资源高速缓存实例用于缓存节点上的缓存数据集信息,通过所述资料组程序将节点的缓存数据集信息的更新数据同步更新至自定义资源高速缓存实例;
通过调度器监听各节点的自定义资源高速缓存实例,读取自定义资源高速缓存实例的更新数据,并将所述更新数据同步更新至缓存数据集信息汇总表,所述缓存数据集信息汇总表存储所有节点的缓存数据集信息。
进一步的,查找缓存数据集信息包含所述需求数据集信息的节点作为候选节点,包括:
利用调度器根据预先设置的亲和性条件为各节点生成数据集评估分数,所述亲和性条件包括:
若节点的缓存数据集信息包含所述需求数据集信息,则所述节点的分数为缓存数据集信息中包含的需求数据集数量与单位分数的乘积,否则记为0;
若在节点解析过程中或业务参数解析过程中存在报错信息,则所述节点记0,否则记为1;
计算节点两项得到的乘积,则将数据集评估分数最高的节点作为候选节点。
进一步的,查找缓存数据集信息包含所述需求数据集信息的节点作为候选节点,包括:
若不存在数据集评估分数不为0的节点,则判定当前次调度失败,切换调度策略,所述调度策略包括基于节点空闲资源的业务调度策略。
进一步的,所述方法还包括:
启用辅助调度策略,所述辅助调度策略包括除数据集评估分数以外的量化影响因素,所述量化影响因素用于评估节点执行目标业务的能力,所述量化影响因素包括节点的空闲资源占比;
基于辅助调度策略计算各节点的辅助调度分数;
对各节点的数据集评估分数与辅助调度分数进行归一化处理,得到数据集评估系数与辅助调度系数;
根据预先设置的数据集评估权值和辅助调度权值,计算各节点的数据集评估系数与辅助调度系数的加权和,并将所述加权和作为各节点的综合评分;
选取综合评分最高的节点作为执行所述目标业务的优选节点。
进一步的,所述查找缓存数据集信息包含所述需求数据集信息的节点作为候选节点,包括:
所述需求数据集信息包括目标业务需求的所有数据集的名称的MD5值,所述缓存数据集信息包括节点缓存的所有数据集的名称的MD5值。
第二方面,本发明提供一种深度学习业务调度系统,包括:
需求解析单元,用于解析待调度的目标业务的需求数据集信息;
缓存监听单元,用于通过监听工具监听集群各节点的缓存数据集信息;
信息比对单元,用于查找缓存数据集信息包含所述需求数据集信息的节点作为候选节点;
业务调度单元,用于采集所述候选节点的资源参数,若所述资源参数满足预选条件则优先将所述目标业务调度至所述候选节点,所述预选条件限定了目标业务的需求资源。
进一步的,需求解析单元用于:
通过业务标记服务在处理业务的容器上标记业务的需求数据集注解;
通过调度器解析目标业务所在容器的需求数据集注解,得到目标业务的需求数据集信息。
进一步的,缓存监听单元用于:
在每个节点的资料组程序中添加自定义资源高速缓存实例,所述自定义资源高速缓存实例用于缓存节点上的缓存数据集信息,通过所述资料组程序将节点的缓存数据集信息的更新数据同步更新至自定义资源高速缓存实例;
通过调度器监听各节点的自定义资源高速缓存实例,读取自定义资源高速缓存实例的更新数据,并将所述更新数据同步更新至缓存数据集信息汇总表,所述缓存数据集信息汇总表存储所有节点的缓存数据集信息。
进一步的,信息比对单元用于:
利用调度器根据预先设置的亲和性条件为各节点生成数据集评估分数,所述亲和性条件包括:
若节点的缓存数据集信息包含所述需求数据集信息,则所述节点的分数为缓存数据集信息中包含的需求数据集数量与单位分数的乘积,否则记为0;
若在节点解析过程中或业务参数解析过程中存在报错信息,则所述节点记0,否则记为1;
计算节点两项得到的乘积,则将数据集评估分数最高的节点作为候选节点。
进一步的,信息比对单元用于:
若不存在数据集评估分数不为0的节点,则判定当前次调度失败,切换调度策略,所述调度策略包括基于节点空闲资源的业务调度策略。
进一步的,所述系统还包括:
辅助启用单元,用于启用辅助调度策略,所述辅助调度策略包括除数据集评估分数以外的量化影响因素,所述量化影响因素用于评估节点执行目标业务的能力,所述量化影响因素包括节点的空闲资源占比;
辅助计算单元,用于基于辅助调度策略计算各节点的辅助调度分数;
归一处理单元,用于对各节点的数据集评估分数与辅助调度分数进行归一化处理,得到数据集评估系数与辅助调度系数;
加权求和单元,用于根据预先设置的数据集评估权值和辅助调度权值,计算各节点的数据集评估系数与辅助调度系数的加权和,并将所述加权和作为各节点的综合评分;
节点选择单元,用于选取综合评分最高的节点作为执行所述目标业务的优选节点。
进一步的,所述需求数据集信息包括目标业务需求的所有数据集的名称的MD5值,所述缓存数据集信息包括节点缓存的所有数据集的名称的MD5值。
第三方面,提供一种终端,包括:
处理器、存储器,其中,
该存储器用于存储计算机程序,
该处理器用于从存储器中调用并运行该计算机程序,使得终端执行上述的终端的方法。
第四方面,提供了一种计算机存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
本发明的有益效果在于,
本发明提供的深度学习业务调度方法、系统、终端及存储介质,通过解析待调度的目标业务的需求数据集信息,并通过监听工具监听集群各节点的缓存数据集信息,然后遍历集群查找缓存数据集信息包含所述需求数据集信息的节点作为候选节点,进一步采集所述候选节点的资源参数,若资源参数满足预选条件则优先将所述目标业务调度至所述候选节点,其中预选条件限定了目标业务的需求资源。本发明将节点缓存数据集与目标业务需求的数据集的亲和度高低,作为业务调度的依据,当集群中有多个计算节点时,合理的将业务调度到已缓存数据集的节点,从而节约业务拉取数据的时间及资源消耗,节约用户成本。
此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例的方法的示意性流程图。
图2是本发明一个实施例的方法的逻辑架构图。
图3是本发明一个实施例的方法的另一示意性流程图。
图4是本发明一个实施例的系统的示意性框图。
图5为本发明实施例提供的一种终端的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
下面对本发明中出现的关键术语进行解释。
深度学习(DL,Deep Learning)是机器学习(ML,Machine Learning)领域中一个新的研究方向,它被引入机器学习使其更接近于最初的目标——人工智能(AI,ArtificialIntelligence)。深度学习是学习样本数据的内在规律和表示层次,这些学习过程中获得的信息对诸如文字,图像和声音等数据的解释有很大的帮助。它的最终目标是让机器能够像人一样具有分析学习能力,能够识别文字、图像和声音等数据。深度学习是一个复杂的机器学习算法,在语音和图像识别方面取得的效果,远远超过先前相关技术。深度学习在搜索技术,数据挖掘,机器学习,机器翻译,自然语言处理,多媒体学习,语音,推荐和个性化技术,以及其他相关领域都取得了很多成果。深度学习使机器模仿视听和思考等人类的活动,解决了很多复杂的模式识别难题,使得人工智能相关技术取得了很大进步。
Node:本文中Node指集群中计算节点。
K8S:(kubernetes)用于管理云平台中多个主机上的容器化的应用。
Kube-batch:运行在Kubernetes上面向机器学习/大数据/HPC的批调度器。
Pod:是K8S管理的最小单位级,由一个或多个容器的组合。
IRESOURCE:我司AIstation产品中一个服务。
CRD:(CustomResourceDefinition)k8s中的自定义资源类型。
Informer:Client-go中的一个核心工具包,可以监听事件并触发回调函数等。
图1是本发明一个实施例的方法的示意性流程图。其中,图1执行主体可以为一种深度学习业务调度系统。
如图1所示,该方法包括:
步骤110,解析待调度的目标业务的需求数据集信息;
步骤120,通过监听工具监听集群各节点的缓存数据集信息;
步骤130,查找缓存数据集信息包含所述需求数据集信息的节点作为候选节点;
步骤140,采集所述候选节点的资源参数,若所述资源参数满足预选条件则优先将所述目标业务调度至所述候选节点,所述预选条件限定了目标业务的需求资源。
本发明将节点缓存数据集与目标业务需求的数据集的亲和度高低,作为业务调度的依据,当集群中有多个计算节点时,合理的将业务调度到已缓存数据集的节点,从而节约业务拉取数据的时间及资源消耗,节约用户成本。
为了便于对本发明的理解,下面以本发明深度学习业务调度方法的原理,结合实施例中对深度学习业务进行调度的过程,对本发明提供的深度学习业务调度方法做进一步的描述。
具体的,请参考图2和图3,所述深度学习业务调度方法包括:
S1、解析待调度的目标业务的需求数据集信息。
通过业务标记服务在处理业务的容器上标记业务的需求数据集注解;通过调度器解析目标业务所在容器的需求数据集注解,得到目标业务的需求数据集信息。
具体的,IRESOURCE业务层负责在pod中打上数据集注解。Pod注解用于给k8s调度器提供该pod所需数据集信息。k8s调度器在调度该pod过程中,会解析该注解字段并做流程处理。此处的数据集信息可以是数据集名字、数据集特征参数,或者进一步的为了便于比对并降低存储资源占用,数据集信息可以是数据集名字的MD5值。
S2、通过监听工具监听集群各节点的缓存数据集信息。
在每个节点的资料组程序中添加自定义资源高速缓存实例,所述自定义资源高速缓存实例用于缓存节点上的缓存数据集信息,通过所述资料组程序将节点的缓存数据集信息的更新数据同步更新至自定义资源高速缓存实例;通过调度器监听各节点的自定义资源高速缓存实例,读取自定义资源高速缓存实例的更新数据,并将所述更新数据同步更新至缓存数据集信息汇总表,所述缓存数据集信息汇总表存储所有节点的缓存数据集信息。
在每个节点中的dataset-agent给添加、更新节点缓存数据集的自定义资源高速缓存实例(nodecache CRD实例),保证k8s能够实时地获取到每个节点上数据集缓存的数据;节点的缓存数据集信息一有变化,则dataset-agent会同步触发更新所在节点的nodecache CRD实例信息。k8s调度器监听nodecache实例状态,并同步更新相应的节点缓存数据集信息。
S3、查找缓存数据集信息包含所述需求数据集信息的节点作为候选节点。
利用调度器根据预先设置的亲和性条件为各节点生成数据集评估分数,所述亲和性条件包括:若节点的缓存数据集信息包含所述需求数据集信息,则所述节点的分数为缓存数据集信息中包含的需求数据集数量与单位分数的乘积,否则记为0;若在节点解析过程中或业务参数解析过程中存在报错信息,则所述节点记0,否则记为1;计算节点两项得到的乘积,则将数据集评估分数最高的节点作为候选节点。若不存在数据集评估分数不为0的节点,则判定当前次调度失败,切换调度策略,调度策略是现有的,调度策略包括基于节点空闲资源的业务调度策略以及客户定制的业务优先级调度策略。
此外,基于客户需求,也可以将本发明提供的调度方法可以结合数据集评估分数和现有调度策略,具体结合方法为:启用辅助调度策略,所述辅助调度策略包括除数据集评估分数以外的量化影响因素,所述量化影响因素用于评估节点执行目标业务的能力,所述量化影响因素包括节点的空闲资源占比;基于辅助调度策略计算各节点的辅助调度分数;对各节点的数据集评估分数与辅助调度分数进行归一化处理,得到数据集评估系数与辅助调度系数;根据预先设置的数据集评估权值和辅助调度权值,计算各节点的数据集评估系数与辅助调度系数的加权和,并将所述加权和作为各节点的综合评分;选取综合评分最高的节点作为执行所述目标业务的优选节点。
基于数据集评估分数的数据集亲和性策略是个优选策略,主调度算法是pod优先调度到资源满足的计算节点等,如node1可用GPU只有2卡(但是有缓存的数据集),node2可用GPU有3卡,如果pod请求3卡,即便节点A有缓存的数据集也不会调度到节点A。
数据集亲和性调度跟其它优选策略,如资源利用率(比如GPU负载)都有相应的权重值,所有优选策略组合一起会对该节点打个分,根据节点的分值选择调度。假设优选策略只有数据集亲和性调度和资源利用率,假设这两项权重占比都是50%,假设节点资源利用率越低得分越高(实际也可以设置节点资源利用率越高得分越高),如果数据集缓存都满足则选取节点资源利用率低的节点进行调度(得分高)。选择业务pod所需数据集完全匹配命中节点缓存数据集的节点。对于未命中或部分命中的节点则忽略数据集亲和性策略。
具体而言:
1.调度器增加数据集亲和性条件验证。
A.完全命中检查:当业务所需数据集未在节点已缓存数据集全部命中,则此节点的数据集得分为0。即回退到没有数据集亲和性策略,而采用其它策略的调度方式。命中解释:通过数据集名MD5的16字节摘要值进行检查业务请求的数据集是否在节点有缓存,如果检查到即为命中。
B.算法在执行过程中出现异常,如:解析节点和业务参数报错等,则此节点的数据集得分为0。
C.其它条件,则统计节点数据集得分,参与数据集调度
节点缓存数据集得分公式:
公式说明:
Node为集群节点选择器,根据节点名称参数nodename选择节点。
NodeMatchDataSet为当前节点匹配业务要求的数据集,即pod请求的数据集和当前节点缓存数据集的交集。dsname为数据集名,如果匹配则累计该数据集,否则过滤;
如果节点已缓存数据集并未完全匹配业务数据集,则节点得分为0;
如果业务所需数据集全部命中节点缓存数据集,且数据集可用,则节点数据集得分为完全匹配数据集个数,即业务所需数据集个数;
如果解析业务所需数据集和节点数据集参数异常,则节点得分为0。
此分值为节点数据集评估分数。后面还需经归一化处理后,才能跟其它优选策略共同作用调度结果。
2.支持数据集亲和性权重设置,可自定义其算法优先级
A.优选项中增加数据集亲和性datasetaffinity,权重默认跟GPU负载优选策略权重值相同。
B.数据集亲和性权重值可根据实际部署需要,修改kube-batch的启动配置脚本。
在实际应用场景中,监控到集群节点缓存数据集信息之后,判断条件中podreqds是判断业务pod有没有请求使用数据集,如果没有就不用进入数据集亲和性调度流程;集群中可能包含多个计算节点(node),对计算节点进行数据集亲和性校验,如果不满足条件就检查下一个节点,即对集群中的计算节点进行遍历,准备计算每个节点的数据集优选项的得分;计算和处理节点得分,根据得分选择处理业务节点。
S4、采集所述候选节点的资源参数,若所述资源参数满足预选条件则优先将所述目标业务调度至所述候选节点,所述预选条件限定了目标业务的需求资源。
数据集亲和性准则:选择业务pod所需数据集完全匹配命中节点缓存数据集的节点。对于未命中或部分命中的节点则忽略数据集亲和性策略;数据集亲和性调度是一种优选算法策略,预选条件是指满足基本调度策略,如,任务请求2GPU,而node1节点只有1GPU时,则node1不满足预选条件,即使node1上存在需要的数据集也不会进入数据集亲和性调度流程。
下面以集群中有2个计算节点(node1、node2)进行举例:
1)node1上已缓存有数据集dataset-A,大小1G,node2上已缓存有数据集dataset-B,大小5G
如果作业需要数据集dataset-A,则调度器需要在node1满足预选条件时,将作业调度到node1上;如果作业需要数据集dataset-B,则调度器需要在node2满足预选条件时,将作业调动度到node2上。
2)node1上已缓存有数据集dataset-A,大小1G,node2上已缓存有数据集dataset-B,大小5G
如果作业需要数据集dataset-A,node1不满足预选条件,node2满足预选条件,则调度器会将作业调度分配到node2上。
注解:预选条件是指满足基本调度策略,如,任务请求2GPU,而node1节点只有1GPU时,则node1不满足预选条件,即使node1上存在需要的数据集也不会进行调度,数据集亲和性调度是一种优选算法策略。
3)node1上已缓存有数据集dataset-A,大小1G,数据集dataset-C,大小10G,node2上已缓存有数据集dataset-B,大小5G。
如果作业需要数据集dataset-A和dataset-B,此时作业所需数据集都没有完全命中node1和node2上缓存的数据集。则调度器进行数据集亲和性条件验证时认为此场景不满足数据集亲和性策略,node1和node2的数据集亲和性得分都为0(得分0表示数据集策略不生效),不执行亲和性算法策略。
如图4所示,该系统400包括:
需求解析单元410,用于解析待调度的目标业务的需求数据集信息;
缓存监听单元420,用于通过监听工具监听集群各节点的缓存数据集信息;
信息比对单元430,用于查找缓存数据集信息包含所述需求数据集信息的节点作为候选节点;
业务调度单元440,用于采集所述候选节点的资源参数,若所述资源参数满足预选条件则优先将所述目标业务调度至所述候选节点,所述预选条件限定了目标业务的需求资源。
可选地,作为本发明一个实施例,需求解析单元用于:
通过业务标记服务在处理业务的容器上标记业务的需求数据集注解;
通过调度器解析目标业务所在容器的需求数据集注解,得到目标业务的需求数据集信息。
可选地,作为本发明一个实施例,缓存监听单元用于:
在每个节点的资料组程序中添加自定义资源高速缓存实例,所述自定义资源高速缓存实例用于缓存节点上的缓存数据集信息,通过所述资料组程序将节点的缓存数据集信息的更新数据同步更新至自定义资源高速缓存实例;
通过调度器监听各节点的自定义资源高速缓存实例,读取自定义资源高速缓存实例的更新数据,并将所述更新数据同步更新至缓存数据集信息汇总表,所述缓存数据集信息汇总表存储所有节点的缓存数据集信息。
可选地,作为本发明一个实施例,信息比对单元用于:
利用调度器根据预先设置的亲和性条件为各节点生成数据集评估分数,所述亲和性条件包括:
若节点的缓存数据集信息包含所述需求数据集信息,则所述节点的分数为缓存数据集信息中包含的需求数据集数量与单位分数的乘积,否则记为0;
若在节点解析过程中或业务参数解析过程中存在报错信息,则所述节点记0,否则记为1;
计算节点两项得到的乘积,则将数据集评估分数最高的节点作为候选节点。
可选地,作为本发明一个实施例,信息比对单元用于:
若不存在数据集评估分数不为0的节点,则判定当前次调度失败,切换调度策略,所述调度策略包括基于节点空闲资源的业务调度策略。
可选地,作为本发明一个实施例,所述系统还包括:
辅助启用单元,用于启用辅助调度策略,所述辅助调度策略包括除数据集评估分数以外的量化影响因素,所述量化影响因素用于评估节点执行目标业务的能力,所述量化影响因素包括节点的空闲资源占比;
辅助计算单元,用于基于辅助调度策略计算各节点的辅助调度分数;
归一处理单元,用于对各节点的数据集评估分数与辅助调度分数进行归一化处理,得到数据集评估系数与辅助调度系数;
加权求和单元,用于根据预先设置的数据集评估权值和辅助调度权值,计算各节点的数据集评估系数与辅助调度系数的加权和,并将所述加权和作为各节点的综合评分;
节点选择单元,用于选取综合评分最高的节点作为执行所述目标业务的优选节点。
可选地,作为本发明一个实施例,所述需求数据集信息包括目标业务需求的所有数据集的名称的MD5值,所述缓存数据集信息包括节点缓存的所有数据集的名称的MD5值。
图5为本发明实施例提供的一种终端500的结构示意图,该终端500可以用于执行本发明实施例提供的深度学习业务调度方法。
其中,该终端500可以包括:处理器510、存储器520及通信单元530。这些组件通过一条或多条总线进行通信,本领域技术人员可以理解,图中示出的服务器的结构并不构成对本发明的限定,它既可以是总线形结构,也可以是星型结构,还可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
其中,该存储器520可以用于存储处理器510的执行指令,存储器520可以由任何类型的易失性或非易失性存储终端或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。当存储器520中的执行指令由处理器510执行时,使得终端500能够执行以下上述方法实施例中的部分或全部步骤。
处理器510为存储终端的控制中心,利用各种接口和线路连接整个电子终端的各个部分,通过运行或执行存储在存储器520内的软件程序和/或模块,以及调用存储在存储器内的数据,以执行电子终端的各种功能和/或处理数据。所述处理器可以由集成电路(Integrated Circuit,简称IC)组成,例如可以由单颗封装的IC所组成,也可以由连接多颗相同功能或不同功能的封装IC而组成。举例来说,处理器510可以仅包括中央处理器(Central Processing Unit,简称CPU)。在本发明实施方式中,CPU可以是单运算核心,也可以包括多运算核心。
通信单元530,用于建立通信信道,从而使所述存储终端可以与其它终端进行通信。接收其他终端发送的用户数据或者向其他终端发送用户数据。
本发明还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本发明提供的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-only memory,简称:ROM)或随机存储记忆体(英文:random access memory,简称:RAM)等。
因此,本发明通过解析待调度的目标业务的需求数据集信息,并通过监听工具监听集群各节点的缓存数据集信息,然后遍历集群查找缓存数据集信息包含所述需求数据集信息的节点作为候选节点,进一步采集所述候选节点的资源参数,若资源参数满足预选条件则优先将所述目标业务调度至所述候选节点,其中预选条件限定了目标业务的需求资源。本发明将节点缓存数据集与目标业务需求的数据集的亲和度高低,作为业务调度的依据,当集群中有多个计算节点时,合理的将业务调度到已缓存数据集的节点,从而节约业务拉取数据的时间及资源消耗,节约用户成本,本实施例所能达到的技术效果可以参见上文中的描述,此处不再赘述。
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中如U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质,包括若干指令用以使得一台计算机终端(可以是个人计算机,服务器,或者第二终端、网络终端等)执行本发明各个实施例所述方法的全部或部分步骤。
本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于终端实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,系统或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种深度学习业务调度方法,其特征在于,包括:
解析待调度的目标业务的需求数据集信息;
通过监听工具监听集群各节点的缓存数据集信息;
查找缓存数据集信息包含所述需求数据集信息的节点作为候选节点;
采集所述候选节点的资源参数,若所述资源参数满足预选条件则优先将所述目标业务调度至所述候选节点,所述预选条件限定了目标业务的需求资源。
2.根据权利要求1所述的方法,其特征在于,解析待调度的目标业务的需求数据集信息,包括:
通过业务标记服务在处理业务的容器上标记业务的需求数据集注解;
通过调度器解析目标业务所在容器的需求数据集注解,得到目标业务的需求数据集信息。
3.根据权利要求1所述的方法,其特征在于,通过监听工具监听集群各节点的缓存数据集信息,包括:
在每个节点的资料组程序中添加自定义资源高速缓存实例,所述自定义资源高速缓存实例用于缓存节点上的缓存数据集信息,通过所述资料组程序将节点的缓存数据集信息的更新数据同步更新至自定义资源高速缓存实例;
通过调度器监听各节点的自定义资源高速缓存实例,读取自定义资源高速缓存实例的更新数据,并将所述更新数据同步更新至缓存数据集信息汇总表,所述缓存数据集信息汇总表存储所有节点的缓存数据集信息。
4.根据权利要求3所述的方法,其特征在于,查找缓存数据集信息包含所述需求数据集信息的节点作为候选节点,包括:
利用调度器根据预先设置的亲和性条件为各节点生成数据集评估分数,所述亲和性条件包括:
若节点的缓存数据集信息包含所述需求数据集信息,则所述节点的分数为缓存数据集信息中包含的需求数据集数量与单位分数的乘积,否则记为0;
若在节点解析过程中或业务参数解析过程中存在报错信息,则所述节点记0,否则记为1;
计算节点两项得到的乘积,则将数据集评估分数最高的节点作为候选节点。
5.根据权利要求4所述的方法,其特征在于,查找缓存数据集信息包含所述需求数据集信息的节点作为候选节点,包括:
若不存在数据集评估分数不为0的节点,则判定当前次调度失败,切换调度策略,所述调度策略包括基于节点空闲资源的业务调度策略。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
启用辅助调度策略,所述辅助调度策略包括除数据集评估分数以外的量化影响因素,所述量化影响因素用于评估节点执行目标业务的能力,所述量化影响因素包括节点的空闲资源占比;
基于辅助调度策略计算各节点的辅助调度分数;
对各节点的数据集评估分数与辅助调度分数进行归一化处理,得到数据集评估系数与辅助调度系数;
根据预先设置的数据集评估权值和辅助调度权值,计算各节点的数据集评估系数与辅助调度系数的加权和,并将所述加权和作为各节点的综合评分;
选取综合评分最高的节点作为执行所述目标业务的优选节点。
7.根据权利要求4所述的方法,其特征在于,所述查找缓存数据集信息包含所述需求数据集信息的节点作为候选节点,包括:
所述需求数据集信息包括目标业务需求的所有数据集的名称的MD5值,所述缓存数据集信息包括节点缓存的所有数据集的名称的MD5值。
8.一种深度学习业务调度系统,其特征在于,包括:
需求解析单元,用于解析待调度的目标业务的需求数据集信息;
缓存监听单元,用于通过监听工具监听集群各节点的缓存数据集信息;
信息比对单元,用于查找缓存数据集信息包含所述需求数据集信息的节点作为候选节点;
业务调度单元,用于采集所述候选节点的资源参数,若所述资源参数满足预选条件则优先将所述目标业务调度至所述候选节点,所述预选条件限定了目标业务的需求资源。
9.一种终端,其特征在于,包括:
处理器;
用于存储处理器的执行指令的存储器;
其中,所述处理器被配置为执行权利要求1-7任一项所述的方法。
10.一种存储有计算机程序的计算机可读存储介质,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110942064.3A CN113835874A (zh) | 2021-08-17 | 2021-08-17 | 深度学习业务调度方法、系统、终端及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110942064.3A CN113835874A (zh) | 2021-08-17 | 2021-08-17 | 深度学习业务调度方法、系统、终端及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113835874A true CN113835874A (zh) | 2021-12-24 |
Family
ID=78960533
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110942064.3A Withdrawn CN113835874A (zh) | 2021-08-17 | 2021-08-17 | 深度学习业务调度方法、系统、终端及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113835874A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114390106A (zh) * | 2022-03-24 | 2022-04-22 | 广州医科大学附属第五医院 | 基于Kubernetes容器资源的调度方法、调度器及调度系统 |
CN115640110A (zh) * | 2022-11-07 | 2023-01-24 | 北京百度网讯科技有限公司 | 分布式云计算系统调度方法和装置 |
CN117033000A (zh) * | 2023-10-09 | 2023-11-10 | 合肥中科类脑智能技术有限公司 | 数据调度方法、设备 |
WO2024119793A1 (zh) * | 2022-12-08 | 2024-06-13 | 中兴通讯股份有限公司 | 基于缓存亲和的调度方法、系统、设备及介质 |
-
2021
- 2021-08-17 CN CN202110942064.3A patent/CN113835874A/zh not_active Withdrawn
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114390106A (zh) * | 2022-03-24 | 2022-04-22 | 广州医科大学附属第五医院 | 基于Kubernetes容器资源的调度方法、调度器及调度系统 |
CN115640110A (zh) * | 2022-11-07 | 2023-01-24 | 北京百度网讯科技有限公司 | 分布式云计算系统调度方法和装置 |
CN115640110B (zh) * | 2022-11-07 | 2023-11-17 | 北京百度网讯科技有限公司 | 分布式云计算系统调度方法和装置 |
WO2024119793A1 (zh) * | 2022-12-08 | 2024-06-13 | 中兴通讯股份有限公司 | 基于缓存亲和的调度方法、系统、设备及介质 |
CN117033000A (zh) * | 2023-10-09 | 2023-11-10 | 合肥中科类脑智能技术有限公司 | 数据调度方法、设备 |
CN117033000B (zh) * | 2023-10-09 | 2024-01-05 | 合肥中科类脑智能技术有限公司 | 数据调度方法、设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113835874A (zh) | 深度学习业务调度方法、系统、终端及存储介质 | |
CN108776934B (zh) | 分布式数据计算方法、装置、计算机设备及可读存储介质 | |
CN112800095B (zh) | 一种数据处理方法、装置、设备及存储介质 | |
US10289541B2 (en) | Source code flow analysis using information retrieval | |
WO2023185090A1 (zh) | 基于微服务链路分析和强化学习的调度方法及装置 | |
CN112579273B (zh) | 任务调度方法及装置、计算机可读存储介质 | |
CN101963969B (zh) | Oracle RAC系统中实现负载均衡的方法和数据库服务器 | |
CN110912757B (zh) | 业务的监控方法和服务器 | |
CN109558384A (zh) | 日志分类方法、装置、电子设备和存储介质 | |
CN112347394A (zh) | 网页信息的获取方法、装置、计算机设备和存储介质 | |
CN115442242A (zh) | 一种基于重要性排序的工作流编排系统及其方法 | |
CN109995834A (zh) | 大流量数据处理方法、装置、计算设备及存储介质 | |
CN111124854A (zh) | 一种冒烟测试用例分配方法、系统、终端及存储介质 | |
CN113674065B (zh) | 基于服务触点的业务推荐方法、装置、电子设备及介质 | |
CN113010310B (zh) | 作业数据的处理方法、装置和服务器 | |
CN113886419A (zh) | Sql语句处理方法、装置、计算机设备及存储介质 | |
CN114356712A (zh) | 数据处理方法、装置、设备、可读存储介质及程序产品 | |
CN112613792A (zh) | 数据处理方法、系统、计算机设备和存储介质 | |
WO2020167923A1 (en) | Systems and methods for automatic apparel wearability model training and prediction | |
CN111475251A (zh) | 一种集群容器调度方法、系统、终端及存储介质 | |
CN112637793B (zh) | 一种基于5g的场景化计费方法、系统、电子设备和存储介质 | |
CN116126415A (zh) | 一种基于场景的上云组件配置推荐方法及系统 | |
US20210303645A1 (en) | Search data curation and enrichment for deployed technology | |
CN109828983A (zh) | Pg数据库处理方法、装置、电子设备及存储介质 | |
CN116910352A (zh) | 基于人工智能的报表推荐方法、装置、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20211224 |
|
WW01 | Invention patent application withdrawn after publication |