用于调度计算机微作业以在非干扰时间执行的方法、系统和装置制造方法及图纸

技术编号:2911626 阅读:250 留言:0更新日期:2012-04-11 18:40
提供了一种方法、系统和装置,用于将计算作业划分成微作业并将这些微作业的执行分配到所需资源遵从一个或多个空闲标准的时间。微作业被经常性地执行,但仅在微作业所需的资源不被其他作业所需时被执行。利用该方法的软件程序在计算机被加电期间可以始终被运行,而对于在同一计算机系统上运行的其他软件程序的性能没有影响。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及在计算环境中执行软件应用。具体地,本专利技术的实施例涉及将应用的计算或输入/输出作业划分成微作业(micro-job)并将这些微作业的执行分配到计算机资源利用率较低的时段,以使得对这些微作业的执行不会严重影响其他应用和作业的性能。
技术介绍
在大型计算机的早期,按一批一批的作业来运行软件程序的概念是标准的做法。计算机的数目是有限的,因此用户必须对其作业进行调度,以在计算机未用于某个其他的更重要的作业时在计算机上运行(作业)。在这种系统中,每个作业被调度为没有中断地运行直到完成,之后是下一个作业,然后是再下一个。可用的计算机时间的有限性使得必须在“业余时间”(off-hour)运行低优先级作业,以便不会对高优先级的应用造成延迟。最近,多任务计算机系统已经允许了通过单个CPU来同时或交错地执行两个或更多个作业。多任务计算机系统允许许多应用在同一个总的时间段中执行。通常,多任务系统具有复杂的内部调度算法,其中,根据指派的优先级来调度进程。但是,应用仍然会争用计算资源。为了缓和资源争用,多任务系统中的应用可在操作者调度的基础上在“业余时间”运行。在业余时间运行的应用可包括维护作业、例如备份、索引编排、软件更新、病毒和恶意软件扫描以及碎片整理。业余时间处理的候选还可包括运行报告、执行财务计算等等的软件应用。但是,诸如索引编排器之类的一些应用应当在生产时间期间运行。因此,不是所有的应用都适合于在业余时间执行。调度作业以在业余时间运行的另一个问题是在该作业被调度来运行的-->时间计算机可能被关闭了。另一个问题是某些机器没有明确标识的业余时间。例如,许多计算机系统一天二十四小时都被用于这样一个计算活动:该计算活动被认为是足够重要的,因此不应当被中断一长段时间。因此,不存在用来调度作业的“业余时间”。还有一个问题在于,通常用户必须判定何时应当调度作业来进行业余时间计算。这样,设定调度就会占用用户的时间,并且可能发生用户差错。如前所述,对计算作业的运行可能会干扰用户使用计算机的能力,并且可能夺走其他可能更紧迫的应用和作业的资源。扼制(throttling)是一种用于使这些负面影响达到最低限度的技术。扼制防止了应用或作业使用比所分配量更多的资源。扼制的类型包括盘I/O扼制、CPU扼制和网络扼制。例如,CPU扼制可包括为某一应用确立目标CPU利用率极限,并且如果该应用超过该目标极限,则强迫该应用停止工作。扼制有时被应用到用于维护应用或不那么重要的计算作业的计算机资源。虽然扼制确实有益,但是计算作业的资源使用对于其他作业和应用来说并不是完全透明的。同时,值得注意的是,即使是在对紧急的最高优先级作业进行处理期间,也有相当多的计算资源未被使用。CPU、存储器、盘驱动器和网络的速度的巨大差异通常导致这些组件中的一个或多个在其他组件之一完全被消耗的同时处于空闲中。例如,3GHz的CPU常常在等待盘驱动器以按毫秒来衡量的平均访问时间检索数据的同时处于空闲。为了恢复和利用这些资源(否则就会损失),需要的是这样一种技术,其允许一个或多个作业在不严重影响其他作业或应用的情况下在计算机系统中执行。该技术不应当消耗用户的时间来调度作业,也不应当在该作业运行时影响用户与计算机系统的交互。该技术不应当要求调度作业以在业余时间运行。该技术应当能够被没有业余时间的计算机系统所利用,并且对其有益。本部分中描述的方法是能够被实行的方法,但不一定是先前已经设想过或实行过的方法。因此,除非另有指明,否则不应当认为本部分中描述的任何方法仅因为被包括在本部分中就可以被当作现有技术。-->附图说明在附图中以示例方式而非限制方式示出了本专利技术,在附图中相似的标号指代类似的元件,其中:图1是根据本专利技术实施例用于执行微作业的体系结构的图。图2示出传统应用存储器占用量与根据本专利技术实施例的应用存储器占用量的比较。图3是示出根据本专利技术实施例利用微作业来执行具备微作业调度器能力的应用的过程步骤的流程图。图4示出根据本专利技术实施例利用微作业来对存储介质进行碎片整理的过程步骤。图5是示出本专利技术实施例可在其上实现的计算机系统的框图。具体实施方式在以下描述中,出于说明目的,阐述了许多具体细节以帮助全面理解本专利技术。但是,很明显,没有这些具体细节也可以实现本专利技术。在其他情况下,以框图形式示出公知的结构和设备,以避免不必要地模糊本专利技术。概述大多数计算机并不会始终利用其所有资源能力。甚至对于那些看起来每天二十四小时、每周七天都被大量使用的计算机,以及只在每天的一部分时间中开启的计算机来说,这一点通常都是真的。因此,计算机时间和资源被浪费了。例如,在二十四小时的时段期间,被相当重地使用的并且可能具有短暂的活动峰值的计算机系统,平均起来可能只使用了其资源的大约百分之五到百分之二十。这里公开了一种方法、系统和装置,用于通过将计算作业划分成微作业并在运行微作业所需的资源空闲时执行这些微作业,来利用这些未被使用的计算机资源。这里使用的术语“微作业”是计算机进程的这样一部分:该部分的执行可被延迟,而不会影响进程的其余部分的结果。这里使-->用的术语“空闲资源”、“空闲时间”等等指的是资源未被100%利用的时间,也就是说,资源的未被利用的部分被认为处于“空闲”中,即使该资源的某个其他部分正被利用。这样,微作业被经常性地(on an ongoing basis)执行,但并不尝试尽可能快地使计算作业完成。利用该方法的软件程序在计算机被加电期间可以始终被运行,而对于在同一计算机上同时运行的其他软件程序的性能的影响很小,从而实际上使得每单位时间能够完成更多有用的工作。与在给定当前资源约束的情况下尝试尽可能快地运行作业或者调度作业以在“业余时间”运行来避免严重影响其他作业和应用相比,作业在计算机上被经常性地运行,但却是以微小到用户或其他计算机作业无法察觉的片段来运行的。这样,作业对于用户以及其他作业和应用来说可以完全透明。用户不需要调度作业;利用此方法,它可在包括性能关键时间在内的任何时间被运行。本说明书中使用的对于其他作业、进程和应用“透明”这一术语指的是其他作业和应用能够在不遭受由于微作业的执行而导致的任何严重的负面性能影响的情况下执行。可以通过比较测试作业单独运行要花多少时间以及在划分成微作业的计算作业执行期间运行要花多少时间来确定负面影...

