调度任务图操作的方法、系统以及计算机可读介质技术方案

技术编号:24517364 阅读:34 留言:0更新日期:2020-06-17 06:42
提供了一种调度任务图操作的方法、系统以及计算机可读介质。根据实施方式的方面,方法可以包括获得表示任务的操作的任务图。任务图可以包括多个子任务图。该方法还可以包括获得基于并行执行与多个子任务图的集合相对应的操作的子集来执行操作的子集的第一计算时间。该方法还可以包括获得根据多个资源的资源调度使用多个资源执行操作的子集的第二计算时间,以及确定第一计算时间与第二计算时间之间的差。该方法还可以包括:响应于差满足阈值,基于多个资源的资源调度,使用多个资源来执行任务图的操作。

【技术实现步骤摘要】
调度任务图操作的方法、系统以及计算机可读介质
本公开内容中讨论的实施方式涉及调度任务图操作。
技术介绍
任务图可以表示用于执行某个任务的操作以及操作之间的数据流。例如,任务图可以表示机器学习算法生成机器学习模型的操作和数据流。任务图可以用于调度设备集群例如服务器集群,所述设备集群可以用于执行任务图中的操作。本公开内容中要求保护的主题不限于解决任何缺点或者仅在诸如如上描述的环境中操作的实施方式。相反,提供该背景仅是为了说明可以实践本公开内容中描述的一些实施方式的一个示例

