分布式数据处理的任务调度制造技术

技术编号:35637067 阅读:16 留言:0更新日期:2022-11-19 16:26
本主题的方面涉及分布式数据处理的任务调度。节点(104)可以从主设备(102)接收待执行的第一任务、所述第一任务的优先级指示和用于挂起运行任务的第一指令。所述节点(104)可以挂起所述运行任务,并保存与所述运行任务相关联的任务资源。所述节点(104)可以执行所述第一任务,并基于所述第一任务的资源需求,从所述挂起任务中顺序地释放资源。此外,所述节点(104)可以向所述主设备(102)发送关于所述第一任务完成的确认。一任务完成的确认。一任务完成的确认。

【技术实现步骤摘要】
【国外来华专利技术】分布式数据处理的任务调度


[0001]本主题大体上涉及分布式数据处理,具体地,本主题涉及分布式数据处理的任务调度。

技术介绍

[0002]分布式系统是一组通过网络互连的计算设备,对于并行处理大量数据非常有用,例如用于大数据分析。数据处理任务分布在设备上,以提高可靠性和可扩展性,提供更快的数据处理,并缩短响应时间。在一些分布式系统架构中,其中一个设备充当主设备,在被称为从设备的其余设备之间分发和调度任务。用于大数据处理的分布式系统,例如Apache Spark、Map Reduce、Hive,既是数据密集型系统,也是内存密集型系统,其中,广泛使用任务调度机制。

技术实现思路