【技术保护点】
一种机器实现的方法,包括以下步骤: 对于多个微作业中的每一个: 判定运行特定微作业所需的一种或多种资源的利用率何时遵从一个或多个空闲标准;以及 至少部分基于对运行所述特定微作业所需的一种或多种资源的利用率遵从一个或多个空闲 标准的判定来使得所述特定微作业被执行。

【技术特征摘要】
【国外来华专利技术】US 2006-6-19 11/471,4661.一种机器实现的方法,包括以下步骤:
对于多个微作业中的每一个:
判定运行特定微作业所需的一种或多种资源的利用率何时遵从一
个或多个空闲标准;以及
至少部分基于对运行所述特定微作业所需的一种或多种资源的利
用率遵从一个或多个空闲标准的判定来使得所述特定微作业被执行。
2.如权利要求1所述的方法,还包括将计算作业划分成所述多个微作
业。
3.如权利要求2所述的方法,其中,将计算作业划分成所述多个微作
业的步骤是由发起所述计算作业的应用程序来执行的。
4.如权利要求2所述的方法,其中,将计算作业划分成所述多个微作
业的步骤是由除了发起所述计算作业的应用程序之外的软件进程来执行
的。
5.如权利要求2所述的方法,其中,判定运行特定微作业所需的一种
或多种资源的利用率何时遵从一个或多个空闲标准的步骤是由操作系统来
执行的。
6.如权利要求1所述的方法,其中,判定运行特定微作业所需的一种
或多种资源的利用率何时遵从一个或多个空闲标准的步骤是由操作系统外
的微作业调度器来执行的。
7.如权利要求1所述的方法,还包括基于指定了在每个微作业的执行
之间等待的最小时间量的等待时间来推迟所述多个微作业中的至少一个的
执行。
8.如权利要求7所述的方法,还包括应用程序指定所述等待时间。
9.如权利要求8所述的方法,其中,所述指定所述等待时间的步骤包
括对于所述多个微作业中的不同微作业指定不同的最小时间量。
10.如权利要求1所述的方法,其中,所述一个或多个空闲标准是基
于一种或多种资源利用率阈值的。
11.如权利要求10所述的方法,还包括指定所述一种或多种资源利用
率阈值。
12.如权利要求10所述的方法,还包括对于所述多个微作业中的不同
微作业指定不同的资源利用率阈值。
13.如权利要求1所述的方法,其中,至少部分基于对运行所述特定
微作业所需的一种或多种资源的利用率遵从一个或多个空闲标准的判定来
使得所述特定微作业被执行的步骤还基于在允许其他作业利用计算机资源
之前限制被允许执行的微作业的数目。
14.如权利要求13所述的方法,其中,限制被允许执行的微作业的数
目的步骤是通过检查除了所述应用程序之外的进程的计算机资源利用率来
确定的。
15.如权利要求1所述的方法,还包括确定分配给发起计算作业的应
用的存储器的量,其中确定存储器的量的步骤是基于执行所述应用的微作
业所需的、量小得多的存储器的,而不是基于所述应用整体上的存储器需
求的。
16.如权利要求15所述的方法,其中确定存储器的量的步骤还基于所
述计算机系统中可用的存储器的量。
17.如权利要求1所述的方法,其中所述微作业是计算机进程的一部
分,并且每个微作业的执行可被延迟,而不会影响所述计算机进程的其余
部分的结果。
18.一种承载一个或多个指令序列的计算机可读介质,所述一个或多
个指令序列在被一个或多个处理器执行时使得所述一个或多个处理器进行
以下步骤:
对于多个微作业中的每一个:
判定运行特定微作业所需的一种或多种资源的利用率何时遵从一
个或多个空闲标准;以及
至少部分基于对运行所述特定微作业所需的一种或多种资源的利
用率遵从一个或多个空闲标准的判定来使得所述特定微作业被执行。
19.如权利要求18所述的计算机可读介质,还包括在被所述一个或多
个处理器执行时使得所述一个或多个处理器执行以下步骤的指令:将计算
作业划分成所述多个微作业。
20.如权利要求18所述的计算机可读介质,还包括在被所述一个或多
个处理器执行时使得所述一个或多个处理器执行以下步骤的指令:基于指
定了在每个微作业的执行之间等待的最小时间量的等待时间来推迟所述多
个微作业中的至少一个的执行。
21.如权利要求20所述的计算机可读介质,其中,用于基于指定了在
每个微作业的执行之间等待的最小时间量的等待时间来推迟所述多个微作
业中的至少一个的执行的指令包括用于执行以下步骤的指令:对于所述多
个微作业中的不同微作业指定不同的最小时间量。
22.如权利要求18所述的计算机可读介质,其中,用于执行判定运行
特定微作业所需的一种或多种资源的利用率何时遵从一个或多个空闲标准
的步骤的指令包括用于执行以下步骤的指令:基于一种或多种资源利用率
阈值来判定运行特定微作业所需的一种或多种资源的利用率何时遵从一个
或多个空闲标准。
23.如权利要求22所述的计算机可读介质,还包括在被所述一个或多
个处理器执行时使得所述一个或多个处理器执行以下步骤的指令:指定所
述一种或多种资源利用率阈值。
24.如权利要求22所述的计算机可读介质,还包括在被所述一个或多
个处理器执行时使得所述一个或多个处理器执行以下步骤的指令:对于所
述多个微作业中的不同微作业指定不...

【专利技术属性】
技术研发人员:安德鲁斯塔弗巴希尔托马斯克雷格詹森
申请(专利权)人:帝斯科匹尔公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1