《用于平衡能量消耗和调度性能的作业调度方法和系统.pdf》由会员分享,可在线阅读,更多相关《用于平衡能量消耗和调度性能的作业调度方法和系统.pdf(25页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 103136039 A(43)申请公布日 2013.06.05CN103136039A*CN103136039A*(21)申请号 201210445232.9(22)申请日 2012.11.0813/307,508 2011.11.30 USG06F 9/46(2006.01)G06F 9/455(2006.01)(71)申请人国际商业机器公司地址美国纽约阿芒克(72)发明人 GM普拉布哈卡 R拉文德朗C苏尔(74)专利代理机构北京市金杜律师事务所 11256代理人酆迅(54) 发明名称用于平衡能量消耗和调度性能的作业调度方法和系统(57) 摘要一种用于平衡能量消耗和。
2、调度性能的作业调度方法和系统。该方法以平衡总调度性能和能量消耗的方式组合作业运行时间的过高估计与处理器调节。因而,以减少能量消耗的方式执行调度中的一些作业。一种计算机实现的方法包括识别用于多个代表作业的作业性能数据,以及以运行时间过高估计值与处理器调节值的各种组合运行多个作业的基于回填的作业调度的仿真。该仿真生成包括能量消耗和作业延迟的数据。该方法还使用仿真生成的用于多个作业的数据来识别运行时间过高估计值与处理器调节值的组合中的一个组合,该一个组合使能量消耗参数与作业延迟参数的数学乘积最优化。然后使用所识别的运行时间过高估计值与处理器调节值的组合来调度向处理器提交的作业。(30)优先权数据(5。
3、1)Int.Cl.权利要求书3页 说明书16页 附图5页(19)中华人民共和国国家知识产权局(12)发明专利申请权利要求书3页 说明书16页 附图5页(10)申请公布号 CN 103136039 ACN 103136039 A1/3页21.一种计算机实现的方法,包括:识别用于多个代表作业的作业性能数据;以运行时间过高估计值与处理器调节值的各种组合运行所述多个作业的基于回填的作业调度的仿真,其中所述仿真生成包括能量消耗和作业延迟的数据;使用所述仿真生成的用于所述多个作业的数据来识别运行时间过高估计值与处理器调节值的所述组合中的一个组合,所述一个组合使能量消耗参数与作业延迟参数的数学乘积最优化;以。
4、及使用所识别的运行时间过高估计值与处理器调节值的组合来调度向处理器提交的作业。2.根据权利要求1所述的计算机实现的方法,其中所述处理器调节值选自于处理器频率值、处理器电压值及其组合。3.根据权利要求2所述的计算机实现的方法,其中所述处理器能够进行动态频率和电压调整。4.根据权利要求1所述的计算机实现的方法,其中识别用于所述多个作业的作业性能数据包括访问历史作业性能数据。5.根据权利要求1所述的计算机实现的方法,还包括:估计每个作业的所述运行时间;以及将所述运行时间估计与运行时间过高估计因子相乘以确定用于每个作业的运行时间过高估计。6.根据权利要求5所述的计算机实现的方法,其中所述运行时间估计基。
5、于历史作业数据。7.根据权利要求5所述的计算机实现的方法,还包括:调度在调度队列内的每个作业,其中所述调度分配在所述运行时间过高估计的持续时间内运行所述作业所必需的资源。8.根据权利要求7所述的计算机实现的方法,其中运行所述多个作业的基于回填的作业调度的仿真包括响应于确定充分计算资源在所述运行时间过高估计的所述持续时间内可用于提升的作业而提升所述调度队列中的作业以较早执行,从而所述提升的作业的较早执行将不会延迟预约或者运行中的作业的执行。9.根据权利要求1所述的计算机实现的方法,还包括:处理器根据所述调度执行所述作业;以及测量所执行的作业的实际能量消耗和作业延迟;更新作业性能数据以包括与所执行。
6、的作业相关联的实际能量消耗数据和实际作业延迟数据。10.根据权利要求1所述的计算机实现的方法,其中所述作业延迟参数是所述多个作业的平均等待时间。11.根据权利要求1所述的计算机实现的方法,其中所述能量消耗参数是所述多个作业的平均能量减少比。12.根据权利要求11所述的计算机实现的方法,其中所述多个作业的所述平均能量减少比是在未使用处理器调节值的情况下的平均能量消耗除以使用所述处理器调节值的所权 利 要 求 书CN 103136039 A2/3页3述平均能量消耗而得到的。13.根据权利要求1所述的方法,还包括:在应用动态频率和电压调整(DVFS)和不应用DVFS的情况下运行所述作业中的每个作业;。
7、针对所述作业中的每个作业确定归因于DVFS的所述应用的运行时间的改变;以及从具有由于所述DVFS的应用所致的最小运行时间的改变的作业开始并且以具有更大运行时间的改变的作业继续来选择所述作业中的一个或者多个作业作为DVFS候选。14.根据权利要求1所述的方法,还包括:校准所述作业中的每个作业以确定包括执行时间和功率消耗的作业特性,其中所述作业特性由所述仿真使用。15.根据权利要求1所述的方法,还包括:接收用户输入,所述用户输入标识将应用动态频率和电压调整(DVFS)来运行新提交的作业;将所述新提交的作业标记为DVFS候选作业;以及对在用于所述DVFS候选作业的能量消耗与作业性能之间的关系建模。1。
8、6.根据权利要求15所述的方法,其中对在用于所述DVFS候选作业的能量消耗与作业性能之间的关系建模包括:识别所述数据中心中可用的系统资源;针对各种处理器频率设置对所述系统资源的性能建模;使用所述系统资源的性能模型以针对给定的能量消耗估计作业的性能;以及与所述作业相关联地存储所估计的性能和能量消耗数据。17.根据权利要求16所述的方法,还包括:响应于所述作业被提交到处理器以进行调度,而使用所存储的性能和能量消耗数据以确定能量-性能最优的DVFS设置。18.根据权利要求17所述的方法,其中能量性能最优的所述DVFS设置受制于最大运行时间。19.根据权利要求18所述的方法,其中确定所述最大运行时间以。
9、防止延迟下一调度作业。20.根据权利要求18所述的方法,其中所述DVFS设置是所述处理器频率。21.根据权利要求17所述的方法,其中针对每个DVFS候选作业单独确定所述DVFS设置。22.根据权利要求17所述的方法,其中针对所有DVFS候选作业共同确定所述DVFS设置。23.根据权利要求17所述的方法,还包括:在由处理器执行期间将所述DVFS设置应用于所述DVFS候选作业;以及响应于在所述DVFS设置下运行所述DVFS候选作业而测量能量消耗和运行时间。24.根据权利要求16所述的方法,其中识别所述数据中心中可用的系统资源包括识别处理器核的数目和类型、它们的频率设置、所得到的热能和功率消耗。25。
10、.一种用于调度作业的系统,包括被配置成执行权利要求1-24中的任一项权利要求权 利 要 求 书CN 103136039 A3/3页4的方法中的步骤。权 利 要 求 书CN 103136039 A1/16页5用于平衡能量消耗和调度性能的作业调度方法和系统技术领域0001 本发明涉及对提交到能够进行动态频率和电压调整(DVFS)的处理器的作业的调度。背景技术0002 动态频率和电压调整(DVFS)技术已经变成如今多核处理器中的标准特征。这些技术允许系统或者用户在统计上或者动态地变化向处理器供应的频率和电压,因此以计算速度为代价来变化计算中所耗费的能量。例如,在固定电压下降低处理器频率允许降低处理器。
11、功率消耗。另一方面,有时成比例而有时以比处理器功率的降低更小的比例降低计算速度。0003 以每秒千万亿次和更高速度进行的大规模计算将需要程序在数十万至数百万处理器上运行。这意味着为了执行这样的程序而消耗的能量将达到数百万瓦特至数千万瓦特级。在该等级,术语“性能”获得超出仅计算速度的含义:“性能”意味着计算作业如何智能地平衡速度和功率消耗。为了实现该平衡,频率和电压调整技术成为关键。一些程序可能在它们的一些执行阶段期间对小的频率和电压变化相对敏感,并且这可以有利地用于高效高性能计算运行。因此,已经进行了大量研究以发现可以最好地对功率开支与可接受的计算速度折衷的DVFS设置。0004 除了用于处理。
12、器的DVFS技术之外,还进行了考察,探求降低其它计算硬件、诸如物理存储器、盘驱动、与网络有关的硬件和电源的能量消耗的方式和手段。所有这些技术在减少能量消耗之时可能潜在地影响程序性能。因此广而言之,在运行于当前和未来计算基础设施上的应用的性能这一背景中,有必要不仅考虑计算效率,而且考虑能量-计算效率折衷。0005 向超级计算设施或者数据中心提交大量作业。为了增加它们的执行调度的效率,回填(backfill)技术与诸如先到先服务这样的典型调度算法一起使用。回填允许较小作业“填塞”到调度、完成和运行中的较大作业留下的时空间隙中,因此提高总调度性能度量(诸如平均减慢度(slowdown)或者平均完成时。
13、间)。0006 并行程序在被提交到数据中心或者超级计算中心时进入调度队列。由于在队列中存在等待的其它任务或者在计算资源上执行的其它任务,所以未立即执行提交的程序。因此,为了处理提交的计算任务而需要的时间比任务本身的运行时间大得多,因而用户不预计他们的程序快速返回。用户因此自然地允许他们提交的任务在完成和返回时间上松弛(slack)。该松弛本身通常是不固定的,而是变化的,在数据中心上的负荷大时增加。0007 在能量高效的计算方面,近来和新兴研究领域之一是能量感知调度。基于DVFS的能量感知调度(或者另一能量优化技术)应用于在调度中提交的作业,这些作业的运行时间常会增加。为了减轻该问题而需采取的一。
14、些方式包括选择其运行时间受DVFS相对影响较少的作业或者在低利用率时段期间应用DVFS,并且在考虑用户的最后期限约束的情况下,利用该用户由于数据中心上的负荷而允许的松弛。说 明 书CN 103136039 A2/16页6发明内容0008 本发明的一个实施例提供一种计算机实现的方法,该方法包括:识别用于多个代表作业的作业性能数据;以运行时间过高估计值与处理器调节值的各种组合运行多个作业的基于回填的作业调度的仿真,其中该仿真生成包括能量消耗和作业延迟的数据;使用仿真生成的用于多个作业的数据来识别运行时间过高估计值与处理器调节值的组合中的一个组合,该一个组合使能量消耗参数与作业延迟参数的数学乘积最优。
15、化;以及使用所识别的运行时间过高估计值与处理器调节值的组合来调度向处理器提交的作业。0009 本发明的另一实施例提供一种计算机程序产品,该计算机程序产品包括实现于计算机可用介质上的计算机可用程序代码,该计算机程序产品包括:用于识别用于多个代表作业的作业性能数据的计算机可用程序代码;用于以运行时间过高估计值与处理器调节值的各种组合运行多个作业的基于回填的作业调度的仿真的计算机可用程序代码,其中该仿真生成包括能量消耗和作业延迟的数据;用于使用仿真生成的用于多个作业的数据来识别运行时间过高估计值与处理器调节值的组合中的一个组合的计算机可用程序代码,该一个组合使能量消耗参数与作业延迟参数的数学乘积;以。
16、及用于使用所识别的运行时间过高估计值与处理器调节值的组合来调度向处理器提交的作业的计算机可用程序代码。附图说明0010 图1是根据本发明一个实施例的能量感知回填调度方法的流程图。0011 图2是根据本发明一个实施例的能量感知回填调度方法的流程图。0012 图3是图示了使用回填调度以及动态电压和频率调整(DVFS)而未使用图1的能量感知回填调度方法在两个节点上调度六个作业的示图。0013 图4是图示了使用图1的能量感知回填调度方法在与图2中相同的两个节点上调度相同六个作业的示图。0014 图5是数据的表格和图示了该数据的图形,该表格和图形比较由于平均过高估计因子与DVFS应用的四个不同组合所产生。
17、的能量-等待时间乘积。具体实施方式0015 本发明的一个实施例提供一种用于以平衡能量消耗和调度性能方式进行作业调度的计算机实现的方法。该方法包括识别用于多个代表作业的作业性能数据,以及以运行时间过高估计值与处理器调节值的各种组合运行多个作业的基于回填的作业调度的仿真,其中该仿真生成包括能量消耗和作业延迟的数据。该方法还使用仿真生成的用于多个作业的数据来识别运行时间过高估计值与处理器调节值的组合中的一个组合,该一个组合使能量消耗参数与作业延迟参数的数学乘积最优化。使用所识别的运行时间过高估计值与处理器调节值的组合来调度向处理器提交的作业。0016 能量感知回填调度技术以平衡总调度性能和能量消耗的。
18、方式来组合作业运行时间过高估计与处理器调节(诸如动态电压和频率调整(DVFS)。因而以降低能量消耗的方式,例如以较低处理器频率或者以其它能量最小化技术来执行调度中的一些作业。0017 可以通过访问历史作业性能数据来识别用于多个作业的作业性能数据。取而代之说 明 书CN 103136039 A3/16页7或者除此之外,可以通过校准每个作业以确定包括执行时间和功率消耗的作业特性来识别作业性能数据,其中作业特性被仿真使用。0018 将用于作业的运行时间估计乘以运行时间过高估计值以确定用于每个作业的运行时间过高估计。运行时间估计本身可以基于历史作业数据或者作为用户输入被接收。该方法的实施例可以使用对于。
19、所有作业而言固定的运行时间过高估计因子或者根据作业大小而变化的多个运行时间过高估计因子。0019 回填调度方法要求对任务运行时间的估计,可能通过要求用户提交运行时间估计以及有时利用历史数据库扩充。一旦任务与它的预计运行时间一起被提交,便基于主调度算法进行对任务的预约。例如,如果主调度算法是先到先服务(FCFS),则在资源可用于执行任务时的最早时间进行对任务的预约。以该方式,在调度表上预约或者以别的方式安排所有进入作业。0020 由于作业可能是独特的,所以调度表上的每个作业可能需要不同数目的计算资源(处理器)。这意味着随时间流逝,当作业被预约以在计算节点上运行时,并非在所有时间使用所有处理器,从。
20、而在资源中留下未使用的“洞(hole)”。为了提高资源利用率,使用回填技术。在该技术中,假如所需计算资源可用并且回填的任务不会阻碍或者延迟其它预约和运行的计算任务的执行,则将在较晚时间向队列中提交的任务提升以较早执行。0021 虽然可以通过用户输入提供作业运行时间,但是有可能基于历史用户数据来生成很好和实际的作业运行时间估计。因而,减少用户提供的运行时间估计的模态并且运行时间估计更准确。根据本发明将这样的估计与过高估计因子相乘给出了大大提高的作业调度性能。0022 利用先到先服务(FCFS)调度策略,从向未来提交作业的时间开始扫描系统资源使用状态,并且找到对于该作业而言必需资源变为可用的最早时。
21、间。在该扫描期间,针对当前运行的作业和未来预约的作业计算完成时间。如果在当前预约列表的末尾之前必需资源不可用,则在列表的末尾处预约作业。0023 当运行中的作业完成时,扫描作业队列以找到可以在新资源可用性配置上运行的最早作业。由于作业完成而产生调度中的松弛或者“洞”,所以将作业提升以较早执行被称为“回填”。如果调度器应用运行时间过高估计,则作业将及早完成并且在调度中留下这样的“洞”的可能性增加。另外,调度器可以将运行时间过高估计应用于新回填的作业,使得新回填的作业的及早完成也可以留下用于进一步回填作业的“洞”。反复地创建越来越小的洞产生以大致为最短作业优先(SIF)的方式进行的回填,这降低了调。
22、度的平均等待时间和减缓度(slowness)。0024 运行对多个作业的基于回填的作业调度的仿真可以包括响应于确定在运行时间过高估计的持续时间内足够的计算资源可用于提升的作业而在调度队列中提升作业以较早执行,从而提升的作业的较早执行将不延迟预约或者运行中的作业的执行。0025 处理器调节值选自于处理器频率值、处理器电压值及其组合。尽管一些处理器可能仅能够调节频率或者电压,但是可以使一些处理器能够用于动态频率和电压调整。本发明的方法可以有选择地利用处理器的调节频率、调节电压或者二者的能力。0026 基于回填的调度器由计算机程序仿真。将作业排队作为对该仿真的输入,而旨在于“虚拟地”调度作业以确定调。
23、度算法的性能。因此,对调度仿真模型的输入是作业特性,说 明 书CN 103136039 A4/16页8诸如作业运行时间、到达时间、最后期限(如果有)、所需核的数目和其它参数,诸如平均功率消耗(如果作业是用于DVFS的候选)。也将作业运行时间过高估计因子f和与DVFS有关的参数d作为向调度仿真器的每个作业的输入。0027 调度仿真然后对作业的执行进行仿真,并且有可能针对给定的f和d估计调度性能度量,诸如平均等待时间。应用优化算法以搜寻在最优化(最小化)能量-延迟乘积时运行时间过高估计因子f和处理器参数d的值。例如,处理器参数d是用于与CPU频率的倍数相乘的通常为分数的因子。这意味着可以针对DVF。
24、S候选作业集变化CPU频率。以该方式,可以变化f和d二者,并且有可能识别f和d的值,该值产生调度的能量-性能测量的优化值,诸如能量-等待时间乘积的优化值。0028 如上文所言,该仿真使能量消耗参数与作业延迟参数的数学乘积最优化。在一个非限制示例中,能量消耗参数是多个作业的平均能量减少比,其中多个作业的平均能量减少比是未使用处理器调节值的平均能量消耗除以使用处理器调节值的平均能量消耗。在另一非限制示例中,作业延迟参数是多个作业的平均等待时间。0029 最后,在调度队列内调度向处理器提交的每个作业,其中该调度分配在运行时间过高估计的持续时间内运行作业所必需的资源。一个或者多个处理器然后可以根据该调。
25、度执行作业。当执行作业时,该方法将优选地还包括测量执行的作业的实际能量消耗和作业延迟并且更新作业性能数据以包括与执行的作业关联的实际能量消耗数据和实际作业延迟数据。0030 本发明的实施例可以将动态频率和电压调整(DVFS)有选择地应用于一些作业。为了确定哪些作业是良好DVFS候选,一个实施例应用动态频率和电压调整(DVFS)来运行每个作业并且在不应用DVFS的情况下再次运行该作业。然后,针对每个作业确定归因于应用DVFS的运行时间的改变。可以优选地从具有由于应用DVFS所致的最小运行时间改变的作业开始并且以具有较大运行时间改变的作业继续来选择一个或者多个作业作为DVFS候选。应当认识到最小运。
26、行时间改变指示利用节能DVFS运行作业未造成作业的运行时间的大量增加。因而这些作业允许过程受益于能量节省,从而潜在性能下降量最小。0031 在另一实施例中,接收用户输入,该用户输入标识将应用动态频率和电压调整(DVFS)来运行新提交的作业。因而,将新提交的作业标记为DVFS候选作业,并且针对DVFS候选作业对在能量消耗与作业性能之间的关系建模。0032 可选地,针对DVFS候选作业对在能量消耗与作业性能之间的关系建模的过程可以包括:识别数据中心中可用的系统资源;针对各处理器频率设置对系统资源的性能建模;使用系统资源的性能模型来针对给定的能量消耗估计作业的性能;以及与作业关联地存储估计的性能和能。
27、量消耗。然后,响应于向处理器提交DVFS候选作业以用于调度,可以使用存储的性能和能量消耗数据来确定能量-性能最优的DVFS设置。例如,能量性能最优的DVFS设置可能受制于最大运行时间以防止延迟下一调度的作业。如先前描述的那样,DVFS设置可以是处理器频率、处理器电压或者二者。还应当认识到可以针对每个DVFS候选作业单独地或者针对所有DVFS候选作业共同地确定DVFS设置。在可选的又一实施例中,在由处理器执行期间将DVFS设置应用于DVFS候选作业,并且响应于以DVFS设置运行DVFS候选作业而测量能量消耗和运行时间。另外,识别数据中心中可用的系统资源的步骤可以包括识别处理器核的数目和类型、它们。
28、的频率设置、所产生的热能和功率消耗。说 明 书CN 103136039 A5/16页90033 本发明的实施例将DVFS有选择地应用于调度队列中的作业。这些努力的目标是找到用于在能量消耗与调度性能之间的可接受折衷的机会。认识到当DVFS应用于调度中提交的任务中的一些或者所有任务时,这些作业中的一些或者所有作业的实际运行时间可能增加。这可能造成平均等待时间和平均有界减慢度的增加。因而,本发明组合运行时间过高估计与DVFS以实现能量-性能最优性,而不是仅聚焦于最大化调度性能或者最小化能量消耗。这通过使能量-延迟乘积最优化来实现,该乘积确定在作业调度中使用的运行时间过高估计因子和处理器属性值。该新方。
29、法可以被称为运行时间过高估计补偿DVFS-回填或者简称为ROC-DVFS回填。0034 当在较低处理器频率下运行作业时,执行相同作业时消耗较少能量。换而言之,尽管计算时间可能增加,但是对应的消耗的能量减少。在较低频率的情况下,在能量浪费减少和为了冷却计算基础设施而需要的能量减少这两个方面,能量更高效地用于计算并且观测到能量节省。以相似方式,在增加计算的能量效率(即,消耗较少能量)这样的方式中,也可以变化处理器的电压并且因此可以动态地控制频率和电压二者。动态频率和电压调整(DVFS)是用于动态地变化处理器频率和/或电压的技术。重要的是,注意DVFS最小化能量消耗的程度通常是与可以预计的计算性能程。
30、度的折衷。0035 为了实现ROC-DVFS,应当校准数据中心和工作负荷特性。校准步骤实质上是如下步骤,该步骤不仅测量数据中心和工作负荷的特性,而且还用来建立用于能量消耗和工作负荷性能(例如,作业运行时间)以及调度性能(例如,平均等待时间)的基线。0036 当在数据中心中新实现ROC-DVFS方法时执行数据中心的校准或者当例如由于数据中心基础设施的改变而需要重新校准的任何时候都定期地执行数据中心的校准。在数据中心校准步骤中,记录数据中心群集的各种系统参数,诸如处理器核的数目和类型、它们的频率设置、所产生的热能和功率消耗以及其它这样的以正确计算总功率或者能量消耗为目标的有关参数。0037 无论何。
31、时向数据中心提交了新作业,都执行工作负荷校准步骤。例如,可以向用户给予以最大性能、即在不应用DVFS的情况下运行作业或者以能量高效方式运行作业的选择从而选择使用DVFS的最佳能量-性能折衷。当用户接受以能量高效方式运行作业的选择时,可以将作业标记为“绿色”作业。针对所有作业,可以测量某些工作负荷特性,诸如作业运行时间以及关联性能计数器数据。针对“绿色”作业,可以测量作业的各种附加方面,诸如针对给定处理器频率的总能量消耗和平均功率消耗。该能量消耗数据可以与为了完成作业而需要的时间以及诸如每个指令的平均时钟周期数等其它性能计数器数据关联。0038 基于在数据中心校准步骤中记录的数据中心群集特性,有。
32、可能创建下述数学模型,该模型针对各种处理器频率设置预测作业的性能改变。该数学模型然后可以用来针对给定的能量消耗预测作业计算性能,使得有可能准确地估计作业的能量-性能特性而不必必须以不同的CPU频率设置运行作业。通常,这样的模型可以是线性或者简单非线性回归模型,其中模型的特性是某些数,这些数是线性或者非线性回归方程的系数,并且变量可以是CPU频率和运行时间或者相关性能计数器,诸如每个指令的周期数(CPI)。0039 与在其上提交了作业的特定群集有关的、特定于该作业的能量-性能预测模型以及在校准期间记录的与能量和性能有关的关联数据然后被存储于数据库中。在以后时间,当用户重新提交作业作为“绿色”作业。
33、时,从数据库再次调用并且使用所存储的数据和预测说 明 书CN 103136039 A6/16页10模型以达到能量-性能最优的特定DVFS设置。在个别作业的情况下,术语“能量-性能最优”是指优化测量,诸如能量-延迟乘积,该乘积是一种表征作业的能量-性能最优性的方式。模型将寻求预测如下CPU频率,就该CPU频率而言能量-延迟乘积对于个别作业而言是最小值而作业性能(运行时间)的下降是可接受的。0040 以该方式,给定的作业队列可以具有各种作业,这些作业是用于DVFS的候选(是“绿色”作业)。在校准期间存储的排队作业的特性,诸如执行时间和平均功率消耗用来在基于回填的调度仿真模型(该模型使用与在数据中心。
34、中运用的调度算法相同的调度算法)中对这些作业的调度进行仿真。DVFS将被应用其上的“绿色作业”的集合可以被称为DVFS候选集合D。对于集合D,令d表征硬件的DVFS设置。参数d可以简单地是CPU频率将与其相乘的因子或者它可以是CPU电压设置或者二者的组合,并且可以包括用于能量优化的硬件设置。对于当前讨论,将简单地假设d指示CPU必须被设置到的频率(在频率选择范围内)。注意该d值可以随作业变化。因此,有可能的是d是参数值的矢量,而一个或者多个值用于队列中的每个作业。0041 该方法然后进行用于最小化调度的能量-性能乘积的步骤:0042 EE(f,d) .(19)0043 其中E(f,d)是调度的。
35、能量-性能测量,诸如能量-等待时间乘积。E是作业运行时间过高估计因子f和(例如)CPU频率松弛因子d的函数。再次,注意过高估计因子f也可以根据作业的大小而变化,从而f也可以是参数值的矢量,而对于队列中的每个作业有一个值。0044 基于回填的调度器由计算机程序仿真。将作业排队作为对该仿真的输入,而旨在于虚拟地调度作业以确定调度算法的性能。因此,对调度仿真模型的输入是作业特性,诸如作业运行时间、到达时间、最后期限(如果有)、所需核的数目和其它参数,诸如平均功率消耗(如果作业是用于DVFS的候选)等。还给出作业运行时间过高估计因子f和与DVFS有关的参数d作为对调度仿真器的每个作业的输入。调度仿真然。
36、后对作业的执行进行仿真,并且有可能针对给定的f和d估计调度性能度量,诸如平均等待时间。然后应用优化算法(诸如遗传算法)以搜寻f在调度性能最大化时的值。可以有可能也变化d。例如,d可以是CPU频率的倍数。这意味着可以针对DVFS候选作业集合变化CPU频率。以该方式,可以变化f和d二者,并且识别对调度的能量-性能测量、诸如能量-等待时间乘积进行优化的f和d的值。0045 在一个示例实施例中,该仿真变化作业的运行时间过高估计f并且针对每个新f值测量调度性能,诸如平均等待时间并且还测量调度能量-性能度量,诸如能量-等待时间乘积。以该方式,执行对作业调度的搜索(可能使用可以并入从历史信息中进行学习的优化算法或者技术)以针对给定的d给出如下f,该f给予调度的能量-性能度量、诸如能量-等待时间乘积的最优值。优化技术可以允许变化f和d二者。为了最大化作业的能量-性能度量(诸如能量-延迟乘积),算法将尝试以最少量修改被给予针对DVFS应用的较高优先级的作业的d值。0046 本发明的另一实施例提供一种包括实现于计算机可用介质上的计算机可用程序代码的计算机程序产品,用于以平衡能量消耗和调度性能的方式来调度作业。该计算机程序产品包括:用于识别用于多个代表作业的作业性能数据的计算机可用程序代码;用于以说 明 书CN 103136039 A10。