[0003]本专利技术的各方面提供了用于任务调度以提高分布式系统的资源利用率的方法和设备。分布式系统也称为分布式数据处理系统。
[0004]根据第一方面,提供了一种在分布式数据处理系统中进行任务调度的方法。所述方法包括:选定节点接收待执行的第一任务、所述第一任务的优先级指示和用于挂起所述节点正在执行的运行任务的第一指令。所述运行任务被所述节点挂起,并保存与所述运行任务相关联的任务资源。此外,所述第一任务由所述节点执行,并且在所述第一任务执行期间,基于所述第一任务的资源需求,从所述挂起的运行任务中顺序地释放资源。在所述第一任务完成时,所述节点向主设备发送关于所述第一任务完成的确认。
[0005]根据第二方面,提供了在一种分布式数据处理系统中进行任务调度的方法。所述方法包括:主设备从多个节点中确定用于执行第一任务的节点;所述主设备发送待执行的所述第一任务、所述第一任务的优先级指示和第一指令。所述第一指令包括用于以下操作的指令:挂起运行任务,保存与所述运行任务相关联的任务资源,以及基于所述第一任务的资源需求,从所述挂起的运行任务中顺序地释放资源。
[0006]根据第三方面,提供了一种执行在分布式数据处理系统中调度的任务的节点,其中,所述节点包括任务执行模块,用于:接收待执行的第一任务、所述第一任务的优先级指示和用于挂起运行任务的第一指令;挂起所述运行任务,并保存与所述运行任务相关联的任务资源;执行所述第一任务,并基于所述第一任务的资源需求,从所述挂起的运行任务中顺序地释放资源。在节点中提供资源管理模块,以基于所述资源需求监控资源可用性,并提供内存管理模块,以控制和存储与挂起任务相关联的任务资源的数据。
[0007]根据第四方面,提供了一种调度分布式数据处理系统中的任务的主设备,其中,所述主设备包括调度模块,用于从多个节点中确定用于执行第一任务的节点。所述主设备还包括发送模块,用于发送待执行的第一任务、所述第一任务的优先级指示和第一指令,所述第一指令包括用于以下操作的指令:挂起所述运行任务、保存与所述运行任务相关联的任
务资源,以及基于所述第一任务的资源需求,从所述挂起的运行任务中顺序地释放资源。
附图说明
[0008]该详细描述是参考附图进行描述的。在附图中,附图标记最左边的数字表示该附图标记首次出现的附图。所有附图使用相同的数字来指代相同特征和组件。
[0009]图1示出了本主题的示例提供的用于任务调度的分布式数据处理系统。
[0010]图2示出了本主题的示例提供的用于调度分布式数据处理系统中的任务的主设备的框图。
[0011]图3示出了本主题的示例提供的用于执行分布式数据处理系统中调度的任务的节点的框图。
[0012]图4示出了本主题的示例提供的等待挂起任务的示意图。
[0013]图5示出了本主题的示例提供的内存资源部分溢出的等待挂起任务的示意图。
[0014]图6示出了本主题的示例提供的数据检查点设置方法。
[0015]图7示出了本主题的示例提供的分布式数据处理系统中的任务调度方法。
[0016]图8示出了本主题的示例提供的由主设备实现的分布式数据处理系统中的任务调度方法。
[0017]图9示出了本主题的示例提供的由节点实现的分布式数据处理系统中的任务调度方法。
具体实施方式
[0018]传统上,已经具有实现用于分布式系统中(例如在处理大数据分析的系统中)的任务调度的几种技术。大数据系统在短时间内处理大量数据。由于大数据系统是数据密集型的,因此数据处理系统的主设备将待执行的任务分发到通过网络互连的不同从设备之间。分布式系统中的任务调度有助于提高系统的响应时间、资源利用率、可靠性和可扩展性。
[0019]在一种技术中,在Apache Spark、Map Reduce、Hive等分布式数据处理和查询系统中,为待执行的特定作业的用户预留资源,以确保快速响应。资源预留不允许作业之间共享资源,即使某些资源是免费的。无法共享资源导致资源浪费,从而影响系统的总体资源利用率。此外,当必须执行传入作业时,并且如果所需的资源被占用,则传入作业必须等待,直到为传入作业预留的资源变得空闲。
[0020]在另一种技术中,实现Fair和先进先出(first

in

first

out,FIFO)类型的任务调度,以公平分配资源。这些调度技术在任务调度进程期间在接收作业时起作用。但是,它们不能控制已经调度或正在运行的运行任务。因此,在必须执行新的高优先级任务的实例中,使高优先级任务等待运行任务完成。
[0021]在另一种技术中,任务调度进程允许通过抢占正在运行的低优先级任务来在接收时执行高优先级任务。这确保了高优先级作业/查询获得更好的资源份额,因为高优先级任务的调度频率更高,从而缩短了它们的响应时间。但是,这降低了低优先级长期运行作业(如数据加载作业或完整扫描作业)的性能,因为在此方法中,被抢占的任务必须重新启动。在低优先级任务正在执行并且其执行已完成95%的场景中,如果调度了高优先级任务,则低优先级任务仍被抢占并在高优先级任务完成后重新调度执行。被抢占的任务必须在恢复
时从一开始就开始执行任务。该方法增加了重新启动被抢占的任务所涉及的成本。此外,在被抢占的任务被调度重新启动后,可能会接收到另一个高优先级任务,并可能导致再次抢占任务。多次此类中断并在每次中断时重新启动任务会降低系统的效率和响应时间。
[0022]任务调度技术可以设计为Fair或FIFO等上述技术连同抢占的组合,增加了平衡系统的响应时间和资源利用率的复杂性。
[0023]本文公开的本主题涉及分布式系统(例如处理大数据的系统)中的任务调度方法。任务调度方法实现了挂起和恢复方法,其中,所述方法包括挂起长时间运行的低优先级任务,以调度高优先级任务先执行。此挂起和恢复任务进程是通过提供各种回退步骤来执行的,以便使恢复任务的成本最小。
[0024]本主题实现了一种资源顺序挂起的方法,其中,基于待执行的高优先级任务的资源需求和可用于执行高优先级任务的资源,可以从挂起任务中顺序地释放资源,以为高优先级任务的完全执行提供资源。此外,顺序地挂起资源方法与挂起和恢复方法一起实现,该挂起和恢复方法通过本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种在分布式数据处理系统中进行任务调度的方法,其特征在于,所述方法包括:节点(104)从主设备(102)接收待执行的第一任务、所述第一任务的优先级指示和用于挂起运行任务的第一指令;所述节点(104)挂起所述运行任务,并保存与所述运行任务相关联的任务资源;所述节点(104)执行所述第一任务,并基于正在执行的所述第一任务的资源需求,从所述挂起的运行任务中顺序地释放资源;所述节点(104)向所述主设备(102)发送关于所述第一任务完成的确认。2.根据权利要求1所述的方法,其特征在于,从所述挂起任务中顺序地释放资源,包括:所述节点(104)在第一实例中仅释放中央处理单元(central processing unit,CPU)资源,而不释放与所述挂起任务相关联的除所述CPU以外的资源(406)。3.根据权利要求2所述的方法,其特征在于,除所述CPU以外的所述资源包括与所述挂起任务相关联的数据(406)和打开句柄(404)。4.根据权利要求2所述的方法,其特征在于,从所述挂起任务中顺序地释放资源,包括:所述节点(104)确定在仅释放所述CPU之后,所述第一任务的所述资源需求是否增加;通过基于所述确定的资源需求将与所述挂起任务相关联的数据(406)溢出到磁盘(504),以增量方式释放与所述挂起任务相关联的内存(406)。5.根据权利要求4所述的方法,其特征在于,所述从所述挂起任务中顺序地释放资源,包括:确定在仅释放所述CPU并以增量方式释放与所述挂起任务相关联的所述内存(406)之后,所述第一任务的所述资源需求是否增加;确定数据检查点设置方法是否可实现;基于所述确定,挂起具有数据检查点设置的任务或抢占所述挂起任务。6.根据权利要求1所述的方法,其特征在于,所述方法包括:所述节点(104)响应于所述确认,从所述主设备(102)接收用于恢复所述挂起任务的第二指令;所述节点(104)从所述运行任务被挂起的状态恢复所述挂起任务。7.根据权利要求6所述的方法,其特征在于,恢复所述挂起任务包括将所述CPU资源重新分配给所述挂起进程,并检索与所述挂起任务相关联的数据。8.根据权利要求7所述的方法,其特征在于,所述方法包括如果对所述挂起任务执行了数据检查点设置,则从先前的检查点恢复所述挂起任务。9.根据权利要求1所述的方法,其特征在于,所述第一任务的所述优先级指示高于所述运行任务的优先级。10.一种包括指令的非瞬时性计算机可读介质,其特征在于,所述指令当被处理器执行时,使所述处理器执行根据权利要求1至9中任一项所述的方法。11.一种在分布式数据处理系统中执行任务的节点(104),其特征在于,所述节点(104)包括:处理器(300);任务执行模块(302),可由所述处理器(300)执行,以:从主设备(102)接收待执行的第一任务、所述第一任务的优先级指示和用于挂起运行
任务的第一指令;挂起所述运行任务,并保存与所述运行任务相关联的任务资源;执行所述第一任务,并向所述主设备(102)发送关于所述第一任务完成的确认;资源管理模块(304),可由所述处理器(300)执行,以:监控所述节点(104)处的资源可用性和正在执行的所述第一任务的资源需求;基于所述第一任务的所述资源需求,从所述挂起的运行任务中顺序地释放资源。12.根据权利要求11所述的节点(104),其特征在于,所述资源管理模块(304)在第一实例中仅释放CPU资源,而不释放与所述挂起任务相关联的除所述CPU以外的资源(406)。13.根据权利要求12所述的节点(104),其特征在于,除所述CPU以外的所述资源包括与所述挂起任务相关联的内存(406)和打开句柄。14.根据权利要求102所述的节点(104),其特征在于,所述资源管理模块(...

【专利技术属性】
技术研发人员:文卡塔
申请(专利权)人:华为云计算技术有限公司
类型:发明
国别省市:

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

1