技术实现思路
根据实施方式的方面,方法可以包括获得表示任务的操作的任务图。任务图可以包括多个子任务图。该方法还可以包括获得基于并行执行与多个子任务图的集合相对应的操作的子集来执行该操作的子集的第一计算时间。该方法还可以包括获得根据多个资源的资源调度使用多个资源执行操作的子集的第二计算时间,以及确定第一计算时间与第二计算时间之间的差。该方法还可以包括:响应于差满足阈值,基于多个资源的资源调度,使用多个资源来执行任务图的操作。至少通过权利要求中特别指出的元素、特征和组合来实现和取得实施方式的目的和优点。前面的一般描述和下面的详细描述二者均作为示例给出,并且是说明性的,并且不限制所要求保护的本专利技术。附图说明将通过使用附图以附加的特性和细节来描述和说明示例实施方式,在附图中:图1是表示与调度任务图操作有关的示例环境的图;图2a示出了示例任务图;图2b示出了示例资源图;图3示出了示例计算系统,该示例计算系统可以被配置成辅助调度任务图操作;图4是调度任务图操作的示例方法的流程图;图5是调度任务图操作的另一示例方法的流程图;以及图6是调度任务图操作的另一示例方法的流程图。具体实施方式任务图,例如非循环任务图,可以表示用于完成特定功能的操作以及操作之间的数据流。例如,任务图可以表示机器学习算法基于输入和输入的标签生成机器学习模型的操作和数据流。任务图中的数据流和操作布置可以表示关于特定操作基于其他操作的完成何时开始的限制。例如,任务图可以示出第一操作和第二操作,并且基于第二操作可以使用的第一操作生成数据来对第一操作与第二操作之间的关系进行建模。因此,直到第一操作完成后第二操作才可以开始。在某些情况下,任务图可能非常大,并且包含多个操作。结果,在某些情况下使单个设备执行任务图的操作可能会导致操作的执行过慢。在一些实施方式中,为了减少执行任务图的操作的时间,操作可以分布在多个不同的资源。在这些实施方式和其他实施方式中,可以基于资源的可用性和任务图的流程来跨资源调度操作。确定资源的调度以处理任务图的操作可以是不确定性多项式时间(NP)完全问题。因此,确定可以减少执行任务图的操作的时间的调度可能是困难的。一些任务图可以包括循环结构。任务图中的循环结构可以包括在任务图中多次重复的结构。例如,机器学习算法的任务图可以具有循环结构,因为对各个样本的训练可能包括可以并行执行的相似操作。在一些实施方式中,可以为循环结构组和资源组确定执行操作的调度。可以基于导致使用资源组执行操作的类流水线调度的循环结构的数量选择循环结构组中的循环结构的数量,其减少共同执行操作的时间。然后对于使用相同资源组的其他循环结构组可以顺序重复该调度。与其他方法相比,通过对多个循环结构组重复该调度,可以减少执行任务图操作的总时间。在一些实施方式中,当顺序重复执行循环结构组时,执行任务图的操作的总时间可以渐近地接近执行任务图的操作的最小时间。这样,根据本公开内容的一个或更多个实施方式,本文描述的操作允许对任务图的操作的调度性能的改进。任务图的操作的调度性能的改进可以致使更好地使用可能正在执行任务图的操作的资源,例如设备和/或系统。替选地或者附加地,任务图的操作的调度性能的改进可以减少资源执行任务图的操作的时间。替选地或者附加地,任务图的操作的调度性能的改进可以提高正在执行任务图的操作的资源的性能。例如,机器学习算法的任务图的操作的调度性能的改进可以减少计算机系统诸如服务器训练机器学习模型的时延和时间。替选地或者附加地,机器学习算法的任务图的操作的调度性能的改进可以增加在生成机器学习模型时可以使用的输入的数量,从而可以改进机器学习模型。因此,本文公开的实施方式可以解决机器学习、大型操作例如任务图的资源的调度以及计算系统资源的使用的
中的问题。此外,本文公开的实施方式可以减少计算系统资源工作以执行操作时的处理时间和时延。参照附图说明本公开内容的实施方式。图1是表示根据本公开内容中描述的至少一个实施方式布置的与调度任务图操作有关的示例环境100的图。环境100可以包括调度模块120和执行环境130。调度模块120和/或执行环境130可以包括被配置成使得一个或更多个计算设备或系统能够执行随后描述的一个或更多个操作的代码和例程。在这些实施方式和其他实施方式中,可以使用硬件来实现调度模块120和/或执行环境130,该硬件包括任意数量的处理器、微处理器(例如,以执行或控制一个或更多个操作的执行)、现场可编程门阵列(FPGA)、专用集成电路(ASIC)或其中两个或更多个的任意合适组合。替选地或者附加地,可以使用硬件和软件的组合来实现调度模块120和执行环境130。在本公开内容中,被描述为由调度模块120和执行环境130执行的操作可以包括调度模块120和执行环境130可以指导相应系统执行的操作。在一些实施方式中,环境100可以接收任务图110和资源图112作为输入。任务图110可以表示用于完成特定功能的操作以及操作之间的数据流。例如,任务图110的顶点可以表示操作,并且任务图110的边缘可以表示操作之间的数据流。资源图112可以表示执行环境130中的可以用于执行任务图110中的操作的资源132。资源图112的顶点可以表示资源132并且资源图112的边缘可以表示资源132之间的物理连接以及沿着物理连接的数据传输速度。在一些实施方式中,资源图112中表示的资源可以表示物理设备,该物理设备被配置成基于来自任务图的输入来执行任务图110中的某些部分操作、全部操作或多个操作。使用任务图110中定义的输入和操作,资源可以生成任务图110中的操作的输出。在这些实施方式和其他实施方式中,资源图112中表示的资源可以包括计算单元。例如,计算单元可以包括:中央处理单元(CPU)、图形处理单元(GPU)、处理器、多核处理器的处理器核、FPGA、ASIC或硬件元件的其他组合。在这些实施方式和其他实施方式中,单个设备可以包括多个计算单元,从而包括多个资源。替选地或者附加地,在资源图112中表示的资源可以包括设备。该设备可以包括计算系统,例如处理器和存储器的组合,例如移动设备、服务器、个人计算机以及其他设备。图2B示出了根据本公开内容的至少一个实施方式的示例资源图210。资源图210可以包括可以表示资源R1、资源R2和资源R3的三个顶点。顶点之间的边缘可本文档来自技高网
...

