CN103927228A - 作业执行预测方法和设备 - Google Patents
作业执行预测方法和设备 Download PDFInfo
- Publication number
- CN103927228A CN103927228A CN201310014564.6A CN201310014564A CN103927228A CN 103927228 A CN103927228 A CN 103927228A CN 201310014564 A CN201310014564 A CN 201310014564A CN 103927228 A CN103927228 A CN 103927228A
- Authority
- CN
- China
- Prior art keywords
- execution
- cpu
- mentioned
- time
- historical
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
一种作业执行预测方法及设备,该作业执行预测方法包括:资源消耗收集步骤,收集与各作业的执行有关的信息以及执行时间信息;执行效率对比步骤,根据收集到的信息,对比历史执行效率与本次执行效率;历史剩余执行时间确定步骤,根据收集到的信息,分别确定CPU历史剩余执行时间和I/O历史剩余执行时间;以及剩余执行时间预测步骤,基于上述执行效率对比步骤的对比结果、上述CPU历史剩余执行时间和上述I/O历史剩余执行时间,分别预测从作业预测时刻到该作业执行完毕的CPU剩余执行时间和I/O剩余执行时间,并将该CPU剩余执行时间和I/O剩余执行时间之和作为预测出的该作业的剩余执行时间。
Description
技术领域
本发明涉及计算机技术领域,更具体地涉及一种在计算机系统环境下的作业执行的预测方法和设备,能够对作业执行时间进行预估,并在此基础上对作业网的整体执行时间进行预估和显示。同时可以根据预估结果控制作业的执行顺序,提高计算机系统整体运行效率。
背景技术
本发明中的作业(job)是指一组由计算机操作、处理的程序。一般体现为放在后台运行,并且不需要与用户进行交互的可执行程序。
现如今几乎所有的企业运营管理都离不开IT系统的支撑。无论是业务系统的运营,还是IT系统的日常维护管理,都离不开作业的执行。在一些情况下,作业的数量非常的庞大。一般在一台服务器上,可能会同时存在多个作业被并行执行,共同消费系统资源。
在一些大中型企业,尤其是金融电信等领域的信息系统中,不仅作业数量非常庞大,各作业之间还可能存在着执行的先后顺序等各种复杂的逻辑关系。为了完成某一项工作(task),往往需要多个作业。在这里我们定义作业网为完成某一项特定的工作所需要的多个作业,以及按照系统要求所设定的他们之间逻辑执行管理关系。在一个作业网中,作业按一定的逻辑关系连成执行网络,各个作业按设定的逻辑关系依次执行。
作业和作业网通常都是通过某种调度机制按照时间设定或在逻辑关系等条件满足时自动执行,对于管理员来说,能够预估作业和作业网将要在什么时间执行完毕非常重要。
下述专利文献1中公开了一种作业执行时间预测的方法:利用作业执行过程中对资源(CPU时间、I/O时间)的已使用量计算作业的执行速度(ESR),根据ESR预测作业的剩余执行时间。其中,在I/O时间的计算上,该专利发明了一种新的计算方法。同时该发明还包含了使作业网中包含的作业尽量在计划结束时间之前完成的优先顺序控制方法,以及作业进度的显示方法。
其中,ESR是表示每个作业的处理速度的指标,通过算式((CPU时间+I/O时间)/经过时间)来定义。另外,关于ESR的详细定义可以参考下述非专利文献1。
专利文献
专利文献1:日本特开平5-265775
非专利文献
非专利文献1:“計算機システムにおける性能管理の一方式とそれを用いた実験”、情報処理学会論文誌、第23卷第6号591页-598页
由于每个作业的执行时间受到CPU和I/O操作的影响程度不同,即,有的作业所需的CPU操作较多,有的作业所需的I/O操作较多。在该发明中,通过已执行的作业的ESR(CPU执行时间与I/O时间进行同比例(相同权重)相加后,除以作业执行已经经过的时间),计算出系统ESR(系统ESR为已执行的各作业的ESR平均值),再把系统ESR假定为未执行的作业的执行速度(ESR),进而预测其执行时间的方法。在此专利中忽略了不同作业受到CPU、I/O操作影响而执行时间并不相同的问题,这样的预测方法存在一定的不精确性。
举例说明:假设A、B两个作业为系统中已经开始执行的作业,且在经过的时间内(2分钟),A作业已经执行的CPU时间和I/O时间分别为:100ms,2000ms;B作业已执行的CPU时间和I/O时间为:300ms,1500ms。此时系统ESR(代表作业执行速度)的值为作业A和作业B的ESR的平均值,显然此时系统对I/O的处理速度远快于对CPU的处理速度(即,ESR的大小主要由消耗的I/O时间决定)。而对于未执行的C作业,假设需要执行的CPU时间为300ms,I/O时间为5ms,作业C只要相当少的I/O操作需要消耗,所以尽管系统对于I/O的处理速度很快,但是CPU处理的速度才决定着作业C的执行时间。单纯用以I/O为主导的系统ESR来估算作业C的剩余时间是不合理的。
同时,对于已经开始执行的作业,在执行过程中,对CPU和I/O资源的消耗并不是均匀分布的。例如前一段的已执行过程中CPU操作所消耗的时间可能远大于I/O操作所消耗的时间,而在后一段的过程中I/O操作需要消耗的时间又远大于CPU操作需要消耗的时间。在现有技术中,单一的将CPU和I/O所消耗的时间看成完全一样的影响因素,通过简单的相加后除以经过的时间定义为作业执行的速度,并默认此速度也是该作业剩余执行过程中的执行速度。忽略了作业对CPU和I/O操作的需求本身也决定着作业的执行速度,即,在CPU操作或I/O操作的需求较小的情况下,对应的速度的值也就不可能很大。而作业在执行到不同阶段,对CPU和I/O操作的需求(需要消耗的时间)并不相同,甚至有较大差异。将前一阶段的速度简单定义为未执行部分的速度并不合理,计算出的剩余执行时间也就并不精确。
举例说明:假定作业A执行的预计CPU时间是1000ms,预计I/O时间是20000ms。在作业A的执行过程中,CPU时间的执行和I/O时间的执行并不是均匀进行的。假定在已经过的10分钟内,该作业已执行的CPU时间是800ms,执行的I/O时间是200ms。那么在前10分钟之内,对作业执行速度ESR值起主导作用的是CPU时间。但是对于还没有执行完毕的部分,该作业剩余的CPU时间是200ms,I/O时间是19800ms,那么在剩余的执行时间里,对剩余时间起主导作用的是I/O时间。因此,在作业预测时刻,用前10分钟的执行数据计算出来的CPU主导的ESR去估计后面未执行的部分的时间则是不合理的。
发明内容
为了解决现有技术的上述问题,提出了本发明。因此,本发明的目的是提供一种作业执行的预测方法和装置,能够区分并同时考虑CPU的执行效率和I/O的执行效率两方面,从而更准确更合理地预测作业的执行时间。
此外,通过在作业执行过程中动态地更新CPU和I/O对于作业执行的影响力,从而能够进一步提高作业执行时间预测的准确性。尤其是针对执行过程中对CPU和I/O资源的消耗不均匀的作业,能够进一步提高预测的准确性。
为了实现上述目的,根据本发明,提出了一种作业执行预测方法,其特征在于,包括:资源消耗收集步骤,收集与各作业的执行有关的CPU资源信息、I/O资源信息以及执行时间信息;执行效率对比步骤,根据收集到的信息,针对各个作为预测对象的作业,对比历史CPU执行效率与本次CPU执行效率,并且对比历史I/O执行效率与本次I/O执行效率;历史剩余执行时间确定步骤,根据收集到的信息,分别确定在按照历史CPU执行效率和历史I/O执行效率继续执行该作业时,从作业预测时刻到该作业执行完毕的CPU历史剩余执行时间和I/O历史剩余执行时间;以及剩余执行时间预测步骤,基于上述执行效率对比步骤的对比结果、上述CPU历史剩余执行时间和上述I/O历史剩余执行时间,分别预测从上述作业预测时刻到该作业执行完毕的CPU剩余执行时间和I/O剩余执行时间,并将该CPU剩余执行时间和I/O剩余执行时间之和作为该作业的剩余执行时间。
上述历史剩余执行时间确定步骤包括:历史对应点确定步骤,根据收集到的信息,确定上述作业所处的上述作业预测时刻的历史对应点,并确定在按照上述历史CPU执行效率和上述历史I/O执行效率继续执行该作业时,从该作业预测时刻到该作业执行完毕的总历史剩余执行时间;动态影响力判断步骤,根据上述作业对CPU和I/O资源需求的变化,动态判断出CPU操作和I/O操作各自对于该作业执行的影响力;以及时间区分步骤,利用判断出的CPU操作和I/O操作各自对于作业执行的影响力,区分出上述总历史剩余执行时间中的由CPU操作引起的CPU历史剩余执行时间和由I/O操作引起的I/O历史剩余执行时间。
根据本发明,还提出了一种作业执行预测设备,其特征在于,具备:资源消耗收集装置,收集与各作业的执行有关的CPU资源信息、I/O资源信息以及执行时间信息;执行效率对比装置,根据收集到的信息,针对各个作为预测对象的作业,对比历史CPU执行效率与本次CPU执行效率,并且对比历史I/O执行效率与本次I/O执行效率;历史剩余执行时间确定装置,根据收集到的信息,分别确定在按照历史CPU执行效率和历史I/O执行效率继续执行该作业时,从作业预测时刻到该作业执行完毕的CPU历史剩余执行时间和I/O历史剩余执行时间;以及剩余执行时间预测装置,基于上述执行效率对比装置的对比结果、上述CPU历史剩余执行时间和上述I/O历史剩余执行时间,分别预测从上述作业预测时刻到该作业执行完毕的CPU剩余执行时间和I/O剩余执行时间,并将该CPU剩余执行时间和I/O剩余执行时间之和作为该作业的剩余执行时间。
上述历史剩余执行时间确定装置包括:历史对应点确定装置,根据收集到的信息,确定上述作业所处的上述作业预测时刻的历史对应点,并确定在按照上述历史CPU执行效率和上述历史I/O执行效率继续执行该作业时,从该作业预测时刻到该作业执行完毕的总历史剩余执行时间;动态影响力判断装置,根据上述作业对CPU和I/O资源需求的变化,动态判断出CPU操作和I/O操作各自对于该作业执行的影响力;以及时间区分装置,利用判断出的CPU操作和I/O操作各自对于作业执行的影响力,区分出上述总历史剩余执行时间中的由CPU操作引起的CPU历史剩余执行时间和由I/O操作引起的I/O历史剩余执行时间。
附图说明
图1是本法明的作业执行预测设备的结构图。
图2示出了每个计算机系统上维护的作业计划表T1。
图3示出了为每个执行作业维护的作业执行资源占用表T2。
图4示出了为每个执行作业维护的作业执行状态表T3。
图5是作业执行时间预测方法的流程图。
图6是对比作业执行效率的流程图。
图7是确定历史剩余执行时间的流程图。
图8是常见的作业网及作业部署和调度系统的架构图。
图9示出了具有分支逻辑的作业网。
图10是示出了分支逻辑的作业网的执行时间预测结果的图。
图11是示出了分支逻辑的作业网执行时间预测结果的另一个图。
图12是示出了并行逻辑情况下的作业网执行时间的预测结果的图。
图13是示出了多作业网环境下的执行时间预测结果的图。
具体实施方式
参照附图对本发明的优选实施例进行详细说明,在描述过程中省略了对于本发明来说是不必要的细节和功能,以防止对本发明的理解造成混淆。
实施例一
下面对预测作业剩余执行时间的装置及方法进行说明。
如图1所示,本发明的作业执行预测设备10包括:作业调度装置101、预测频率控制装置102、资源消耗收集装置103、执行效率对比装置104、历史对应点确定装置105、动态影响力判断装置106、CPU和I/O时间区分装置107、剩余执行时间预测装置108、以及执行时间显示装置109。其中,历史对应点确定装置105、动态影响力判断装置106和CPU和I/O时间区分装置107构成了本发明中的历史剩余执行时间确定装置110。
作业调度装置101记录在本计算机上根据时间或者逻辑关系等因素的设定所确立的作业的执行日程。
预测频率控制装置102控制在哪些时刻对作业执行时间进行预估。对于每一个作业,预测频率控制装置对其执行时间进行预测的次数至少为一次;并且,下次进行预测的时刻的确定,根据此次预测的剩余时间的长短进行调整。例如,在经过了一次预测而预测出作业执行的剩余时间较长的情况下,则调整为在将来的某时刻再进行一次或一次以上的预测;反之,在预测出作业执行的剩余时间较短的情况下,则调整为不再进行预测。
资源消耗收集装置103收集作业执行所消耗的CPU时间和I/O操作次数。包括在历史上,作业全部执行完毕所消耗的CPU时间和I/O操作次数,和作业本次执行开始到现在时刻所消耗的CPU时间和I/O操作次数。
执行效率对比装置104从CPU操作和I/O操作两方面衡量作业的执行效率。执行效率表示在某作业被执行的过程中单位时间内占用的CPU时间。执行效率对比装置104分别得到本次CPU执行效率、历史CPU执行效率、本次I/O执行效率、和历史I/O执行效率。并在此基础上,对历史CPU执行效率与本次CPU执行效率进行比较,得到从CPU操作的角度来讲,本次执行比历史执行快(慢)多少。对历史I/O执行效率与本次I/O执行效率进行比较,得到从I/O操作的角度来讲,本次执行比历史执行快(慢)多少。
历史对应点确定装置105确定按照历史CPU执行效率和历史I/O执行效率进行执行时,该作业完成从作业预测时刻(当前时刻)到全部执行完的时间段内需要消耗的CPU操作量和I/O操作量,所花费的总历史剩余执行时间。所谓历史对应点就是假设在过去(历史上)执行本作业的过程中找到一个对应点,并且使得在该对应点之前已执行的CPU操作量和I/O操作量与本次执行到作业预测时刻为止已执行的CPU操作量和I/O操作量相同。
动态影响力判断装置106在每次进行预测的时刻,根据作业对CPU和I/O消耗需求的变化,动态区分出CPU和I/O对于作业执行的影响力。
CPU、I/O时间区分装置107,以CPU操作和I/O操作对执行的不同影响力,将该作业从作业预测时刻到全部执行完的时间段内需要消耗的CPU操作量和I/O操作量所花费的历史剩余执行时间分成两部分。一部分是由CPU操作所引起的执行时间(纯粹的CPU时间,加上由其引起的等待时间),另一部份是由I/O操作所引起的执行时间(纯粹的I/O时间,加上由其引起的等待时间)。
剩余执行时间预测装置108预测出本次执行从作业预测时刻到全部执行完毕需要的时间。
执行时间显示装置109显示作业和作业网的执行时间预测情况。
下面结合图2到6具体说明作业执行时间预测的方法。
图2~6共同用于说明为作业预测剩余执行时间的方法和流程,其中,图2示出了每个计算机系统上维护的将要执行的作业计划表T1,图3示出了为每个执行作业维护的作业执行资源占用表T2,图4示出了为每个执行作业维护的作业执行状态表T3,图5示出了作业执行时间预测方法的流程,图6是示出了作业执行效率的确定流程,图7示出了确定历史剩余执行时间的流程。
在本发明中,在每个计算机系统中,作业调度装置101具有一个将要执行的作业计划表T1,如图2所示。表中记录每个作业按照时间或者逻辑关系所确定的开始执行条件。
本发明中,在每个计算机系统中,资源消耗收集装置103具有一个作业执行资源占用表T2,包括完成每个作业所需要执行的CPU时间和I/O操作次数,以及在历史上该作业执行所耗费的执行时间平均值,如图3所示。其中,CPU时间Ci的单位是毫秒(ms),历史执行平均时间的单位是秒(s)。
本发明中,在每个计算机系统中,资源消耗收集装置103具有一个作业执行状态表T3,包括每个作业的执行状态,并且针对每个作业示出了作业本次执行已经过的时间,作业本次执行已经消耗的CPU时间和I/O操作次数,如图4所示。其中,已经过时间Tr的单位是秒(s),已消耗CPU时间的单位是毫秒(ms)。另外,针对执行状态为“执行完毕”的作业JOB1,由于不需要预测该作业的本次执行时间,因此在作业执行状态表T3中省略了已经过的时间的记载。
接下来结合图5说明预测作业执行时间的流程。
首先,按照步骤501,预测频率控制装置102控制在哪些时刻对作业执行时间进行预估。对于每一个作业,预测频率控制装置至少保证对其执行时间进行预测的次数在一次以上。
下面,按照步骤502,资源消耗收集装置103对已经执行了Tr时间的作业n进行一次剩余时间的预估。在这段时间内作业n已经消耗的CPU时间为Ce、I/O操作次数为Ie。根据这些信息更新作业执行状态表T3。
接下来,按照步骤503(即图6所示的流程),执行效率对比装置104根据收集到的信息,对比CPU执行效率和I/O执行效率。具体的,CPU执行效率分为本次CPU执行效率和历史CPU执行效率。I/O执行效率分为本次I/O执行效率和历史I/O执行效率。
步骤601中,计算计算历史CPU执行效率Rcpu_h和历史I/O执行效率Rio_h。历史CPU执行效率Rcpu_h为该作业n在历史的执行过程中单位时间内占用的CPU时间的平均值。历史I/O执行效率Rio_h为该作业n在历史的执行过程中单位时间内占用的I/O时间的平均值。
计算I/O时间的方法是用I/O操作的次数乘以一个平均的一次I/O操作需要的时间。在上述专利文献1中,公开了一种计算平均I/O时间的方法及公式,这里不做深入介绍和研究。在更通常的一些情况,平均I/O时间也可以取做一个常量。这里我们用f(I/O)来代表现有技术中计算平均I/O时间的方法或常量,例如在以往的计算中,平均每次I/O操作所需的时间约为30ms。可以参考作业执行资源占用表T2以及如下公式(1)进行计算。
Rio_h=Ii*f(I/O)/To;Rcpu_h=Ci/To;
…(1)
其中,Ii是历史执行的平均I/O操作次数,Ci是历史执行的平均CPU时间,To是历史执行的平均时间。
在步骤601之后,判断作业n的执行状态是“已经开始执行”还是“尚未开始执行”(步骤602)。
对于已经开始执行的作业,根据步骤603,计算本次CPU执行效率Rcpu_r和本次I/O执行效率Rio_r。本次CPU执行效率Rcpu_r为该作业n在本次执行已经过的时间段Tr内,单位时间内占用的CPU时间。本次I/O执行效率Rio_r为该作业n在本次执行已经过的时间段Tr内,单位时间内占用的I/O时间。参考公式(2)。
Rcpu_r=Ce/Tr; Rio_r=Ie*f(I/O)/Tr;
…(2)
其中,Ie是本次已执行的I/O操作次数,Ce是本次已执行的CPU时间,Tr是本次已执行的时间段。
根据步骤604,基于计算出的该作业n的本次CPU执行效率和本次I/O执行效率,更新系统执行效率。其中,该系统执行效率包括:系统CPU执行效率Rcpu_s,为当前已经执行的作业的平均CPU执行效率;以及系统I/O执行效率Rio_s,为当前已经执行的作业的平均I/O执行效率。具体地讲,可以计算本作业网中已执行完毕的全部作业的本次CPU执行效率的平均值,作为系统CPU执行效率;计算本作业网中已执行完毕的全部作业的本次I/O执行效率的平均值,作为系统I/O执行效率。当然,在希望简化计算的情况下,也可以规定仅以某一个作业的本次执行效率的值或某几个作业的本次执行效率的平均值,作为系统执行效率。
根据步骤605,对于本次尚未开始执行的作业进行预测时,其当前执行时间Tr为0,没有可参考的本次执行效率。将该作业的本次CPU执行效率取为系统CPU执行效率Rcpu_s,将该作业的本次I/O执行效率取为系统I/O执行效率Rio_s。
在此基础之上,根据步骤606,通过历史CPU执行效率与本次CPU执行效率的比值Pcpu,反应出该作业在本次已执行的时间段内,从CPU操作的角度来讲,比历史执行的快还是慢。作业执行的快慢会受到多方面因素的影响,一般来讲,计算机同时执行的作业个数越多,那么每个作业的CPU执行效率就越低。同理,通过历史I/O执行效率与本次I/O执行效率的比值Pio,反应出该作业在本次已执行的时间段内,从I/O操作的角度来讲,比历史执行的快还是慢。如公式(3a)(3b)所示:
对于已开始执行的作业:
对于未开始执行的作业:
由此,图5中的步骤503结束。
接下来,按照步骤4(即图7所示的流程),历史剩余执行时间确定装置110根据收集到的信息,分别确定在按照历史CPU执行效率和历史I/O执行效率继续执行该作业时,从作业预测时刻到该作业执行完毕为止所需的CPU历史剩余执行时间和I/O历史剩余执行时间。
根据步骤701,历史对应点确定装置105确定本次执行的作业预测时刻的历史对应点。也就是说,已经知道在本次执行中,该作业当前执行的时间是Tr,在这段时间内消耗的CPU时间是Ce,I/O操作次数为Ie。按照历史CPU执行效率和历史I/O执行效率来执行时,该作业执行到消耗相同的CPU时间和I/O操作次数的时候,花费的历史作业执行时间Thr。利用公式(4)得到。
在此基础上,得到按照历史CPU执行效率和历史I/O执行效率来执行时,该作业从上述作业预测时刻的历史对应点,到全部执行完毕的时间段内所花费的总历史剩余执行时间Ths,请参考公式(5)。
另一发面,根据步骤702,动态影响力判断装置106根据作业对CPU和I/O消耗需求的变化,动态区分出CPU和I/O对于作业执行的影响力。
对于作业n,总历史剩余执行时间由该作业执行需要的CPU时间和I/O时间构成,确定从作业预测时刻到全部执行完毕为止CPU时间在总历史剩余执行时间中的占比,作为CPU操作对该作业从作业预测时刻到全部执行完毕过程中的影响力Fcpu;确定从作业预测时刻到全部执行完毕为止I/O时间在总历史剩余执行时间中的占比,作为I/O操作对该作业从作业预测时刻到全部执行完毕过程中的影响力Fio。参考公式(6)。
根据步骤703,时间区分装置107利用上述CPU操作和I/O操作对作业执行的不同影响力,将由公式(5)得到的作业预测时刻的历史对应点,到全部执行完毕的时间段内所花费的总历史剩余执行时间Ths,区分成由CPU操作引起的CPU历史剩余执行时间Ths*Fcpu,和由I/O操作所引起的I/O历史剩余执行时间Ths*Fio两部分。参考公式(7)。
上述公式(4)~(7)既可以适用于已开始执行(正在执行)的作业,也可以适用于作业预测时刻未开始执行的作业。在适用于作业预测时刻未开始执行的作业时,上述(4)~(7)中的Ce=0,Ie=0。
经过上述步骤,已经得到了在历史执行情况下,在从本次执行的作业预测时刻的历史对应点开始到作业执行完毕的过程中,由CPU操作所引起的CPU历史剩余执行时间(包括CPU时间及其引起的等待时间),以及由I/O操作所引起的I/O历史剩余执行时间(包括I/O时间及其引起的等待时间)。由此,图5中的步骤504结束。
下面,根据步骤505,剩余执行时间预测装置108利用作业的历史执行效率与当前执行效率的对比情况,预测本次执行时从作业预测时刻到全部执行完毕为止由CPU引起的CPU剩余执行时间Ts_cpu和由I/O引起的I/O剩余执行时间Ts_io。参考公式(8a)(8b)。
对于已开始执行的作业:
对于未开始执行的作业:
进而,剩余执行时间预测装置108预测作业n从作业预测时刻起的剩余执行时间Ts,参考公式(9a)(9b)。
对于已开始执行的作业:
对于未开始执行的作业:
实施例二
下面说明预测作业网执行时间以及预测结果的显示方法。
在一些大中型企业,尤其是金融电信等领域的信息系统当中,不仅作业数量非常庞大,各作业之间还可能存在着执行的先后顺序等各种复杂的逻辑关系。为了完成某一项工作,往往需要多个作业按照一定的逻辑顺序进行,且可能在不同的计算机系统上执行。在这里我们定义作业网为完成某一项特定的工作所需要的多个作业,以及按照系统要求所设定的他们之间的逻辑执行管理关系。在一个作业网中,作业按一定的逻辑关系连成执行网络,各个作业按设定的逻辑关系依次执行。
图8~图13共同用于说明关于作业网执行时间的预测及显示方法,其中,图8是常见的作业网及作业部署和调度系统的架构图,图9示出了具有分支逻辑的作业网,图10和图11分别示出了分支逻辑的作业网执行时间预测和显示结果,图12是示出了并行逻辑情况下对于作业网执行时间的预测结果的图,图13是示出了多作业网环境下的执行时间预测结果的图。
作业网及作业的布置和执行系统,一般包含3个部分:监视器、管理器、执行代理(也可以没有),如图8所示。监视器801通常通过GUI或者Web等方式,主要用来进行作业网的定义和操作,作业执行日程的设定,以及显示执行状态和执行结果等。管理器802通常保存作业网和日程表的定义信息并管理对作业网的调度和执行。执行代理803用来在指定的计算机系统上执行作业程序,也可以使用开放协议来进行远程作业调度的无代理方式,这时不需要执行代理。
对整个作业网的执行时间进行预测,先以执行作业的计算机为单位,按实施例一的方法分别预测各个计算机之上的所有作业的执行时间,进而依据作业网上所有作业的预测时间来预测整个作业网的执行时间并显示。针对作业网执行时间的预测,特别示例以下几种特殊情况:
图9示例了含有分支逻辑的作业网1,包含多个作业,即Job101至Job106。它们之间的逻辑关系如图中箭头所示。按照依赖关系,先序作业正确执行完毕,后续作业才能开始执行。特别的,判断作业Job102用来判断其后的分支里哪个被执行。这些作业要在计算机A和计算机B上完成。其中,Job101、Job104、Job106按照业务逻辑需要在计算机A上执行;Job102、Job103、Job105按照业务逻辑需要在计算机B上执行。
首先,计算机A和计算机B分别按照上述实施例一中的方法预测在其上运行的作业的执行时间。这样在每一个作业图标旁边显示该作业的执行时间,并在每个末节点作业图标旁边显示所在分支的预测运行时间。每个分支的预测运行时间为这条分支上执行的所有作业的预测剩余执行时间之和。
当作业还没有执行到分支点时,显示所有路径的执行时间,
可以用不同的颜色显示已经执行的、未执行的、正在执行的作业时间。例如,对于已经执行的作业(Job101)预测时间显示为草绿色,正在执行的作业(Job102)预测时间显示为深绿色,未执行的作业(Job13等)预测时间显示为深蓝色。参考图10。
对于未执行的作业,显示其预测执行时间;对于已经执行完毕的作业,显示其真实的执行时间;对于正在执行的作业,同时显示其本次已经执行的时间Tr,和预估的剩余执行时间Ts。随着该作业执行完毕,Ts逐渐减少至0,最后不显示,Tr逐渐增加,最后等于该作业的剩余执行时间。参考图9。
当判断作业执行完毕而已进入到确认的分支时,取消不被执行的作业分支的显示。参考图11,经过Job102的判断,作业网的执行进入了第一条分支,则对于第二条作业分支的时间预计取消。Job102从正在执行的状态转变为已执行完毕,Job103从等待执行状态进入正在执行状态。
对于含有并行逻辑的情况,参考图12所示的作业网2。由Job201和Job202构成的分支,与由Job203和Job204构成的分支,是并行的关系。各作业由自身所在的计算机系统预测出剩余执行时间,预测作业网执行时间时,取并行分支中耗时较长的分支。
上述已经以单个作业网为例说明了作业网的执行时间预测与显示方法。在通常的业务环境下,会有针对于不同业务或者应用的多个作业网需要调度执行,这时一台计算机上需要执行的作业可能来自不同的作业网,例如图13所示。此时,针对于某一台执行作业的计算机系统来说,只要维护好本机上需要执行的作业的名称和图2所示的作业计划表T1,即可按照上述实施例一的描述对这些作业进行执行时间预测。
特别地,针对于这种情况,对于图7所示的作业网部署调度系统来说,其管理器702可以根据上述描述的作业执行预测方法得到的结论,调整作业调度顺序。例如,参考图13,图中包含作业网3和作业网4。其中,按照业务逻辑关系,Job302和Job402都执行在服务器A上,Job303和Job403都执行在服务器B上。通过本发明的动态预测,得知作业剩余时间如图所示,Job404要等待Job402和Job403都执行完毕才能开始执行。而Job403的剩余时间很长,即使Job402早早执行完毕,Jo404还是需要长时间等待Job403的执行。此时可调度服务器A上的Job302优先于Job402执行,既使得作业网3尽快执行,又不影响作业网4的总体执行时间。
由此可见,本发明提出了一种在计算机系统环境下,作业执行的预测方法和装置,将CPU操作和I/O操作的效率进行区分,并考虑到作业在执行的不同阶段对CPU和I/O消耗需求是变化的,在作业执行过程中动态地区分CPU和I/O对于作业执行的影响力,对作业执行时间进行合理的预估。在此基础上,对于包含多计算机系统的大量作业并行或按逻辑关系先后执行的情况,对作业网的整体执行时间进行预估和显示,同时,作业执行时间的预测情况,也可用于控制作业执行的执行顺序,提高计算机系统整体运行效率。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (18)
1.一种作业执行预测方法,其特征在于,包括:
资源消耗收集步骤,收集与各作业执行有关的CPU资源信息、I/O资源信息以及执行时间信息;
执行效率对比步骤,根据收集到的信息,针对各个作为预测对象的作业,对比历史CPU执行效率与本次CPU执行效率,并且对比历史I/O执行效率与本次I/O执行效率;
历史剩余执行时间确定步骤,根据收集到的信息,分别确定在按照历史CPU执行效率和历史I/O执行效率继续执行该作业时,从作业预测时刻到该作业执行完毕的CPU历史剩余执行时间和I/O历史剩余执行时间;以及
剩余执行时间预测步骤,基于上述执行效率对比步骤的对比结果、上述CPU历史剩余执行时间和上述I/O历史剩余执行时间,分别预测从上述作业预测时刻到该作业执行完毕的CPU剩余执行时间和I/O剩余执行时间,并将该CPU剩余执行时间和I/O剩余执行时间之和作为该作业的剩余执行时间。
2.根据权利要求1所述的作业执行预测方法,其特征在于,
上述历史剩余执行时间确定步骤包括:
历史对应点确定步骤,根据收集到的信息,确定上述作业所处的上述作业预测时刻的历史对应点,并确定在按照上述历史CPU执行效率和上述历史I/O执行效率继续执行该作业时,从该作业预测时刻到该作业执行完毕的总历史剩余执行时间;
动态影响力判断步骤,根据上述作业对CPU和I/O资源需求的变化,动态判断出CPU操作和I/O操作各自对于该作业执行的影响力;以及
时间区分步骤,利用判断出的CPU操作和I/O操作各自对于作业执行的影响力,区分出上述总历史剩余执行时间中的由CPU操作引起的CPU历史剩余执行时间和由I/O操作引起的I/O历史剩余执行时间。
3.根据权利要求1或2所述的作业执行预测方法,其特征在于,
在上述资源消耗收集步骤中,针对每个作业收集执行该作业所需要消耗的CPU时间、I/O操作次数和历史执行平均时间,并且,在每次作业预测时刻,收集该作业从开始执行到预测时刻经过的时间以及在这段时间中的已消耗CPU时间和已消耗I/O操作次数。
4.根据权利要求1所述的作业执行预测方法,其特征在于,
对比上述历史CPU执行效率与上述本次CPU执行效率得到的对比结果是历史CPU执行效率与本次CPU执行效率的比值,
对比上述历史I/O执行效率与上述本次I/O执行效率得到的对比结果是历史I/O执行效率与本次I/O执行效率的比值。
5.根据权利要求1所述的作业执行预测方法,其特征在于,
在上述剩余执行时间预测步骤中,
上述CPU剩余执行时间是对比上述历史CPU执行效率与上述本次CPU执行效率得到的对比结果与上述CPU历史剩余执行时间之积,
上述I/O剩余执行时间是对比上述历史I/O执行效率与上述本次I/O执行效率得到的对比结果与上述I/O历史剩余执行时间之积。
6.根据权利要求2所述的作业执行预测方法,其特征在于,
在上述动态影响力判断步骤中,
上述总历史剩余执行时间由剩余CPU时间和剩余I/O时间构成,
上述CPU操作对于作业执行的影响力是在从作业预测时刻到该作业执行完毕为止的期间内上述剩余CPU时间在上述总历史剩余执行时间中的占比,
上述I/O操作对于作业执行的影响力是在从作业预测时刻到该作业执行完毕为止的期间内,上述剩余I/O时间在上述总历史剩余执行时间中的占比。
7.根据权利要求2所述的作业执行预测方法,其特征在于,
在上述时间区分步骤中,
上述CPU历史剩余执行时间是CPU操作对于作业执行的影响力与上述总历史剩余执行时间之积,
上述I/O历史剩余执行时间是I/O操作对于作业执行的影响力与上述总历史剩余执行时间之积。
8.根据权利要求1所述的作业执行预测方法,其特征在于,
上述历史CPU执行效率为该作业在历史执行过程中单位时间内占用的CPU时间的平均值,
上述历史I/O执行效率为该作业在历史执行过程中单位时间内占用的I/O时间的平均值。
9.根据权利要求1所述的作业执行预测方法,其特征在于,
对于在上述作业预测时刻已开始执行的作业,上述本次CPU执行效率是该作业在本次执行已经过的时间段内单位时间内占用的CPU时间,上述本次I/O执行效率为该作业在本次执行已经过的时间段内单位时间内占用的I/O时间,
对于在上述作业预测时刻未开始执行的作业,上述本次CPU执行效率是本次已执行完毕的作业的本次CPU执行效率的平均值,上述本次I/O执行效率是本次已执行完毕的作业的本次I/O执行效率的平均值。
10.一种作业执行预测设备,其特征在于,具备:
资源消耗收集装置,收集与各作业执行有关的CPU资源信息、I/O资源信息以及执行时间信息;
执行效率对比装置,根据收集到的信息,针对各个作为预测对象的作业,对比历史CPU执行效率与本次CPU执行效率,并且对比历史I/O执行效率与本次I/O执行效率;
历史剩余执行时间确定装置,根据收集到的信息,分别确定在按照历史CPU执行效率和历史I/O执行效率继续执行该作业时,从作业预测时刻到该作业执行完毕的CPU历史剩余执行时间和I/O历史剩余执行时间;以及
剩余执行时间预测装置,基于上述执行效率对比装置的对比结果、上述CPU历史剩余执行时间和上述I/O历史剩余执行时间,分别预测从上述作业预测时刻到该作业执行完毕的CPU剩余执行时间和I/O剩余执行时间,并将该CPU剩余执行时间和I/O剩余执行时间之和作为该作业的剩余执行时间。
11.根据权利要求10所述的作业执行预测设备,其特征在于,
上述历史剩余执行时间确定装置包括:
历史对应点确定装置,根据收集到的信息,确定上述作业所处的上述作业预测时刻的历史对应点,并确定在按照上述历史CPU执行效率和上述历史I/O执行效率继续执行该作业时,从该作业预测时刻到该作业执行完毕的总历史剩余执行时间;
动态影响力判断装置,根据上述作业对CPU和I/O资源需求的变化,动态判断出CPU操作和I/O操作各自对于该作业执行的影响力;以及
时间区分装置,利用判断出的CPU操作和I/O操作各自对于作业执行的影响力,区分出上述总历史剩余执行时间中的由CPU操作引起的CPU历史剩余执行时间和由I/O操作引起的I/O历史剩余执行时间。
12.根据权利要求10或11所述的作业执行预测设备,其特征在于,
上述资源消耗收集装置针对每个作业收集执行该作业所需要消耗的CPU时间、I/O操作次数和历史执行平均时间,并且,在每次作业预测时刻,收集该作业从开始执行到预测时刻经过的时间以及在这段时间中的已消耗CPU时间和已消耗I/O操作次数。
13.根据权利要求10所述的作业执行预测设备,其特征在于,
对比上述历史CPU执行效率与上述本次CPU执行效率得到的对比结果是历史CPU执行效率与本次CPU执行效率的比值,
对比上述历史I/O执行效率与上述本次I/O执行效率得到的对比结果是历史I/O执行效率与本次I/O执行效率的比值。
14.根据权利要求10所述的作业执行预测设备,其特征在于,
上述CPU剩余执行时间是对比上述历史CPU执行效率与上述本次CPU执行效率得到的对比结果与上述CPU历史剩余执行时间之积,
上述I/O剩余执行时间是对比上述历史I/O执行效率与上述本次I/O执行效率得到的对比结果与上述I/O历史剩余执行时间之积。
15.根据权利要求11所述的作业执行预测设备,其特征在于,
上述总历史剩余执行时间由剩余CPU时间和剩余I/O时间构成,
上述CPU操作对于作业执行的影响力是在从作业预测时刻到该作业执行完毕为止的期间内,上述剩余CPU时间在上述总历史剩余执行时间中的占比,
上述I/O操作对于作业执行的影响力是在从作业预测时刻到该作业执行完毕为止的期间内,上述剩余I/O时间在上述总历史剩余执行时间中的占比。
16.根据权利要求11所述的作业执行预测设备,其特征在于,
上述CPU历史剩余执行时间是CPU操作对于作业执行的影响力与上述总历史剩余执行时间之积,
上述I/O历史剩余执行时间是I/O操作对于作业执行的影响力与上述总历史剩余执行时间之积。
17.根据权利要求10所述的作业执行预测设备,其特征在于,
上述历史CPU执行效率为该作业在历史执行过程中单位时间内占用的CPU时间的平均值,
上述历史I/O执行效率为该作业在历史执行过程中单位时间内占用的I/O时间的平均值。
18.根据权利要求10所述的作业执行预测设备,其特征在于,
对于在上述作业预测时刻已开始执行的作业,上述本次CPU执行效率是该作业在本次执行已经过的时间段内单位时间内占用的CPU时间,上述本次I/O执行效率为该作业在本次执行已经过的时间段内单位时间内占用的I/O时间,
对于在上述作业预测时刻未开始执行的作业,上述本次CPU执行效率是本次已执行完毕的作业的本次CPU执行效率的平均值,上述本次I/O执行效率是本次已执行完毕的作业的本次I/O执行效率的平均值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310014564.6A CN103927228A (zh) | 2013-01-15 | 2013-01-15 | 作业执行预测方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310014564.6A CN103927228A (zh) | 2013-01-15 | 2013-01-15 | 作业执行预测方法和设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103927228A true CN103927228A (zh) | 2014-07-16 |
Family
ID=51145456
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310014564.6A Pending CN103927228A (zh) | 2013-01-15 | 2013-01-15 | 作业执行预测方法和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103927228A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017045482A1 (zh) * | 2015-09-16 | 2017-03-23 | 北京奇虎科技有限公司 | 父任务进度更新方法及装置 |
CN107291767A (zh) * | 2016-04-11 | 2017-10-24 | 西门子工厂自动化工程有限公司 | 任务执行时间的优化处理方法和装置 |
CN109660625A (zh) * | 2018-12-26 | 2019-04-19 | 深圳大学 | 一种边缘设备控制方法、边缘设备及计算机可读存储介质 |
CN112363848A (zh) * | 2020-10-23 | 2021-02-12 | 岭东核电有限公司 | 移动终端远程控制方法、装置、计算机设备和存储介质 |
CN112395311A (zh) * | 2019-08-13 | 2021-02-23 | 阿里巴巴集团控股有限公司 | 一种请求的处理时长的预测方法及装置 |
CN115081944A (zh) * | 2022-07-24 | 2022-09-20 | 国网浙江省电力有限公司湖州供电公司 | 适用于一体化现场移动检测设备的数据同步方法及平台 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5465354A (en) * | 1992-03-19 | 1995-11-07 | Hitachi, Ltd. | Method and apparatus for job execution prediction and control and method for job execution situation display |
CN101202765A (zh) * | 2007-12-19 | 2008-06-18 | 苏州大学 | 一种基于历史反馈的服务网格调度方法 |
CN101697141A (zh) * | 2009-10-30 | 2010-04-21 | 清华大学 | 网格中基于历史数据建模的作业性能预测方法 |
CN102831012A (zh) * | 2011-06-16 | 2012-12-19 | 日立(中国)研究开发有限公司 | 多节点分布式系统中的任务调度装置和任务调度方法 |
-
2013
- 2013-01-15 CN CN201310014564.6A patent/CN103927228A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5465354A (en) * | 1992-03-19 | 1995-11-07 | Hitachi, Ltd. | Method and apparatus for job execution prediction and control and method for job execution situation display |
CN101202765A (zh) * | 2007-12-19 | 2008-06-18 | 苏州大学 | 一种基于历史反馈的服务网格调度方法 |
CN101697141A (zh) * | 2009-10-30 | 2010-04-21 | 清华大学 | 网格中基于历史数据建模的作业性能预测方法 |
CN102831012A (zh) * | 2011-06-16 | 2012-12-19 | 日立(中国)研究开发有限公司 | 多节点分布式系统中的任务调度装置和任务调度方法 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017045482A1 (zh) * | 2015-09-16 | 2017-03-23 | 北京奇虎科技有限公司 | 父任务进度更新方法及装置 |
CN107291767A (zh) * | 2016-04-11 | 2017-10-24 | 西门子工厂自动化工程有限公司 | 任务执行时间的优化处理方法和装置 |
CN107291767B (zh) * | 2016-04-11 | 2020-07-17 | 西门子工厂自动化工程有限公司 | 任务执行时间的优化处理方法和装置 |
CN109660625A (zh) * | 2018-12-26 | 2019-04-19 | 深圳大学 | 一种边缘设备控制方法、边缘设备及计算机可读存储介质 |
CN109660625B (zh) * | 2018-12-26 | 2021-09-17 | 深圳大学 | 一种边缘设备控制方法、边缘设备及计算机可读存储介质 |
CN112395311A (zh) * | 2019-08-13 | 2021-02-23 | 阿里巴巴集团控股有限公司 | 一种请求的处理时长的预测方法及装置 |
CN112363848A (zh) * | 2020-10-23 | 2021-02-12 | 岭东核电有限公司 | 移动终端远程控制方法、装置、计算机设备和存储介质 |
CN115081944A (zh) * | 2022-07-24 | 2022-09-20 | 国网浙江省电力有限公司湖州供电公司 | 适用于一体化现场移动检测设备的数据同步方法及平台 |
CN115081944B (zh) * | 2022-07-24 | 2022-11-11 | 国网浙江省电力有限公司湖州供电公司 | 适用于一体化现场移动检测设备的数据同步方法及平台 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103927228A (zh) | 作业执行预测方法和设备 | |
US10430219B2 (en) | Configuring virtual machines in a cloud computing platform | |
CN101692208B (zh) | 实时交通信息处理的任务调度方法 | |
US7552152B2 (en) | Risk-modulated proactive data migration for maximizing utility in storage systems | |
CN106156115B (zh) | 一种资源调度方法及装置 | |
EP3188096A1 (en) | Data analysis for predictive scheduling optimization for product production | |
CN102868573B (zh) | Web服务负载云测试方法和装置 | |
CN103136039A (zh) | 用于平衡能量消耗和调度性能的作业调度方法和系统 | |
JPH03130842A (ja) | データベースシステムの同時実行制御装置 | |
CN102831012A (zh) | 多节点分布式系统中的任务调度装置和任务调度方法 | |
Kádár et al. | Enhanced control of complex production structures by tight coupling of the digital and the physical worlds | |
CN105190556B (zh) | 实时多任务系统及其执行方法 | |
Armbruster et al. | Continuous models for production flows | |
Spinner et al. | Librede: A library for resource demand estimation | |
CN106600058A (zh) | 一种制造云服务QoS的组合预测方法 | |
CN105912406A (zh) | 一种低能耗的独立任务调度与资源配置方法 | |
CN103593232B (zh) | 一种数据仓库的任务调度方法及装置 | |
Tuli et al. | GOSH: Task scheduling using deep surrogate models in fog computing environments | |
CN103425093A (zh) | 生产工厂中故障状态自动恢复的方法和系统 | |
Ehrenberg et al. | Simulation-based optimization in make-to-order production: scheduling for a special-purpose glass manufacturer | |
CN109960871A (zh) | 一种工业机器人精密减速器性能单工位测试建模调度方法 | |
KR20120133362A (ko) | 로딩 시뮬레이션 기반 동적 피드백 스케줄링 알고리즘을 장착한 최적화된 생산 스케줄링 시스템 | |
Kim et al. | Application-specific cloud provisioning model using job profiles analysis | |
CN105260948B (zh) | 一种城市供水系统日计划调度决策方法 | |
Vanhoucke et al. | The PERT/CPM Technique |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20140716 |