当前位置: 首页 > 专利查询>深圳大学专利>正文

调度方案生成方法及装置制造方法及图纸

技术编号:21343188 阅读:27 留言:0更新日期:2019-06-13 22:20
本发明专利技术公开了一种调度方案生成方法及装置,应用于数据处理技术领域。该方法包括:终端获取用户输入的初始操作信息。根据初始操作信息建立有向无环图模型,有向无环图模型的多个任务节点与多个初始操作一一对应,各任务节点之间的数据依赖关系与各初始操作之间的传输数据的数据依赖关系相同,各任务节点的执行时间与对应的初始操作的执行时间相等。将有向无环图模型重复执行不同次数作为不同的周期,并将各周期内的多个任务节点根据执行时间的长短进行排序,依次分配给终端的多个处理单元中完成时间最小的处理单元,得到对应各周期的调度方案,并从多个调度方案中确定初始调度方案。该方法可提高利用率和计算效率。

Scheduling Scheme Generation Method and Device

The invention discloses a dispatching scheme generation method and device, which are applied in the field of data processing technology. The method includes: the terminal obtains the initial operation information input by the user. According to the initial operation information, a directed acyclic graph model is established. Multiple task nodes of the directed acyclic graph model correspond to multiple initial operations one by one. The data dependence relationship between task nodes and the data transmission dependence relationship between the initial operations are the same, and the execution time of each task node is equal to the execution time of the corresponding initial operations. The different times of repeated execution of directed acyclic graph model are taken as different periods, and the task nodes in each period are sorted according to the execution time, and then allocated to the processing units with the minimum completion time among the processing units of the terminal in turn. The corresponding scheduling schemes for each period are obtained, and the initial scheduling schemes are determined from multiple scheduling schemes. This method can improve the utilization and computational efficiency.