【技术保护点】
1.一种方法,包括:/n获得表示基于多个输入生成机器学习模型的操作的任务图,所述任务图包括多个子任务图,所述多个子任务图中的每一个对应于所述多个输入中的不同输入;/n获得基于并行执行与所述多个子任务图的集合相对应的所述操作的子集来执行所述操作的所述子集的第一计算时间;/n获得根据多个资源的资源调度使用所述多个资源执行所述操作的所述子集的第二计算时间;/n确定所述第一计算时间与所述第二计算时间之间的差;/n响应于所述差满足阈值,通过基于所述多个资源的所述资源调度执行所述任务图的所述操作,使用所述多个资源生成所述机器学习模型;以及/n将所述机器学习模型应用于未分类的输入,以针对所述多个输入的分类对所述未分类的输入进行分类。/n

【技术特征摘要】
20181206 US 16/212,3541.一种方法,包括:
获得表示基于多个输入生成机器学习模型的操作的任务图,所述任务图包括多个子任务图,所述多个子任务图中的每一个对应于所述多个输入中的不同输入;
获得基于并行执行与所述多个子任务图的集合相对应的所述操作的子集来执行所述操作的所述子集的第一计算时间;
获得根据多个资源的资源调度使用所述多个资源执行所述操作的所述子集的第二计算时间;
确定所述第一计算时间与所述第二计算时间之间的差;
响应于所述差满足阈值,通过基于所述多个资源的所述资源调度执行所述任务图的所述操作,使用所述多个资源生成所述机器学习模型;以及
将所述机器学习模型应用于未分类的输入,以针对所述多个输入的分类对所述未分类的输入进行分类。


2.根据权利要求1所述的方法,其中,基于所述多个资源的所述资源调度执行所述任务图的所述操作包括顺序地执行多个集合中的每个集合的所述操作的子集,所述多个集合中的每个集合包括所述多个子任务图的不同部分,根据所述多个资源的所述资源调度执行对所述操作的子集的每个顺序执行。


3.根据权利要求2所述的方法,其中,所述多个集合中的每个集合包括相同数量的所述多个子任务图。


4.根据权利要求2所述的方法,其中,在对所述多个集合中的第一集合的所述操作的子集的执行结束之前,开始对所述多个集合中的第二集合的所述操作的子集的执行,其中对所述第二集合的所述操作的子集的执行直接跟随对所述第一集合的所述操作的子集的执行。


5.根据权利要求4所述的方法,其中,所述多个资源的所述资源调度被配置成:允许在对所述多个集合中的所述第一集合的所述操作的子集的执行结束之前,开始对所述多个集合中的所述第二集合的所述操作的子集的执行。


6.根据权利要求1所述的方法,其中,所述多个子任务图中的每一个包括所述操作的子集的相同配置。


7.根据权利要求1所述的方法,还包括获得表示所述多个资源的物理配置的资源图,其中,所述多个资源的所述资源调度基于所述资源图。


8.一个或更多个计算机可读介质,其被配置成存储指令,所述指令在由系统执行时使所述系统或指导所述系统执行根据权利要求1所述的方法。


9.一种方法,包括:
获得表示任务的操作的任务图,所述任务图包括多个子任务图;
获得基于并行执行与所述多个子任务图的集合相对应的所述操作的子集来执行所述操作的所述子集的第一计算时间;
获得根据多个资源的资源调度使用所述多个资源执行所述操作的所述子集的第二计算时间;
确定所述第一计算时间与所述第二计算时间之间的差;以及
响应于所述差满足阈值,基于所述多个资源的所述资源调度,使用所述多个资源执行所述任务图的所述操作。


10.根据权利要求9所述的方法,其中,所述任务包括基于多个输入生成机器学习...

【专利技术属性】
技术研发人员:阿夫拉迪普·曼达尔阿纳博·罗伊高甘·卡尼约
申请(专利权)人:富士通株式会社
类型:发明
国别省市:日本;JP

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

1