用于高度并行作业的回填调度方法和系统的制作方法_3

文档序号:8412388阅读:来源:国知局
两个或更多个节点,这样例如两个资源的子任务可填充具有2节点"宽度"的回填 窗口。
[0047] 处理进行到步骤S270,在此子任务模块320通过将EP作业拆分为子任务而创建 子任务。在该实施例中,子任务是互相独立的,即:(i)哪个子任务先被执行并不要紧;(ii) 如果子任务是以非连续方式被执行,也不要紧;(iii)如果子任务在多个节点上被执行,也 不要紧。或者,EP作业的子任务可包括优先权子任务,其必须在同一个EP作业的其他子任 务之前被执行。或者,EP作业的子任务可能不可用于在各个节点上的并行执行。
[0048] 由子任务模块320创建的每个子任务包括一个启动点和一个完成点,其可被用来 填充指定长度和/或宽度的单个回填窗口。以这种方式,每个子任务可与来自相同EP作业 的其他子任务分离地在给定的节点集上或资源上执行。
[0049] 在该实施例中,子任务模块320根据用户提供的关于EP作业的信息,将EP作业拆 分为子任务。因此,步骤S270可在步骤S265之前被执行,其中EP作业仅被拆分为最小可 能的子任务。或者,子任务模块将EP作业拆分为具有与确定的回填窗口长度对应的长度的 子任务。该可替换实施例允许回填窗口特性影响子任务长度,且因此在其中回填窗口被确 定的步骤S265之后被执行。
[0050] 处理进行到步骤S275,其中修改的调度模块325创建修改的调度,其基于由子任 务模块320创建的EP作业子任务利用合适大小的EP作业段填充步骤S265确定的回填窗 口。取决于回填窗口的长度(以及也可能取决于宽度),合适大小的段可以是子任务集的组 合或单个子任务。在该实施例中,合适大小的段仅包括一个启动点和一个完成点。或者,各 个子任务保持独立,尽管被分组在一起;即,每个子任务维持一个启动点和一个完成点。
[0051] IIL未来的评价和/或实施例
[0052] 本发明的一些实施例意识到高度并行(EP)作业被用在几乎所有的学科领域中, 且包括例如如下作业:(i)分布式集处理,其是处理分布式关系数据库查询的方法;(ii)在 web服务器上提供动态文件;(iii)芒德布罗(Mandelbrot)集和具有独立计算点的其他 分形计算;(iv)计算机图形学(例如光线跟踪)/并行渲染,特别是用于大数据集可视化; (V)密码术(特别是蛮力搜索);(vi)生物信息学里的基本局部比对搜索工具(BLAST)搜 索;(vii)人脸识别;(viii)多参数模拟(例如,用于气候模型的蒙特卡罗模拟、分子动力 学等);(ix)遗传算法;(X)用于数值天气预报的总体计算;(xi)粒子物理学中的事件模拟 和重建;(xii)二次(quadratic)和数域筛(number field sieve)中的筛选步骤;(xiii) 随机森林机器学习技术的树木生长步骤;(xiv)比特币挖掘;(XV)分析学(例如,使用 MapReduce的建模和查询处理);以及/或(xvi)产品模拟(越来越多地用在技术计算领域 来模拟产品设计)。
[0053] 尽管上述许多例子具有实时的意义,例如,渲染、文件服务、芒德布罗集计算和计 算机图形学,许多重要的应用可发生在批处理设置中,诸如密码术、BLAST搜索、多参数模 拟、用于天气预报的总体计算、粒子物理学中的事件仿真和重建、分析学和/或产品模拟。
[0054] 图4是示出作业队列400的图,其中7个作业401、402、403、404、405、406和407 位于作业队列中,根据先来先服务(FCFS)服务策略,等待着根据其到达时间被执行。作业 的优先级是按照其到达时间。作业406是高度并行的(EP)。
[0055] 图5是示出用于两节点集群(节点1和节点2)上的作业401、402、403、404、405、 406和407的执行顺序500的图,其中EP作业406作为单个不可分解的作业处理。作业401 和402当前正在运行。作业403是最高作业,资源为其被保留。只有作业404被调度在作 业403开始执行之前执行。根据基于FCFS的回填算法,作业404使用一些可用的资源,直 到作业403开始。该资源一时间可用性被称为"回填窗口"。资源时间可用性在此被称为 "空时间隙",因为更大量的硬件资源对应于更大空间要求。一旦作业403完成,作业405和 406开始执行。作业407保持在队列中,直到作业405和406都完成执行,因为作业407需 要被作业405和406都用到的资源。以下表1展示了基于执行顺序500的性能指标。
[0056]
【主权项】
1. 一种方法,包括: 接收作业的初始调度,其包括随时间在多个节点上调度的多个作业; 确定来自所述多个作业的第一作业可被拆分为可在不同节点上被分别并行执行的多 个子任务; 将第一作业拆分为多个子任务;以及 将第一子任务从其在初始调度中的位置移动到新位置以生成第一修改的调度。
2. 如权利要求1所述的方法,还包括: 接收用于第一作业的作业信息,包括以下各项中的一个:最小顺序作业长度、运行最小 顺序作业长度所要求的时间、或执行最小顺序作业长度所要求的资源数量;且 其中所述拆分动作是基于所述作业信息。
3. 如权利要求1所述的方法,还包括: 确定具有第一长度的回填窗口;以及 响应于确定回填窗口,将具有第二长度的一组多个子任务从初始调度中的位置移动到 回填窗口,以生成修改的调度; 其中: 所述第二长度小于或等于所述第一长度。
4. 如权利要求1所述的方法,还包括: 将所述多个子任务中的两个或更多个子任务合并为具有一个启动点和一个结束点的 一个更长的子任务。
5. 如权利要求1所述的方法,其中所述多个子任务长度相同。
6. 如权利要求1所述的方法,还包括: 将第二子任务从其在初始调度中的位置移动到与所述第一子任务的新位置不连续的 位置,以生成第二修改的调度。
7. -种计算机系统,包括: 处理器集;以及 软件存储装置; 其中: 所述处理器集被构造、定位、连接和/或编程以运行在软件存储装置上存储的软件;且 所述软件包括: 第一程序指令,其被编程为接收作业的初始调度,其包括随时间在多个节点上的调度 的多个作业; 第二程序指令,其被编程为确定来自所述多个作业的第一作业可被拆分为可在不同节 点上被分别并行执行的多个子任务; 第三程序指令,其被编程为将第一作业拆分为多个子任务;以及 第四编程指令,其被编程为将第一子任务从其在初始调度的位置移动到新位置以生成 第一修改的调度。
8. 如权利要求7所述的计算机系统,还包括: 第五编程指令,其被编程为接收用于第一作业的作业信息,包括以下各项中的一个:最 小顺序作业长度、运行最小顺序作业长度所要求的时间、或执行最小顺序作业长度所要求 的资源数量;且 其中所述拆分动作是基于所述作业信息。
9. 如权利要求7所述的计算机系统,还包括: 第五程序指令,其被编程为确定具有第一长度的回填窗口;以及 第六程序指令,其被编程为响应于确定回填窗口,将具有第二长度的一组多个子任务 从初始调度中的位置移动到回填窗口,以生成修改的调度; 其中: 所述第二长度小于或等于所述第一长度。
10. 如权利要求7所述的计算机系统,还包括: 第五程序指令,其被编程为将所述多个子任务中的两个或更多个子任务合并为具有一 个启动点和一个结束点的一个更长的子任务。
11. 如权利要求7所述的计算机上系统,其中所述多个子任务长度相同。
12. 如权利要求7所述的系统,还包括: 第五程序指令,其被编程为将第二子任务从其在初始调度中的位置移动到与所述第一 子任务的新位置不连续的位置,以生成第二修改的调度。
【专利摘要】用于高度并行作业的回填调度。公开的方法包括:接收初始调度,其包括随时间在多个节点调度上的多个作业;确定第一作业可被拆分为可在不同的节点上被分别并行执行的多个子任务;将第一作业拆分为多个子任务,并将第一子任务从其在初始调度的位置移动到新位置以生成第一修改的调度。
【IPC分类】G06F9-50, G06F9-46
【公开号】CN104731642
【申请号】CN201410681942
【发明人】M·穆达尼, G·M·普拉巴卡尔, R·R·休尔
【申请人】国际商业机器公司
【公开日】2015年6月24日
【申请日】2014年11月24日
【公告号】US20150178124, US20150178126
当前第3页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1