【技术实现步骤摘要】
调度方案生成方法及装置
本专利技术涉及数据处理
,尤其涉及调度方案生成方法及装置。
技术介绍
随着我国计算机技术的快速发展,为了提高计算效率,利用并行处理单元进行数据处理的方法已被广泛应用开来,如多核处理器。其中,深度学习的推理过程具有高度的并行性,不同样本之间的计算过程没有相互依赖,在利用并行处理单元的基础上,通过合理的调度可以起到极大地加速其深度学习的推理过程。在目前的调度方案生成方法中,通常将多个不同样本的相同任务安排在该任务与其他任务的传输数据的等待时间内,以提高并行处理单元的利用率和计算效率。但是,若该任务的执行时间远远大于其他的任务的执行时间,达到稳定状态前的前序时间较长,这就会存在利用率和计算效率较低的问题。
技术实现思路
本专利技术实施例的主要目的在于提供调度方案生成方法及装置,可提高利用率和计算效率。本专利技术实施例第一方面提供了一种调度方案生成方法,所述方法包括:终端获取用户输入的初始操作信息,所述初始操作信息包括多个初始操作、各初始操作之间的传输数据和各初始操作的执行时间;根据所述初始操作信息建立有向无环图模型,所述有向无环图模型的多个任务节点与多个所述初始操作一一对应,各所述任务节点之间的数据依赖关系与各所述初始操作之间的传输数据的数据依赖关系相同,各所述任务节点的执行时间与对应的初始操作的执行时间相等;将所述有向无环图模型重复执行不同次数作为不同的周期,并将各所述周期内的多个任务节点根据执行时间的长短进行排序,依次分配给所述终端的多个处理单元中完成时间最小的处理单元,得到对应各所述周期的调度方案,并从多个所述调度方案中确定初始调度方案,所述初始调度方案包括所述初始调度方案内的各任务节点与分配的处理单元的分配关系以及所述初始调度方案内的各任务节点的开始处理时间。本专利技术实施例第二方面提供了一种调度方案生成装置,所述装置包括:获取单元,用于终端获取用户输入的初始操作信息,所述初始操作信息包括多个初始操作、各初始操作之间的传输数据和各初始操作的执行时间;建立单元,用于根据所述初始操作信息建立有向无环图模型,所述有向无环图模型的多个任务节点与多个所述初始操作一一对应,各所述任务节点之间的数据依赖关系与各所述初始操作之间的传输数据的数据依赖关系相同,各所述任务节点的执行时间与对应的初始操作的执行时间相等;处理单元,用于将所述有向无环图模型重复执行不同次数作为不同的周期,并将各所述周期内的多个任务节点根据执行时间的长短进行排序,依次分配给所述终端的多个处理单元中完成时间最小的处理单元,得到对应各所述周期的调度方案,并从多个所述调度方案中确定初始调度方案,所述初始调度方案包括所述初始调度方案内的各任务节点与分配的处理单元的分配关系以及所述初始调度方案内的各任务节点的开始处理时间。从上述实施例可知,通过将所述有向无环图模型重复执行不同次数作为不同的周期,将各周期内的任务节点按照执行时间的长短依次分配给完成时间最小的处理单元,以将执行时间较长的任务节点和执行时间较短的任务节点分开处理,极大地提高了利用率和计算效率。附图说明图1是本专利技术提供的第一实施例中的调度方案生成方法的实现流程示意图;图2是本专利技术提供的第二实施例中的调度方案生成方法的实现流程示意图;图3是本专利技术提供的第二实施例中的步骤203的细化步骤的流程示意图;图4是本专利技术提供的第二实施例中的步骤205的细化步骤的流程示意图;图5是本专利技术提供的第二实施例中的步骤402的细化步骤的流程示意图;图6是本专利技术提供的第二实施例中的步骤407的细化步骤的流程示意图;图7是本专利技术提供的第二实施例中的调度方案生成方法的调整示意图;图8是本专利技术提供的第三实施例中的调度方案生成装置的结构示意图。具体实施方式为使得本专利技术的专利技术目的、特征、优点能够更加的明显和易懂,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而非全部实施例。基于本专利技术中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。请参阅图1,图1是本专利技术提供的第一实施例中的调度方案生成方法的实现流程示意图。如图1所示,该方法主要包括以下步骤:101、终端获取用户输入的初始操作信息,该初始操作信息包括多个初始操作、各初始操作之间的传输数据和各初始操作的执行时间。具体的,将深度学习应用的推理过程进行划分得到初始操作信息。初始操作信息包括多个初始操作和各初始操作之间的传输数据。各初始操作的执行时间可在输入终端时估算得到,也可将各初始操作执行一次得到执行时间。在实际应用过程中,初始操作信息可为:44;0A1;1B2;2C1;3D2;012a;021b;131c;231d。其中,第一行表示共有4个初始操作和4个初始操作之间的传输数据。第2-5行表示各初始操作的编号、操作名称及执行时间。例如0A1表示操作编号是0,操作名称是A,操作耗时是1。第6-9行表示各初始操作之间的传输数据、数据大小和数据名称,例如012a表示,编号为0的初始操作向编号为1的初始操作传输数据,确定编号为0的初始操作向编号为1的初始操作之间的数据依赖关系,数据大小为2,数据名称为a。102、根据该初始操作信息建立有向无环图模型,该有向无环图模型的多个任务节点与多个该初始操作一一对应,各该任务节点之间的数据依赖关系与各该初始操作之间的传输数据的数据依赖关系相同,各该任务节点的执行时间与对应的初始操作的执行时间相等。具体的,将深度学习应用的推理过程转换为有向无环图模型,有向无环图模型是指无回路的有向图。将深度学习应用的各初始操作与有向无环图模型的各任务节点一一对应,各初始操作之间的传输数据的数据依赖关系与有向无环图模型的各任务节点之间的数据依赖关系,即有向无环图的有向边相同,以使初始操作的分布情况与有向无环图模型的任务节点的分布情况相同。在实际应用过程中,有向无环图模型表示为G=(V,E),其中V={T1,...,Tn},n表示任务节点的个数,每个任务节点Ti对应一个执行时间ci,ci等于任务节点Ti对应的初始操作的执行时间。任务节点Ti与任务节点Tj之间的传输数据的传输时间表示为ci,j。步骤101中示例的初始操作信息对应的有向无环图模型包括4个任务节点,4条有向边。103、将该有向无环图模型重复执行不同次数作为不同的周期,并将各该周期内的多个任务节点根据执行时间的长短进行排序,依次分配给该终端的多个处理单元中完成时间最小的处理单元,得到对应各该周期的调度方案,并从多个该调度方案中确定初始调度方案,该初始调度方案包括该初始调度方案内的各任务节点与分配的处理单元的分配关系以及该初始调度方案内的各任务节点的开始处理时间。具体的,当深度学习应用执行N次时,即有向无环图模型重复执行N次,通常将多个不同样本的相同任务节点安排在该任务节点与其他任务节点的传输数据的等待时间内,对于终端的处理单元的利用率较低。在本实施例中,将有向无环图模型重复执行不同次数作为不同的周期,将各周期内的多个任务节点进行组合分配,将执行时间长的任务节点优先分配在完成时间小的处理单元上,将执行时间长的任务节点和执行时间短的任务节点分开处理,极大地提高了利用率本文档来自技高网...

