《用于调度工作流作业的设备和方法.pdf》由会员分享,可在线阅读,更多相关《用于调度工作流作业的设备和方法.pdf(14页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 103995735 A (43)申请公布日 2014.08.20 C N 1 0 3 9 9 5 7 3 5 A (21)申请号 201310249906.2 (22)申请日 2013.06.21 10-2013-0015841 2013.02.14 KR G06F 9/46(2006.01) G06F 9/50(2006.01) (71)申请人韩国电子通信研究院 地址韩国大田市 (72)发明人安信荣 裵承朝 (74)专利代理机构北京市柳沈律师事务所 11105 代理人李芳华 (54) 发明名称 用于调度工作流作业的设备和方法 (57) 摘要 提供了工作流作业调度设备。
2、及其方法。该方 法包括:当定义用户工作流时,作为最终结果指 定每一作业的输出文件是否是必要的,收集构成 该用户工作流的个别应用的资源使用信息,如果 连续作业是I/O密集作业,则指定数据地点依赖 性参数,使得在其中运行连续作业之中的前一作 业的节点处运行连续作业之中的后一作业,并基 于对于计算系统的所有资源收集的实时工作负荷 信息,来调度要依次运行的对于同一计算节点具 有数据地点依赖性的一组作业。 (30)优先权数据 (51)Int.Cl. 权利要求书2页 说明书7页 附图4页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书2页 说明书7页 附图4页 (10)申请公布号 。
3、CN 103995735 A CN 103995735 A 1/2页 2 1.一种工作流作业调度设备,包括: 工作流用户接口单元,被配置为提供用于用户工作流的接口; 工作流引擎单元,被配置为使用个别应用的资源使用信息来将用户工作流变换为运行 工作流,执行该运行工作流,并生成调度指令; 资源管理单元,被配置为收集和管理用于计算系统的所有资源的实时工作负荷信息; 作业调度单元,被配置为基于该实时工作负荷信息并根据该调度指令,来调度要依次 运行的对同一计算节点具有数据地点依赖性的一组作业; 计算资源作业管理单元,位于个别计算节点处,并被配置为当该作业调度单元请求作 业的运行时,在所分配的节点处运行作。
4、业; 计算节点监视单元,被配置为当在个别计算资源处正运行作业时,监视个别计算资源 的负荷信息,并将该负荷信息提供到该资源管理单元; 全局文件系统资源监视单元,被配置为测量全局文件系统的使用比率和总输入/输出 (I/O)带宽,并将测量信息提供到该资源管理单元;和 应用资源使用管理单元,被配置为基于来自该全局文件系统资源监视单元的测量信息 和来自该计算节点监视单元的负荷信息,来生成个别应用的资源使用信息。 2.根据权利要求1的工作流作业调度设备,其中该接口包括图形用户接口(GUI)或网 络接口。 3.根据权利要求1的工作流作业调度设备,进一步包括工作流管理单元,被配置为提 供存储、改变、删除、和检。
5、查该用户工作流的功能。 4.根据权利要求3的工作流作业调度设备,其中该用户工作流是不在计算资源处运行 的抽象级别的工作流。 5.根据权利要求1的工作流作业调度设备,其中,当将该用户工作流变换为运行工作 流时,该工作流引擎单元被配置为将该用户工作流的作业的顺序变换为当提交作业时需要 的数据地点依赖性参数,并将所述个别应用的资源使用信息变换为当提交作业时需要的资 源使用要求参数。 6.根据权利要求5的工作流作业调度设备,其中该工作流引擎单元被配置为生成包括 该数据地点依赖性参数和该资源使用要求参数的作业运行请求信息,并将该作业运行请求 信息提供到该作业调度单元。 7.根据权利要求1的工作流作业调度。
6、设备,其中该工作流引擎单元被配置为提供存 储、删除、和检查计算资源的运行结果的功能。 8.根据权利要求1的工作流作业调度设备,其中该实时工作负荷信息包括关于计算系 统的资源的配置信息、关于负荷以及是否向作业分配个别节点的资源的信息、全局文件系 统的负荷、和I/O带宽使用。 9.根据权利要求8的工作流作业调度设备,其中该资源包括计算节点、全局文件系统 节点、管理网络开关、计算网络开关、和网络架构。 10.根据权利要求1的工作流作业调度设备,其中该作业调度单元被配置为根据作业 的优先级以及是否存在可用资源,来向计算资源分配当前作业队列上未决的作业,并运行 所述作业。 11.根据权利要求10的工作流。
7、作业调度设备,其中是否存在可用资源包括实时I/O带 权 利 要 求 书CN 103995735 A 2/2页 3 宽可用性。 12.根据权利要求1的工作流作业调度设备,其中该计算资源的负荷信息包括CPU使用 比率、存储器使用比率、盘I/O带宽使用、盘使用比率、网络I/O使用、和网络I/O使用比率 中的至少一个。 13.根据权利要求12的工作流作业调度设备,其中该计算资源监视单元被配置为监视 该负荷信息,并周期性地或者在完成作业之后将该负荷信息提供到该资源管理单元或该应 用资源使用管理单元。 14.根据权利要求1的工作流作业调度设备,其中当运行该用户工作流时,自动收集并 生成所述个别应用的资源使。
8、用信息。 15.根据权利要求1的工作流作业调度设备,其中通过作业管理器的监视,经由手动输 入,生成所述个别应用的资源使用信息。 16.一种工作流作业调度方法,包括: 当定义用户工作流时,作为最终结果指定每一作业的输出文件是否是必要的; 收集构成该用户工作流的个别应用的资源使用信息; 如果连续作业是I/O密集作业,则指定数据地点依赖性参数,使得在其中运行连续作 业之中的前一作业的节点处运行连续作业之中的后一作业;和 基于对于计算系统的所有资源收集的实时工作负荷信息,来调度要依次运行的对同一 计算节点具有数据地点依赖性的一组作业。 17.根据权利要求16的工作流作业调度方法,其中该前一作业在其中运。
9、行前一作业的 节点的本地盘处存储临时文件,并且该后一作业命令I/O目录地点从其中运行后一作业的 节点的本地盘读取前一作业所存储的临时文件。 18.根据权利要求16的工作流作业调度方法,其中该调度步骤包括: 选择作业队列上的作业; 检查所选作业的全局文件系统的I/O带宽要求是否满足该全局文件系统能提供的可 用I/O带宽; 当满足该I/O带宽需求时,选择满足所选择的作业所需要的资源使用的计算节点;和 在所选择的计算节点处运行所选择的作业。 19.根据权利要求18的工作流作业调度方法,其中根据预定优先级控制标准来执行所 述作业的选择。 20.根据权利要求18的工作流作业调度方法,其中所述需求包括第一。
10、和第二需求, 其中该第一需求是当前全局文件系统的使用相对小于最大全局文件系统的稳定化使 用,而该第二需求是当前全局文件系统的I/O使用和所选择的作业的全局文件系统的I/O 要求之和相对小于全局文件系统的最大实际I/O带宽。 权 利 要 求 书CN 103995735 A 1/7页 4 用于调度工作流作业的设备和方法 0001 (多个)相关申请 0002 本申请要求2013年2月14日提交的韩国专利申请第10-2013-0015841号的权益, 由此通过引用对其进行合并,如同全部在这里阐明一样。 技术领域 0003 本发明涉及调度工作流作业的技术,并更具体地,涉及能够通过在高性能计算系 统中自动。
11、运行大规模并行分布作业来获得结果的、适于实现资源管理和作业调度的、用于 调度工作流作业的设备和方法。 背景技术 0004 如公知的,在诸如超级计算机、高性能簇、网格系统、和网络服务的各种计算资源 环境下,已利用了用于代替人处理大量数据的科学计算操作、工作流管理系统、资源管理系 统、和工作调度器,由此一次全部(in a lump)运行在各阶段作业之间具有依赖性的复杂的 作业。 0005 工作流管理系统是这样的软件系统,其通过用户友好的界面(UI:用户界面)组成 (compose)其中作业序列彼此具有关系的工作流,符合(in line with)包括高性能计算机、 网络服务、和网格的各种计算资源来。
12、运行工作流,并报告运行结果。传统工作流管理系统包 括Taverna、Galaxy和Kepler。 0006 资源管理系统是用于簇或高性能计算机的、运行作业的批处理和计算资源的管理 的软件系统。例如,资源管理系统包括具有OpenPBS、TORQEU和PBS pro的一系列便携批系 统(PBS),并进一步包括SLURM和Oracle网格引擎(Oracle Grid Engine)。资源管理系统 通常使用具有先来先服务(FCFS)方案的作业调度。 0007 工作调度器通常被用来与资源管理系统相连。工作调度器是这样的软件系统,其 在基于比较期望资源的数量、作业的优先级、是否存在可用资源、以及可用资源的。
13、类型的结 果而动态改变运行顺序的同时,运行工作队列上的作业。传统工作调度器包括Maui、ALPS、 LSF和Moab。 发明内容 0008 如公知的,在包括基因组(genome)序列分析的大多数科学应用的情况下,通过对 预先开发的应用程序进行汇编来获得期望结果。工作流或管线是基于基于时间的顺序的依 赖性和数据依赖性、而进行具有所述依赖性的应用程序(作业)的顺序或流。该工作流可包 括各种尺寸,诸如包括一个或两个应用的简单类型、以及包括几十或几百应用的类型。 0009 为了通过将工作流映射到正确计算资源来有效获得结果,需要关于构成工作流的 作业所必需的计算资源的精确信息。然而,除了应用的开发者之外。
14、的其他人难以知道关于 实际运行作业的应用程序对资源的使用的信息。资源的使用信息包括应用程序必需的CPU 的数目、存储容量、盘容量、和网络带宽。用于从源代码获得资源使用配置文件的分析工具 说 明 书CN 103995735 A 2/7页 5 的开发也稍微(rather)下降(depress)。 0010 在现有技术中,引入了用于运行具有样本文件的测试作业并然后分析该作业、或 者存储运行先前作业的结果作为作业配置文件并然后当调度下一作业时利用存储的结果 的方法。另外,还引入了CPU资源和存储器资源的隔离功能,使得对于需要大量计算的作业 或使用很多存储器的作业,使用隔离功能来分配需要数目的CPU内核。
15、和存储器,以运行该 作业。结果,因为隔离了资源使用,所以每一作业不影响另一作业。 0011 然而,不对于输入和输出提供资源隔离。例如,不向全局文件系统(GFS)和用作高 性能计算网络的无穷大频带(infiniband)提供用于输入/输出(I/O)带宽的隔离功能。所 以,如果具有不同特性的多个应用同时运行并共享输入/输出(I/O)资源,则不可能实现具 有期望级别的CPU使用效率。特别是,在其中同时运行许多输入和输出的I/O密集应用的 情况下,等待输入/输出的时间变得非常长,并由此CPU使用效率可在CPU密集作业中严重 恶化。 0012 为了解决可在运行包括I/O密集作业的工作流时发生的资源使用的。
16、问题,本发明 提供了以下方法,用于在调度中反映个别应用的实时工作负荷信息和资源使用信息两者, 以便防止I/O密集作业使得高性能计算系统的操作效率恶化。 0013 根据本发明的一个方面,提供了一种工作流作业调度设备,包括:工作流用户接口 单元,被配置为提供用于用户工作流的接口;工作流引擎单元,被配置为使用个别应用的资 源使用信息来将用户工作流变换为运行工作流,执行该运行工作流,并生成调度指令;资源 管理单元,被配置为收集和管理用于计算系统的所有资源的实时工作负荷信息;作业调度 单元,被配置为基于该实时工作负荷信息并根据该调度指令,来调度要依次运行的对同一 计算节点具有数据地点依赖性的一组作业;计。
17、算资源作业管理单元,位于个别计算节点处, 并被配置为当该作业调度单元请求作业的运行时,在所分配的节点处运行作业;计算节点 监视单元,被配置为当在个别计算资源处正运行作业时,监视个别计算资源的负荷信息,并 将该负荷信息提供到该资源管理单元;全局文件系统资源监视单元,被配置为测量全局文 件系统的使用比率和总输入/输出(I/O)带宽,并将测量信息提供到该资源管理单元;和应 用资源使用管理单元,被配置为基于来自该全局文件系统资源监视单元的测量信息和来自 该计算节点监视单元的负荷信息,来生成个别应用的资源使用信息。 0014 该接口可包括图形用户接口(GUI)或网络接口。 0015 工作流管理单元可提供。
18、存储、改变、删除、和检查该用户工作流的功能。 0016 该用户工作流可以是不在计算资源处运行的抽象级别的工作流。 0017 当将该用户工作流变换为运行工作流时,该工作流引擎单元可将该用户工作流的 作业的顺序变换为当提交作业时需要的数据地点依赖性参数,并将所述个别应用的资源使 用信息变换为当提交作业时需要的资源使用要求参数。 0018 该工作流引擎单元可生成包括该数据地点依赖性参数和该资源使用要求参数的 作业运行请求信息,并将该作业运行请求信息提供到该作业调度单元。 0019 该工作流引擎单元可提供存储、删除、和检查计算资源的运行结果的功能。 0020 该实时工作负荷信息可包括关于计算系统的资源。
19、的配置信息、关于负荷以及是否 向作业分配个别节点的资源的信息、全局文件系统的负荷、和I/O带宽使用。 0021 该资源可包括计算节点、全局文件系统节点、管理网络开关、计算网络开关、和网 说 明 书CN 103995735 A 3/7页 6 络架构。 0022 该作业调度单元可根据作业的优先级以及是否存在可用资源,来向计算资源分配 当前作业队列上未决的作业,并运行所述作业。 0023 是否存在可用资源包括可实时I/O带宽可用性。 0024 该计算资源的负荷信息可包括CPU使用比率、存储器使用比率、盘I/O带宽使用、 盘使用比率、网络I/O使用、和网络I/O使用比率中的至少一个。 0025 该计算。
20、资源监视单元可监视该负荷信息,并周期性地或者在完成作业之后将该负 荷信息提供到该资源管理单元或该应用资源使用管理单元。 0026 当运行该用户工作流时,可自动收集并生成所述个别应用的资源使用信息。 0027 通过作业管理器的监视,经由手动输入,可生成所述个别应用的资源使用信息。 0028 根据本发明的另一方面,提供了一种工作流作业调度方法,包括:当定义用户工作 流时,作为最终结果指定每一作业的输出文件是否是必要的;收集构成该用户工作流的个 别应用的资源使用信息;如果连续作业是I/O密集作业,则指定数据地点依赖性参数,使得 在其中运行连续作业之中的前一作业的节点处运行连续作业之中的后一作业;和基。
21、于对于 计算系统的所有资源收集的实时工作负荷信息,来调度要依次运行的对同一计算节点具有 数据地点依赖性的一组作业。 0029 该前一作业可在其中运行前一作业的节点的本地盘处存储临时(interim)文件, 并且该后一作业命令I/O目录地点从其中运行后一作业的节点的本地盘读取前一作业所 存储的临时文件。 0030 该调度步骤可包括:选择作业队列上的作业;检查所选作业的全局文件系统的I/ O带宽要求是否满足该全局文件系统能提供的可用I/O带宽;当满足该I/O带宽需求时,选 择满足所选择的作业所需要的资源使用的计算节点;和在所选择的计算节点处运行所选择 的作业。 0031 可根据预定优先级控制标准来。
22、执行所述作业的选择。 0032 所述需求可包括第一和第二需求。该第一需求是当前全局文件系统的使用相对小 于最大全局文件系统的稳定化使用,而该第二需求是当前全局文件系统的I/O使用和所选 择的作业的全局文件系统的I/O要求之和相对小于全局文件系统的最大实际I/O带宽。 0033 根据本发明的实施例,当在高性能计算机或簇中运行包括I/O密集作业的工作流 时,可能通过利用在作业调度中反馈的全局文件系统和计算节点的实时输入/输出带宽信 息,来防止计算资源的使用效率由于输入/输出而显著恶化。结果,可能使得计算资源的使 用最大化,并由此降低工作流的运行时间,并迅速获得结果。另外,根据本发明的实施例,即 使。
23、一般用户不具有关于计算资源的深厚知识并且不知道如何使用系统,用户也能最佳地运 行其工作流。 附图说明 0034 通过结合附图给出的实施例的以下描述,本发明的以上和其他目的和特征将变得 明显,其中: 0035 图1图示了包括通过文件输入/输出彼此连接的作业的工作流; 0036 图2示出了典型高性能计算机系统的配置; 说 明 书CN 103995735 A 4/7页 7 0037 图3图示了根据本发明实施例的工作流作业调度设备的框图; 0038 图4图示了在包括I/O密集作业的工作流中、在本地盘和全局文件系统之间分布 输入和输出的方法;和 0039 图5是示出了用于I/O密集作业的作业调度单元的调。
24、度的流程图。 具体实施方式 0040 在本发明的以下描述中,如果已知结构和操作的详细描述可使得本发明的主题模 糊,则将省略其详细描述。以下术语是通过考虑本发明的实施例中的功能而定义的术语,并 且可改变运算符(operator)意欲用于本发明和实践。由此,应贯穿本发明的说明书定义这 些术语。 0041 其后,将参考附图来详细描述本发明的实施例,使得本领域技术人员可容易地实 现这些实施例。 0042 首先,本发明针对包括其中存在相对大量的输入和输出的作业(即I/O密集作业) 的工作流的作业调度方法。为此目的,本发明调度方法可包括以下方案,实时监视输入/输 出带宽、以及通过预先分析在运行工作流上的作。
25、业时使用的计算资源的数量而获得的预先 分析的信息,并在作业调度上连续反映所监视的结果。 0043 图1图示了包括通过文件输入/输出彼此连接的作业的工作流。图1示出了工作 流(或管线)类型,其中将作为某一作业的结果存储的文件提供为下一作业的输入,使得运 行下一作业。 0044 这里,工作流的输入数据按照文件形式存储,或者作为标准输入输入到作业。每一 阶段的作业可具有各种应用特性,并且是计算密集作业、存储密集作业或I/O密集作业。计 算密集作业代表具有大量计算工作的作业,而存储密集作业代表使用大量存储器的作业。 0045 图2示出了典型高性能计算机系统(或超级计算机)的配置,其包括多个服务节 点2。
26、021到2023、管理网络开关204、多个计算节点2061到2064、计算网络开 关208、多个全局文件系统服务器节点2101到2103、以及多个储存节点2121到 2123。这里,所述多个服务节点2021到2023包括比所述多个计算节点2061 到2064更少的节点。 0046 参考图2,所述多个服务节点2021到2023中的每一个包括登入节点,一般 用户通过其登入并提交作业;以及管理节点,用于操作执行诸如簇管理、资源管理、工作流 管理等的管理功能的各种服务器。 0047 这里,所述多个服务节点2021到2023中的每一个、所述多个计算节点 2061到2064中的每一个、以及所述多个全局文件。
27、系统服务器节点2101到210 3中的每一个通过计算网络开关208和管理网络开关204而彼此双双耦接。管理网络开关 204按照比计算网络开关208相对较低的速度操作。 0048 计算节点2061到2064中的每一个可以包括或者可以不包括本地盘。大多 数计算作业按照读出全局文件系统中存储的输入文件、执行必要计算操作、以及在全局文 件系统中重新存储该计算操作的结果的方式运行。 0049 所以,如果I/O密集作业所使用的总I/O带宽超出全局文件系统所提供的带宽,则 根据现有技术影响高性能计算系统的所有作业。本发明提供了能够解决这些问题的方案。 说 明 书CN 103995735 A 5/7页 8 0。
28、050 图3图示了根据本发明实施例的工作流作业调度设备的框图,其包括工作流用户 接口单元302、工作流管理单元304、工作流引擎单元306、资源管理单元308、作业调度单元 310、计算资源作业管理单元312、计算资源监视单元314、全局文件系统资源监视单元316、 和应用资源使用管理单元318。 0051 参考图3,工作流用户接口单元302通过图形用户界面(GUI)或网络界面来运行能 够容易地定义、执行和分析用户所需工作流的用户接口。 0052 工作流管理单元304提供存储、改变、删除和检查该用户接口所指定(或选择)的用 户工作流的功能。这里,用户工作流是抽象级别的工作流,其可直接应用到计算。
29、资源。将用 户工作流变换为可依次运行的特定运行工作流。 0053 工作流引擎单元306将使用个别应用的资源使用信息建立的用户工作流变换为 运行工作流,通过计算资源来运行该运行工作流,并基于运行结果来生成调度指令。从应用 资源使用管理单元318提供个别应用的资源使用信息。这里,工作流引擎单元306可存储、 删除和检查通过计算资源的运行而获得的结果。 0054 另外,当将用户工作流变换为运行工作流时,工作流引擎单元306将用户工作流 的作业的顺序变换为当提交作业时所需的数据地点依赖性参数,并将个别应用的资源使用 信息变换为当提交作业时所需的资源使用要求参数。工作流引擎单元306生成包括该数据 地点。
30、依赖性参数和该资源使用要求参数的作业运行请求信息,并将该作业运行请求信息传 递到作业调度单元310。 0055 资源管理单元308收集并管理关于计算系统的总资源的实时工作负荷信息,例如 包括关于计算系统的总资源的配置信息、关于负荷(使用)以及是否向每一节点分配资源的 信息、以及全局文件系统的输入/输出带宽使用和负荷的实时工作负荷信息。总资源包括 计算节点、全局文件系统节点、管理网络开关、计算网络开关、网络架构等。这里,将实时工 作负荷信息传递到作业调度单元310。 0056 当从工作流引擎单元306传送调度指令时,作业调度单元310基于从资源管理单 元308传递的实时工作负荷信息,来调度要依次。
31、运行的组中的作业,该组中的作业具有对 于同一计算节点的数据地点依赖性。即,作业调度单元310根据它们的优先级以及是否存 在可用资源,而向计算资源分配在当前作业队列上未决的作业,并运行这些作业。这里,是 否存在可用资源可包括实时输入/输出带宽可用性。 0057 例如,作业调度单元310根据预定优先级控制标准来选择作业队列上的作业,并 检查所选作业的全局文件系统的输入/输出带宽要求是否满足该全局文件系统能够提供 的需求。如果满足该需求,则作业调度单元310执行调度以选择满足所选作业必需的资源 使用的计算节点,并运行所选作业。这里,该需求可包括当前全局文件系统的使用应相对小 于最大全局文件系统的稳定。
32、化使用、以及当前全局文件系统的I/O使用与所选作业的全局 文件系统的I/O要求之和应相对小于文件系统的最大实际I/O带宽的条件。 0058 计算资源作业管理单元312位于个别计算节点处,当从作业调度单元310接收运 行作业的请求时,在分配的节点处运行作业,监视运行的作业,并报告作业运行的结果。 0059 计算资源作业监视单元314监视当在计算资源处运行作业时的个别节点的计算 资源的负荷信息,并周期性地或者在完成所选作业之后,向资源管理单元308或应用资源 使用管理单元318报告该负荷信息。该负荷信息包括CPU使用比率、存储器使用比率、盘I/ 说 明 书CN 103995735 A 6/7页 9。
33、 O带宽使用、盘使用比率、网络的I/O使用和使用比率等。 0060 这里,通过计算资源监视单元314监视的资源使用配置文件性能度量可包括CPU 使用比率(峰值、均值)、存储器使用(峰值、均值)、盘使用比率和I/O带宽使用(峰值、均值)、 网络使用比率和I/O带宽使用(峰值、均值)等。 0061 全局文件系统资源监视单元316周期性地测量全局文件系统的总I/O带宽和使用 比率,并将测量的带宽和使用比率传递到资源管理单元308。 0062 应用资源使用管理单元318基于从计算资源监视单元315传递的负荷信息和从全 局文件系统资源监视单元316传递的测量信息,来生成个别应用的资源使用信息,并将资 源。
34、使用信息传递到工作流引擎单元306。这里,当运行用户工作流时,可自动收集或生成个 别应用的资源使用信息,或者作业管理器可通过监视资源使用来手动输入个别应用的资源 使用信息。 0063 图4图示了在包括I/O密集作业的工作流中、在本地盘和全局文件系统之间分布 输入和输出的方法。 0064 参考图4,I/O密集作业消耗相对大的输入/输出带宽。由此,需要许多成本来设 立提供非常大的全局带宽的全局文件系统。所以,当有效使用相对便宜的本地盘时,可降低 全局输入/输出带宽,使得可能设立并操作成本有效的系统。 0065 例如,如图4中所示,假设工作流的作业(作业1、作业2、和作业3)的全部或一部 分是I/O。
35、密集作业,则应一次运行作业1、作业2、和作业3。从全局文件系统传递作业1的 输入。提供作业1的输出(临时文件1)作为作业2的输入。提供作业2的输出(临时文件 2)作为作业3的输入。将作业3的最终输出存储在全局文件系统中。 0066 如图4中所示,临时文件可被暂时存储在本地盘而不是全局文件系统中。在该情 况下,通过有效使用计算节点的本地文件系统,可能省略在全局文件系统中再次写入临时 文件1和2以及从全局文件系统再次读取临时文件1和2的作业。为此目的,将作业2和 作业3调度为在其中运行作业1的计算节点处运行。 0067 即,在根据现有技术的作业调度器中,仅将作业顺序指定为依赖性参数。然而,在 根据。
36、本发明实施例的方法中,通过指定除了作业顺序之外的数据地点并调度作业,可能将 全局文件系统的输入/输出限制为本地盘的输入/输出。为此目的,本发明提供了以下处 理1)到4)。 0068 1)当通过工作流用户接口单元定义工作流时,用户作为最终结果指定每一作业的 输出文件是否是必需的。 0069 2)应用资源使用管理单元收集和提供构成该工作流的应用的资源使用信息。 0070 3)如果连续作业是I/O密集作业,则工作流引擎单元指定数据地点依赖性参数, 使得在其中运行前一作业的节点处运行该前一作业之后的后一作业。而且,前一作业在其 中运行前一作业的计算节点的本地盘(而不是全局文件系统)处存储临时文件。后一。
37、作业命 令输入/输出目录地点从其中运行后一作业的节点的本地盘中读出前一作业所存储的临 时文件。该处理是指定数据地点依赖性以及前一作业和后一作业之间的顺序依赖性,并且 命令删除用户指定为不必要文件的临时文件,或者在完成作业之后将临时文件拷贝到全局 文件系统上。 0071 4)作业调度单元根据来自工作流引擎单元的调度指令,来调度要依次运行的对于 说 明 书CN 103995735 A 7/7页 10 同一计算节点具有数据地点依赖性的一组作业。 0072 图5是示出了用于I/O密集作业的作业调度单元的调度的流程图。 0073 参考图5,在步骤502根据预定优先级控制标准来选择作业队列上的作业。 00。
38、74 在步骤504,检查所选作业的全局文件系统的I/O带宽要求是否满足全局文件系 统可提供的需求。即,检查满足第一和第二需求。第一需求是当前全局文件系统的使用应 相对小于最大全局文件系统的稳定化使用。第二需求是当前全局文件系统的I/O使用和所 选作业的全局文件系统的I/O要求之和应相对小于全局文件系统的最大实际I/O带宽。 0075 作为步骤504的检查处理的结果,如果确定不满足第一和第二需求中的至少一 个,则过程进行到步骤502以便选择另一作业。可通过整体系统操作来补偿全局文件系统 的稳定化使用。 0076 作为步骤504的检查处理的结果,如果确定满足第一和第二需求两者,则在步骤 506,作。
39、业调度单元在计算节点之中选择满足所选节点需要的本地盘、存储器、和CPU内核 数目的I/O带宽要求的计算节点,甚至在允许所选作业所需要的带宽之后、可能稳定操作 全局文件系统。这时,所选作业可以不使用本地盘,或者如图4所示使用本地盘来存储临时 文件的作业可以需要本地盘带宽。这里,如果计算节点不具有本地盘,则可省略检查本地盘 的I/O带宽要求的处理。 0077 此后,在步骤508,作业调度单元调度要在所选节点处运行的所选作业。 0078 尽管已针对优选实施例示出和描述了本发明,但是本发明不限于此。本领域技术 人员将理解的是,可进行各种改变和修改,而不脱离以下权利要求中限定的本发明的范围。 说 明 书CN 103995735 A 10 1/4页 11 图1 说 明 书 附 图CN 103995735 A 11 2/4页 12 图2 说 明 书 附 图CN 103995735 A 12 3/4页 13 图3 图4 说 明 书 附 图CN 103995735 A 13 4/4页 14 图5 说 明 书 附 图CN 103995735 A 14 。