《用于分配资源的设备和方法.pdf》由会员分享,可在线阅读,更多相关《用于分配资源的设备和方法.pdf(15页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 103970606 A (43)申请公布日 2014.08.06 C N 1 0 3 9 7 0 6 0 6 A (21)申请号 201310248688.0 (22)申请日 2013.06.21 10-2013-0010378 2013.01.30 KR G06F 9/50(2006.01) (71)申请人韩国电子通信研究院 地址韩国大田市 (72)发明人崔贤花 裵承朝 (74)专利代理机构北京市柳沈律师事务所 11105 代理人李芳华 (54) 发明名称 用于分配资源的设备和方法 (57) 摘要 一种资源分配方法包括:基于包括作业顺序 的调度策略来选择作业,基于可。
2、用资源的状态信 息、在前作业的服务运行时间、预定预测运行时 间、和在前运行阈值,来确定可用于所选择的作业 的必要或最佳资源,和基于所确定的必要或最佳 资源,来向所选择的作业分配资源,并运行所选择 的作业。 (30)优先权数据 (51)Int.Cl. 权利要求书2页 说明书8页 附图4页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书2页 说明书8页 附图4页 (10)申请公布号 CN 103970606 A CN 103970606 A 1/2页 2 1.一种资源分配方法,包括: 基于包括作业顺序的调度策略来选择作业; 基于可用资源的状态信息、在前作业的服务运行时间、预。
3、定预测运行时间、和在前运行 阈值,来确定可用于所选择的作业的必要或最佳资源;和 基于所确定的必要或最佳资源,来向所选择的作业分配资源,并运行所选择的作业。 2.一种资源分配方法,包括: 基于包括作业顺序的调度策略来选择作业; 检查当选择作业时是否正常完成在前作业; 如果正常完成在前作业,则计算在预测运行时间和完成在前作业之前所花费的服务运 行时间之间的差值; 检查所计算的差值是否在预定在前运行阈值的范围中; 如果所计算的差值不在预定在前运行阈值的范围中,则计算用于运行所选择的作业的 最佳资源,并确定该最佳资源是否可用; 如果所计算的差值在预定在前运行阈值的范围中,则确定必要资源是否可用;和 如。
4、果确定该必要资源或该最佳资源可用,则向所选择的作业分配资源,并运行所选择 的作业。 3.根据权利要求2的方法,其中该预定在前运行阈值表示所有在前作业之中的具有最 长运行时间的最长运行路径的、实际运行时间和预测运行时间之间的差的可接受范围。 4.根据权利要求3的方法,其中该预定在前运行阈值表示为运行时间的值或比率 ()。 5.根据权利要求2的方法,其中所述计算最佳资源的步骤包括:如果所计算的差值不 在该预定在前运行阈值的范围中,则计算该最佳资源以分配比该必要资源更多或更少的资 源。 6.根据权利要求2的方法,其中所述确定该必要资源或该最佳资源是否可用的步骤包 括:如果不存在要向所选择的作业分配的。
5、可用资源,则在等待预定时间之后,重新确定该必 要资源或该最佳资源是否可用。 7.根据权利要求2的方法,进一步包括: 当完成所选择的作业的运行时,生成包括所选择的作业的运行时间的运行相关信息; 和 在数据库中存储该运行相关信息。 8.一种资源分配设备,包括: 队列管理器,配置为在数据库中注册用于选择作业的作业信息,响应于用户的作业提 交请求来使得作业进入队列,并响应于作业调度器的请求来使得从该队列中出列; 资源管理器,配置为管理可用资源的状态信息; 作业调度器,配置为选择要运行的下一作业,并在检测到完成的作业时,基于从数据库 提供的在前作业的运行时间相关信息和从资源管理器提供的状态信息,来确定可。
6、用于所选 择的作业的必要资源或最佳资源;和 资源分配管理器,配置为基于该必要资源或该最佳资源,来向所选择的作业分配资源, 并运行所选择的作业。 权 利 要 求 书CN 103970606 A 2/2页 3 9.根据权利要求8的设备,其中该运行时间相关信息包括在前作业的服务运行时间、 预定预测运行时间、以及预定在前运行阈值。 10.根据权利要求9的设备,其中该作业调度器包括: 在前作业检查块,配置为选择要运行的作业,检查是否正常完成所选择的作业的在前 作业,如果正常完成在前作业,则计算预测运行时间和完成在前作业之前所花费的服务运 行时间之间的差值,并检查该差值是否在该预定在前运行阈值的范围中; 。
7、最佳资源计算块,配置为如果该差值不在该预定在前运行阈值的范围中,则计算用于 运行所选择的作业的最佳资源;和 资源确定块,配置为基于该必要资源或该最佳资源是否可用,来确定该必要资源或该 最佳资源。 11.根据权利要求10的设备,其中该预定在前运行阈值表示所有在前作业之中的具有 最长运行时间的最长运行路径的、实际运行时间和预测运行时间之间的差的可接受范围。 12.根据权利要求11的设备,其中该在前作业检查块配置为将该预定在前运行阈值表 示为运行时间的值或比率()。 13.根据权利要求10的设备,其中该最佳资源计算块配置为,如果所述差值不在该预 定在前运行阈值的范围中,则计算该最佳资源以分配比该必要。
8、资源更多或更少的资源。 14.根据权利要求10的设备,其中该资源确定块配置为:如果不存在要向所选择的作 业分配的可用资源,则在等待预定时间之后,重新确定该必要资源或该最佳资源是否可用。 15.根据权利要求8的设备,其中该资源分配管理器配置为:当完成所选择的作业时, 生成包括所选择的作业的运行时间的运行相关信息,并在数据库中存储该运行相关信息。 权 利 要 求 书CN 103970606 A 1/8页 4 用于分配资源的设备和方法 0001 (多个)相关申请 0002 本申请要求2013年1月30日提交的韩国专利申请第10-2013-0010378号的权益, 由此通过引用进行合并,如同全部在这里。
9、阐明一样。 技术领域 0003 本发明涉及用于分配资源的方案,并更具体地,涉及适于在分布计算环境中执行 包括按照管线(pipeline)形式配置的作业的服务的、用于分配资源的设备和方法。 背景技术 0004 如公知的,资源管理系统管理簇中的计算资源并运行用户提交的作业。当前使 用的资源管理系统包括简单Linux用途资源管理(Simple Linux Utility for Resource Management)(SLURM)系统、Terascale开放源资源和队列管理器(Terascale Open-Source Resource and Queue Manager)(TORQUE)、太阳网。
10、格引擎(Sun Grid Engine)(SGE)等。 0005 图1图示了典型资源管理系统的配置,其包括队列管理器102、作业调度器104、资 源管理器106、资源分配管理器108、和资源110。 0006 参考图1,队列管理器102接收用户提交的作业。当提交作业时,用户应设立或指 定执行每一作业所必需的资源需求。提交的作业在作业调度器104选择之后运行。 0007 作业调度器104从资源管理器106接收资源的状态信息,并确定何时使用计算资 源、以及使用哪些计算资源,来运行作业。结果,可能根据调度策略而最佳地使用构成簇的 资源。为此目的,资源管理器106向作业调度器104报告可用资源的状态信。
11、息。 0008 资源分配管理器108接收作业调度器104所提供的关于要运行的作业的信息, 并运行作业(参考Kalim Qureshi,Syed Munir Hussain Shah,Paul Manuel,“Empirical performance evaluation of schedulers for cluster of workstations,”Cluster Com puting,Volume14Issue2,June2011)。 0009 图2是示出了根据现有技术的向所选择的作业分配资源并运行所选择的作业的 处理的流程图。 0010 参考图2,用户可在传统资源管理系统中设立或指。
12、定作业的运行顺序、关于预测的 运行时间的信息、以及关于作业必需的资源的信息。传统资源管理系统在步骤202基于包 括作业的运行顺序的调度策略来选择要运行的作业。 0011 为了所选择的作业的运行,在步骤204检查所选择的作业的在前作业。在步骤206 检查是否存在在前作业。如果确定存在在前作业,则在步骤208检查是否正常完成在前作 业的运行。作为步骤206的检查处理的结果,如果确定不存在在前作业,则认为(pr esume) 正常完成在前作业,并且过程进行到步骤210。 0012 作为步骤208的检查处理的结果,如果确定没有正常完成在前作业,则过程回到 步骤202,并且执行选择新作业的处理。 001。
13、3 作为步骤208的检查处理的结果,如果确定正常完成在前作业,则在步骤210确定 说 明 书CN 103970606 A 2/8页 5 为了所选择的作业指定的必要资源是否是可用的。作为步骤210的确定处理的结果,如果 不存在可用资源,则在步骤212暂停该过程达到预定时间,并然后进行确定是否存在可用 资源的处理。 0014 作为步骤210的确定处理的结果,如果必要资源是可用的,则向所选择作业分配 可用资源,并然后过程进行在步骤214运行所选择作业的处理。 0015 作为示例,当假设其中按照管线形式顺序运行三个作业J1、J2和J3的服务S时, 可如下基于诸如要运行的作业的规范、在前作业、必要资源、。
14、和预测的运行时间等属性,来 定义用于运行服务S的输入到资源管理系统(RMS)的作业: 0016 J1=作业1,空,2个CPU,20 0017 J2=作业2,J1,2个CPU,30 0018 J3=作业3,J2,3个CPU,20 0019 这里,作为作业J1、J2和J3的预测运行时间J etime 之和,来计算服务S的预测运行 时间S etime 。S etime =J1 etime +J2 etime +J3 etime =20+30+20=70 0020 传统资源管理系统通过仅考虑是否完成在前作业J1或J2,基于作业所指定的(多 个)必要资源来搜索和分配(多个)资源,以运行作业J2或J3。 。
15、0021 所以,如果构成该服务的作业中的至少一个具有比其预测运行时间更长的运行时 间,则该服务的实际运行时间也变得更长,并由此用户满意度恶化。例如,如果作业J1的实 际运行时间J1 rtime 是比预测运行时间长10分钟的30分钟,则服务S的实际运行时间变长 至少10分钟。 0022 S rtime J1 rtime +J2 etime +J3 etime =30+30+20=80 0023 J1 rtime J1 etime =3020=10S rtime -S etime 0024 即,在包括按照管线形式配置的多于两个作业的服务的情况下,传统资源管理系 统具有的问题在于,作业运行延迟几个阶。
16、段与服务的运行的延迟直接关联。这仅因为,是否 完成在前作业影响在后作业的运行。 0025 另外,在传统资源管理系统中,如果在前作业在比它们的预测运行时间更短的时 间中运行,则即使在用户的服务预测运行时间中存在余地,也向在后作业分配用户指定的 (多个)资源,以运行在后作业。所以,这成为使得使用资源的效率恶化的因素,因为不能向 其他服务的作业分派比满足用户的预测运行时间必需的资源更大的可用资源。 发明内容 0026 所以,本发明的目的是提供一种通过指定在完成在前作业之前所花费的服务运行 时间的阈值、来向在后作业分配比用户指定的必要资源更多或更少的资源的方法,由此一 般改进用户对于资源管理系统中包括。
17、按照环线形式配置的两个或多个作业的服务的运行 时间的满意度。 0027 根据本发明的一个方面,提供了一种资源分配方法,包括:基于包括作业顺序的调 度策略来选择作业;基于可用资源的状态信息、在前作业的服务运行时间、预定预测运行时 间、和在前运行阈值,来确定可用于所选择的作业的必要或最佳资源;和基于所确定的必要 或最佳资源,来向所选择的作业分配资源,并运行所选择的作业。 0028 根据本发明的另一方面,提供了一种资源分配方法,包括:基于包括作业顺序的调 说 明 书CN 103970606 A 3/8页 6 度策略来选择作业;检查当选择作业时是否正常完成在前作业;如果正常完成在前作业, 则计算在预测。
18、运行时间和完成在前作业之前所花费的服务运行时间之间的差值;检查所计 算的差值是否在预定在前运行阈值的范围中;如果所计算的差值不在预定在前运行阈值的 范围中,则计算用于运行所选择的作业的最佳资源;如果所计算的差值在预定在前运行阈 值的范围中,则确定用户指定的用于运行所选择的作业的必要资源;确定该必要资源或该 最佳资源是否可用;和如果确定该必要资源或该最佳资源可用,则向所选择的作业分配资 源,并运行所选择的作业。 0029 该预定在前运行阈值可表示所有在前作业之中的具有最长运行时间的最长运行 路径的、实际运行时间和预测运行时间之间的差的可接受范围。该预定在前运行阈值可表 示为运行时间的值或比率()。
19、。 0030 所述计算最佳资源的步骤可包括:如果所计算的差值不在该预定在前运行阈值的 范围中,则计算最佳资源以分配比该必要资源更多或更少的资源。 0031 所述确定该必要资源或该最佳资源是否可用的步骤可包括:如果不存在要向所选 择的作业分配的可用资源,则在等待预定时间之后,重新确定该必要资源或该最佳资源是 否可用。 0032 所述方法可进一步包括:当完成所选择的作业的运行时,生成包括所选择的作业 的运行时间的运行相关信息;和在数据库中存储该运行相关信息。 0033 根据本发明的另一方面,提供了一种资源分配设备,包括:队列管理器,配置为在 数据库中注册用于选择作业的作业信息,并响应于用户的作业提。
20、交请求来使得作业进入队 列用于运行;资源管理器,配置为管理可用资源的状态信息;作业调度器,配置为选择作业 用于下一运行,并基于从数据库提供的在前作业的运行时间相关信息和从资源管理器提供 的状态信息,来确定可用于所选择的作业的最佳资源;和资源分配管理器,配置为基于该必 要资源或该最佳资源,来向所选择的作业分配资源,并运行所选择的作业。 0034 该运行时间相关信息可包括在前作业的服务运行时间、预定预测运行时间、以及 预定在前运行阈值。 0035 该作业调度器可包括:在前作业检查块,配置为选择作业用于下一运行,检查是否 正常完成在前作业,如果正常完成在前作业,则计算预测运行时间和完成在前作业之前所。
21、 花费的服务运行时间之间的差值,并检查该差值是否在预定在前运行阈值的范围中;最佳 资源计算块,配置为如果该差值不在预定在前运行阈值的范围中,则计算用于运行所选择 的作业的最佳资源;和资源确定块,配置为基于用户指定的该必要资源或该最佳资源计算 块所计算的该最佳资源是否可用,来确定该必要资源或该最佳资源。 0036 该在前作业检查块可将该预定在前运行阈值表示为运行时间的值或比率()。 0037 如果该差值不在该预定在前运行阈值的范围中,则该最佳资源计算块可以计算最 佳资源以分配比该必要资源更多或更少的资源。 0038 如果不存在要向所选择的作业分配的可用资源,则该资源确定块可以在等待预定 时间之后。
22、,重新确定该必要资源或该最佳资源是否可用。 0039 当完成所选择的作业时,该资源分配管理器可生成包括所选择的作业的运行时间 的运行相关信息,并在数据库中存储该运行相关信息。 0040 根据本发明的实施例,在包括按照管线形式配置的多个作业的服务的情况下,对 说 明 书CN 103970606 A 4/8页 7 于该服务中每一阶段处的作业的运行,可根据在前作业的实际运行时间来改变资源量,并 然后向该作业分配改变的资源量。结果,可能提供多个服务达到用户的预测运行时间,并改 进使用资源的效率。 附图说明 0041 根据结合附图给出的实施例的以下描述,本发明的以上和其他目的和特征将变得 清楚,其中: 。
23、0042 图1是传统资源管理系统的配置; 0043 图2是示出了根据现有技术的用于向所选择作业分配资源并运行所选择作业的 处理的流程图; 0044 图3图示了根据本发明实施例的资源分配设备的框图; 0045 图4图示了图3中示出的作业调度器的详细框图;和 0046 图5是示出了根据本发明实施例的用于向所选择作业分配资源并运行所选择作 业的处理的流程图。 具体实施方式 0047 在本发明的以下描述中,如果已知结构和操作的详细描述可使得本发明的主题模 糊,则将省略其详细描述。以下术语是通过考虑本发明实施例中的功能而定义的术语,并可 改变算符(operator)意欲用于本发明和实践。由此,在本发明的。
24、描述的全文中,应定义这 些术语。 0048 其后,将参考附图来详细描述本发明的实施例,使得它们可以由本领域技术人员 容易地实现。 0049 图3图示了根据本发明实施例的资源分配设备的框图。资源分配设备包括队列管 理器302、作业调度器304、资源管理器306、数据库(DBMS)308、资源分配管理器310、和资 源312。 0050 用户可设立或指定信息,诸如关于构成服务的每一作业必需的资源的信息、预测 运行时间等。另外,用户可指定作业的运行顺序和在前运行阈值。这里,在前运行阈值表示 预测运行时间和在完成当前作业的所有在前作业所花费的实际运行时间之间的可接受的 差。在前作业的实际运行时间和预测。
25、运行时间之间的差被表示为值或比率()。在本发明 的实施例中,假设将在前运行阈值表示为比率。 0051 根据本发明实施例的资源分配设备(或资源管理系统)使用在前运行阈值作为用 于分配运行按照管线形式配置的多个作业的资源的参考信息,所述多个作业构成服务。基 于用户指定的必要资源,在在前作业的实际运行时间不在预测运行时间的在前运行阈值的 范围中的情况下,分配比必要资源更多或更少的资源。 0052 根据本发明实施例的资源分配包括使用物理或虚拟计算节点的通过节点的资源 分配、以及在单一计算节点中诸如中央处理单元(CPU)、图形处理单元(GPU)、存储器等的 特定资源的分配。本发明可应用到以上两种资源分配。
26、方法。 0053 参考图3,如果用户输入(指定)运行作业必需的作业信息(诸如在前作业信息、在 前运行阈值、必要资源信息、预测运行时间等),则队列管理器302在数据库308中注册这些 说 明 书CN 103970606 A 5/8页 8 数据(即,作业信息)。队列管理器302具有提交的(排队的)作业,并根据请求而将这些作业 提供到作业调度器304。这里,在前运行阈值表示所有在前作业之中根据具有最长运行时间 的最长运行路径的、实际运行时间和预测运行时间之间的差的可接受范围。在前作业的预 测运行时间和实际运行时间之间的差被表示或指定为值或比率()。 0054 作业调度器304选择运行的作业,并基于从。
27、数据库308提取的在前作业的运行时 间相关信息以及从资源管理器306提供的可用资源的状态信息,来确定用于所选择作业的 可用必要或最佳资源。为了实现这些功能,作业调度器304可具有图4中示出的配置。这 里,在前作业的运行时间相关信息可包括预定在前运行阈值、预测运行时间、以及在前作业 的服务运行时间。 0055 图4图示了图3中示出的作业调度器304的详细框图。作业调度器304包括在前 作业检查块402、最佳资源计算块404、和资源确定块406。 0056 参考图4,在前作业检查块402选择用于下一运行的作业,搜索在数据库308中存 储的所选择作业的信息,并检查是否存在在前作业。如果存在在前作业,。
28、则在前作业检查块 402检查是否正常完成在前作业。如果正常完成在前作业,则在前作业检查块402计算预测 运行时间与在完成在前作业之前花费的服务运行时间之间的差值,并检查该差值是否在预 定在前运行阈值的范围中。 0057 即,如果不存在在前作业,则在前作业检查块402生成指示不存在在前作业的不 存在检测信号,并将该不存在检测信号传递到资源确定块406。如果该差值在预定在前运行 阈值的范围中,则在前作业检查块402生成指示该差值在该预定在前运行阈值的范围中的 范围内检测信号,并将该范围内检测信号传递到资源确定块406。如果该差值不在预定在前 运行阈值的范围中,则在前作业检查块402生成指示该差值不。
29、在该预定在前运行阈值的范 围中的范围外检测信号,并将该范围外检测信号传递到最佳资源计算块404。这里,在前作 业的不存在检测信号可意味着,如果不存在在前作业,则将在前作业看作正常完成。 0058 如果从在前作业检查块402传递范围外检测信号,则最佳资源计算块404基于从 资源管理器306提供的可用资源的状态信息来计算用于运行所选择的作业的最佳资源,并 将所计算的最佳资源传递到资源确定块406。这里,当该差值不在预定在前运行阈值的范围 中时,最佳资源计算块404可计算最佳资源,以分配比用户指定的必要资源更多或更少的 资源。 0059 如果从在前作业检查块402传递范围外检测信号,则资源确定块40。
30、6基于从资源 管理器306提供的可用资源的状态信息,来确定从最佳资源计算块404传递的最佳资源是 否可用。此后,资源确定块406根据确定结果来生成资源分配控制信号,并将该资源分配控 制信号传递到图3中示出的资源分配管理器310。这时,如果不存在要向所选择作业分配的 可用资源,则资源确定块406可在预定时间过去之后再次执行用于确定最佳资源是否可用 的处理。 0060 如果从在前作业检查块402传递不存在检测信号或范围内检测信号,则资源确定 块406确定从在前作业检查块402传递的必要资源是否可用。此后,资源确定块406执行 范围外检测信号处理过程。 0061 返回参考图3,资源管理器306管理在。
31、计算节点处可使用的可用资源的状态信息。 资源管理器306管理的可用资源的状态信息可根据作业调度器304的资源搜索请求来搜 说 明 书CN 103970606 A 6/8页 9 索,并然后提供到作业调度器304。 0062 资源分配管理器310基于计算的最佳资源或用户指定的必要资源来向所选择作 业分配资源312,并运行所选择作业。另外,资源分配管理器310将运行结果传递到用户,当 完成所选择作业的运行时生成包括所选择作业的运行时间的运行相关信息,并将运行相关 信息存储在数据库308中。 0063 数据库308中存储的作业信息可包括作业名称、在前作业名称、在前运行阈值、作 业运行的必要资源、作业的。
32、预测运行时间等。根据本发明实施例的资源分配设备所设立的 作业信息可包括实际运行时间、预测服务时间、实际服务时间、延迟时间等。作业的预测运 行时间和必要资源可使用各种方法来设立,诸如从配置文件信息的提取或用户定义。 0064 每一作业的预测服务时间是其在前作业的预测服务时间和作业的预测运行时间 之和,并且当插入用户定义的作业信息时被计算和存储。这里,实际运行时间表示从选择作 业到完成向所选择作业分配的资源中的所选择作业的运行所花费的时间。 0065 每一作业的实际服务时间是其在前作业的实际服务时间和作业的实际运行时间 之和。在不存在在前作业的情况下,所选择的作业的实际运行时间和实际服务时间相同。。
33、如 果存在在前作业的各种运行路径,则基于具有最长预测运行时间的路径来计算预测服务时 间和实际服务时间。将该服务延迟时间计算为预测服务时间和实际服务时间之间的差。如 果服务延迟时间具有正值,则其表示该服务的延迟运行。另一方面,如果服务延迟时间具有 负值,则其表示该服务的快速运行。 0066 其后,将参考具有图3和4中所示上述配置的资源分配设备,来详细描述用于向用 户提供资源分配服务的处理的序列。 0067 图5是示出了根据本发明实施例的用于向所选择作业分配资源并运行所选择作 业的处理的流程图。 0068 参考图5,用户输入或指定作业运行必需的作业信息,该作业信息包括在前作业信 息、在前运行阈值、。
34、必要资源信息、预测运行时间等。 0069 此后,作业调度器304中的在前作业检查块402在步骤502基于包括作业顺序的 调度策略来选择作业,在步骤504搜索数据库308中存储的选择作业信息,并在步骤506检 查选择作业的在前作业是否存在于数据库308中。 0070 作为步骤506的检查结果,如果不存在在前作业,则过程前进到步骤510,以将在 前作业处理为正常完成。 0071 作为步骤506的检查结果,如果存在在前作业,则在步骤508确定是否正常完成在 前作业。作为步骤508的确定结果,如果确定没有正常完成在前作业,则过程返回到步骤 502,用于选择要运行的新作业。 0072 作为步骤508的确。
35、定结果,如果确定正常完成在前作业,则在前作业检查块402在 步骤510计算在前作业的预测服务时间和实际服务时间之间的差值,并在步骤512检查所 计算的差值是否在预定在前运行阈值的范围中。这里,预定在前运行阈值表示预测运行时 间和完成当前作业的所有在前作业所花费的实际运行时间之间的可接受的差。在前作业的 实际运行时间和预测运行时间之间的差值被表示为值或比率()。 0073 作为步骤512的检查结果,如果计算的差值在预定在前运行阈值的范围中,则过 程前进到步骤516。如果计算的差值不在预定在前运行阈值的范围中,则最佳资源计算块 说 明 书CN 103970606 A 7/8页 10 404在步骤5。
36、14基于从资源管理器306提供的可用资源的状态信息,来计算用于运行所选择 作业的最佳资源。这里,可将该最佳资源计算为比用户指定的必要资源更多或更少的资源。 0074 然后,资源确定块406在步骤516基于从资源管理器306提供的可用资源的状态 信息,来检查或确定来自在前作业检查块402的必要资源或来自最佳资源计算块404的最 佳资源是否可用。作为步骤516的检查结果,如果不存在要向所选择作业分配的可用资源, 则在步骤518等待预定时间之后,再次执行确定必要资源或最佳资源是否可用的处理。 0075 作为步骤516的检查结果,如果存在要向所选择作业分配的(多个)可用资源,则 资源确定块406生成资。
37、源分配控制信号,并将该资源分配控制信号传递到资源分配管理器 310。 0076 结果,资源分配管理器310在步骤520响应于资源分配控制信号,基于该必要资源 或计算的最佳资源,来向所选择作业分配资源312,并使用资源312来运行所选择作业。 0077 此后,资源分配管理器310在步骤522使用分配的资源来检查是否运行所选择的 作业。作为步骤522的检查结果,如果确定完成所选择作业,则在步骤524生成包括所选择 作业的运行时间的运行相关信息并存储在数据库308中。 0078 作为示例,如表格11和表格12所示定义数据库308中存储的作业信息。 0079 表格11 0080 0081 表格12 0。
38、082 0083 将基于表格11和表格12中规定的构成服务的作业J1、J2和J3,来描述根 据本发明实施例的资源分配。为了更好地理解根据本发明实施例的资源分配,假设顺序执 行这三个作业J1、J2和J3。 0084 作业J1是初始作业,并且已基于用户指定的必要资源来运行。所以,为了向作业 J2分配资源,确定预测服务时间中的在完成在前作业J1之前所花费的运行时间(即,实际 服务时间)是否在在前运行阈值的范围中。这可通过检查预测服务时间和实际服务时间之 说 明 书CN 103970606 A 10 8/8页 11 间的差值是否小于在前运行阈值来确定。如果实际服务时间在在前运行阈值的范围中,则 在检查。
39、该必要资源是否可用之后,向作业J2分配该可用资源。 0085 【等式1】 0086 (J1的服务延迟时间)/(J1的预测服务时间)*100=(10/20)*100=50%20%=J2的在 前运行阈值 0087 如等式1中所示,由于在前作业J1进行的服务的运行时间不在作业J2中指定的 在前运行阈值的范围中,所以计算最佳资源。对于基于并行编程的应用的作业,将和CPU 一样多的资源链接到输入数据处理的并行化。即,在将必要资源和预测运行时间的乘积 (multiplication)看作输入数据的情况下,最佳资源和最佳运行时间的乘积应和输入数据 相同。这时,如果延迟运行,则添加资源。如果运行快,则减少资源。
40、。使得延迟时间接近0 的资源成为最佳资源。如果在前作业J1的服务延迟时间是10,则作业J2的最佳资源如下 确定。 0088 输入数据=(必要资源预测运行时间)=(最佳资源最佳运行时间) 0089 2个CPU(必要资源)30(预测运行时间)=60=输入数据 0090 输入数据=60=3个CPU(最佳资源)*20(最佳运行时间) 0091 30(预测运行时间)20(最佳运行时间)=10=服务延迟时间 0092 所以,作业J2的最佳资源成为3CPU,并且检查最佳资源是否可用。如果可用,则 分配最佳资源,使得运行作业J2。 0093 如果运行作业J2,则基于作业J2的实际运行时间来确定实际服务时间和服。
41、务延 迟时间。通过分配比必要资源更多的最佳资源,作业J2的实际运行时间变得比预测运行时 间更短。即,作业J1的运行延迟时间不直接链接到服务延迟时间,并且可通过作业J2的运 行来安排(settle)运行延迟时间。 0094 另一方面,因为作业J1具有比预测运行时间更短的实际运行时间,所以如果从作 业J2中指定的在前运行阈值的范围导出实际运行时间,则可能通过分配比作业J2中指定 的必要资源更少的最佳资源,来分配用于其他服务运行的过剩资源,维持用户对服务运行 时间的满意度。 0095 即,根据本发明的实施例,在服务包括具有基于并行编程的应用并按照管线形式 构造的两个或多个作业的情况下,用于作业运行的。
42、资源分配方法使得通过在前作业运行的 延迟或迅速来确定要向在后作业分配的资源量。结果,可能有效利用簇中的资源,同时维持 用户对服务运行时间的满意度。 0096 尽管已针对优选实施例示出和描述了本发明,但是本发明不限于此。本领域技术 人员将理解的是,可进行各种改变和修改,而不脱离以下权利要求中限定的本发明的范围。 说 明 书CN 103970606 A 11 1/4页 12 图1 说 明 书 附 图CN 103970606 A 12 2/4页 13 图2 说 明 书 附 图CN 103970606 A 13 3/4页 14 图3 图4 说 明 书 附 图CN 103970606 A 14 4/4页 15 图5 说 明 书 附 图CN 103970606 A 15 。