【技术保护点】
1.一种调度方案生成方法,其特征在于,所述方法包括:终端获取用户输入的初始操作信息,所述初始操作信息包括多个初始操作、各初始操作之间的传输数据和各初始操作的执行时间;根据所述初始操作信息建立有向无环图模型,所述有向无环图模型的多个任务节点与多个所述初始操作一一对应,各所述任务节点之间的数据依赖关系与各所述初始操作之间的传输数据的数据依赖关系相同,各所述任务节点的执行时间与对应的初始操作的执行时间相等;将所述有向无环图模型重复执行不同次数作为不同的周期,并将各所述周期内的多个任务节点根据执行时间的长短进行排序,依次分配给所述终端的多个处理单元中完成时间最小的处理单元,得到对应各所述周期的调度方案,并从多个所述调度方案中确定初始调度方案,所述初始调度方案包括所述初始调度方案内的各任务节点与分配的处理单元的分配关系以及所述初始调度方案内的各任务节点的开始处理时间。

【技术特征摘要】
1.一种调度方案生成方法,其特征在于,所述方法包括:终端获取用户输入的初始操作信息,所述初始操作信息包括多个初始操作、各初始操作之间的传输数据和各初始操作的执行时间;根据所述初始操作信息建立有向无环图模型,所述有向无环图模型的多个任务节点与多个所述初始操作一一对应,各所述任务节点之间的数据依赖关系与各所述初始操作之间的传输数据的数据依赖关系相同,各所述任务节点的执行时间与对应的初始操作的执行时间相等;将所述有向无环图模型重复执行不同次数作为不同的周期,并将各所述周期内的多个任务节点根据执行时间的长短进行排序,依次分配给所述终端的多个处理单元中完成时间最小的处理单元,得到对应各所述周期的调度方案,并从多个所述调度方案中确定初始调度方案,所述初始调度方案包括所述初始调度方案内的各任务节点与分配的处理单元的分配关系以及所述初始调度方案内的各任务节点的开始处理时间。2.如权利要求1所述的调度方案生成方法,其特征在于,所述方法还包括:根据所述初始调度方案确定所述初始调度方案内的各任务节点的重定时值;根据所述初始调度方案内的各任务节点的执行时间和各所述任务节点之间的数据依赖关系,调整所述初始调度方案内的各任务节点的开始处理时间和重定时值,得到目标调度方案,所述目标调度方案包括所述初始调度方案内的各任务节点与分配的处理单元的分配关系、初始调度方案内的各任务节点调整后的开始处理时间以及初始调度方案内的各任务节点调整后的重定时值。3.如权利要求1所述的调度方案生成方法,其特征在于,所述将所述有向无环图模型重复执行不同次数作为不同的周期,并将各所述周期内的多个任务节点根据执行时间的长短进行排序,依次分配给所述终端的多个处理单元中完成时间最小的处理单元,得到对应各所述周期的调度方案,并从多个所述调度方案中确定初始调度方案包括:将所述有向无环图模型执行一次作为一个周期,所述周期内的全部的任务节点为待分配任务节点,并将所述待分配任务节点按照所述执行时间的大小顺序进行排序;将排在首位的待分配任务节点分配给所述终端的多个处理单元中完成时间最小的处理单元,并根据所述排在首位的待分配任务节点的执行时间更新所述完成时间最小的处理单元的完成时间;将排在第二位的待分配任务节点作为新的排在首位的待分配任务节点,并执行所述将排在首位的待分配任务节点分配给所述终端的多个处理单元中完成时间最小的处理单元的步骤,直至将全部的所述待分配任务节点分配完毕,得到对应所述周期的调度方案;所述调度方案包括所述调度方案内的各任务节点的开始处理时间,根据所述调度方案内的各任务节点的开始处理时间和所述调度方案内的各任务节点的执行时间,确定所述调度方案内的各任务节点的结束处理时间的最大值;根据所述终端的处理单元的数量、所述有向无环图形模型的执行次数和所述调度方案内的各任务节点的结束处理时间的最大值,得到所述调度方案的利用率,并判断所述调度方案的利用率是否大于预设利用率阈值;若所述调度方案的利用率大于预设利用率阈值,则所述调度方案为初始调度方案。若所述调度方案的利用率不大于预设利用率阈值,则增加所述有向无环图模型的执行次数,将增加执行次数后的有向无环图模型作为一个新的周期,执行所述周期内的全部的任务节点为待分配任务节点,并将所述待分配任务节点按照所述执行时间的大小顺序进行排序的步骤,直至所述有向无环图形模型的执行次数达到该预设次数,则各调度方案中利用率最大的调度方案为所述初始调度方案。4.如权利要求3所述的调度方案生成方法,其特征在于,通过如下公式,根据所述终端的处理单元的数量、所述有向无环图形模型的执行次数和所述调度方案内的各任务节点的结束处理时间的最大值,得到所述调度方案的利用率:其中,V表示所述调度方案中任务节点Ti(i=1,...,n)的集合,Xp表示所述有向无环图形模型的执行次数,ci表示任务节点Ti的执行时间,h表示所述终端的处理单元的数量,cp表示所述调度方案内的各任务节点的结束处理时间的最大值。5.如权利要求3所述的调度方案生成方法,其特征在于,通过如下公式,根据所述排在首位的待分配任务节点的执行时间更新所述完成时间最小的处理单元的完成时间:cpk=cpk+ci;其中,等号左边的cpk表示更新后的完成时间最小的处理单元的完成时间,等号右边的cpk表示更新前的完成时间最小的处理单元的完成时间,ci表示所述排在首位的待分配任务节点的执行时间。6.如权利要求3所述的调度方案生成方法,其特征在于,所述根据所述初始调度方案内的各任务节点的执行时间和各所述任务节点之间的数据依赖关系,调整所述初始调度方案内的各任务节点的开始处理时间和重定时值,得到目标调度方案包括:将所述初始调度方案内的任务节点标记为未确定位置状态;根据所述初始调度方案内未确定位置状态的各任务节点的执行时间,确定一个或多个关键节点;将全部的所述关键节点加入预设的待遍历节点队列,所述待遍历节点队列的初始状态为空队列,所述待遍历节点队列中的所述关键节点按照执行时间的长短进行排列;从所述待遍历节点队列中取出位于队首的关键节点,将所述位于队首的关键节点标记为已确定位置状态;根据所述位于队首的关键节点以及所述任务节点之间的数据依赖关系,在所述调度方案的任务节点中确定所述位于队首的关键节点的一个或多个前继节点;将全部的所述前继节点按照执行时间的大小进行排序,根据所述位于队首的关键节点依次将各所述前继节点的开始处理时间和重定时值进行调整,并将调整后的前继节点标记为所述已确定位置状态,加入所述待遍历节点队列;根据所述任务...

【专利技术属性】
技术研发人员:王毅吴尚宇陈家贤雷洁彦毛睿廖好
申请(专利权)人:深圳大学
类型:发明
国别省市:广东,44

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

1