基于资源的调度器制造技术

技术编号:2911628 阅读:280 留言:0更新日期:2012-04-11 18:40
公开了对计算机作业的基于资源的调度。根据本发明专利技术的一个实施例,基于资源的利用率和计算机作业具有的与该资源有关的利用率标准来调度该计算机作业。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及调度计算机作业(computer job)。具体而言,本专利技术的实施例涉及基于特定作业的资源利用率标准和将由这些作业使用的计算机资源的利用率来调度计算机作业。
技术介绍
当今的计算机操作系统(O/S)利用多任务调度器来呈现同时运行的多个计算机作业(例如,进程)。存在许多不同的调度算法,但一般而言,其概念是将称为时间配额(quantum)的一个小时间片赋予进程的一个线程,然后赋予该进程的另一线程或者另一进程,等等。时间配额的长度非常小,通常在20至120毫秒的范围内。由于人的时间感知,因此看起来这些作业是同时运行的。中央处理单元(CPU)往往是多数计算机系统的最快部件,而诸如盘I/O、网络I/O和甚至存储器之类的其他计算机资源往往慢得多。例如,如果按从盘的数据传输和CPU内的数据传输来计量,则盘I/O可能大约比CPU慢大约百万倍。结果,CPU经常等待这些较慢的资源。例如,3GHz的CPU在等待盘驱动器以按毫秒计的平均访问时间来检索数据时通常保持空闲。由于若干不同的作业经常竞争相同的资源,因此作业经常彼此冲突,这使得这些作业中的一个或多个变慢。从用户的角度来看,作业冲突自身表现为无响应的应用、急动的光标移动和缓慢呈现的图形。节流(throttling)是用于将这些负面影响最小化的技术。节流防止应用或作业使用超过所分配的资源量。节流的类型包括盘I/O节流、CPU节流和网络节流。例如,CPU节流可以涉及为应用设立目标CPU利用率限制并且在应用超过该目标限制的情况下迫使应用停止工作。节流有时被应-->用到用于维护应用或不那么重要的计算机作业的计算机资源。尽管节流具有益处,但是计算机作业的资源使用对于其他作业和应用而言不是完全透明的。因为在24小时的时段上计算机资源一般是被浪费的,所以上述问题更加复杂。例如,多数桌面利用少于计算机可用资源的5%,并且高流量服务器通常利用大约20%。即使利用80-90%资源的计算机仍然具有10-20%的可用资源。为了恢复和利用这些不用就会损失的资源,需要这样的技术:该技术允许一个或多个作业在计算机系统中执行,而不显著影响其他作业或应用。该技术不应当在调度作业时消耗用户的时间,或者不应当在作业运行时不利地影响用户与计算机系统的交互。本部分中描述的方法是能够被实行的方法,但不一定是先前已经设想过或实行过的方法。因此,除非另有指明,否则不应当认为本部分中描述的任何方法仅因为被包括在本部分中就可以被当作现有技术。附图说明在附图的各图中通过示例而非限制方式图示了本专利技术,在附图中,相似的标号指示类似的元件,并且其中:图1A是根据本专利技术一个实施例的具有基于资源的调度工作列表的基于资源的调度器的图。图1B是根据本专利技术另一实施例的基于资源的调度器的图。图2是根据本专利技术一个实施例的基于资源的调度的流程图。图3是示出其上可以实现本专利技术的实施例的计算机系统的框图。具体实施方式在以下描述中,出于说明的目的,给出了许多具体细节以提供对本发明的全面了解。然而将会清楚,可以在没有这些具体细节的情况下实施本专利技术。在其他实例中,以框图形式示出公知的结构和设备以避免不必要地模糊本专利技术。-->概述多数计算机不是在100%的时间中利用其所有资源能力。即使在一天二十四小时、一周七天的看起来高度使用的计算机中以及仅在每天的一段时间中开启的计算机中,这通常也是正确的。因此,计算机时间和资源被浪费。例如,在二十四小时的时间段上,被相当繁重地使用并且在活动上可能具有简短峰值(brief spike)的计算机系统平均可能仅使用其资源的大约5%至20%。根据本专利技术的一个实施例,计算机作业是基于资源的利用率和计算机作业具有的与该资源有关的利用率标准来被调度的。例如,计算机作业可以具有以下利用率标准以使得计算机作业被调度:盘I/O资源具有60%可用能力。在本实施例中,如果盘I/O资源的可用能力小于60%,则计算机作业不被调度。在一个实施例中,基于资源的调度器(RBS)将每个计算机作业放置到若干不同的基于资源的调度工作列表的至少一个上。这些基于资源的调度工作列表包括但不限于盘I/O调度工作列表、CPU调度工作列表和网络I/O调度工作列表。因此,特定调度工作列表包括等待使用特定资源的计算机作业。在本实施例中,每个计算机作业具有与特定资源有关的利用率标准。RBS选择这些资源之一以接下来使得计算机作业被调度。在一个实施例中,该选择基于资源的优先级。例如,盘I/O资源可以比CPU资源具有更高的优先级。在一个实施例中,与被指定为较快资源的资源相比,被指定为较慢资源的资源被赋予较高的优先级。在选择将要调度哪种资源之后,RBS从与所选择的资源相对应的工作列表中选择计算机作业之一以供执行。在一个实施例中,RBS基于使资源的可用能力与计算机作业的利用率标准相匹配的标准来选择计算机作业。然而,RBS也可以使用其他因素,例如计算机作业的优先级、所需的计算机作业执行顺序、计算机作业被放置在工作列表上的顺序等等。注意,在一个实施例中,当每个计算机作业将利用的资源(全部或部分地)可用时,即使该作业不需要的其他资源被其他作业(全部或部分地)利用,RBS也通过调度该作业来允许多种计算机资源的高效利用,并-->且降低对其他作业的性能的冲击。基于资源的调度器图1A是根据本专利技术一个实施例的具有基于资源的调度工作列表120的基于资源的调度器(RBS)100的图。RBS 100基于不同计算机资源的可用能力来前摄地(pro-actively)调度计算机作业。例如,这些不同资源可以包括但不限于CPU、盘I/O、网络I/O、视频、存储器、键盘、网络资源等等。这里所使用的术语“计算机作业”或者“作业”包括但不限于计算机进程、线程、微作业(micro-job)(将在下文讨论)或者可执行的计算机代码的任何部分。RBS 100可以允许每个计算机作业在不与任何其他作业对资源的要求冲突的情况下接收其对资源的要求。在一个实施例中,RBS 100能够确定特定资源何时仅被部分利用,并能够将未利用的部分分配给所选择的作业,而对已经利用该资源的任何其他作业具有最小的冲击。在一个实施例中,RBS 100针对各种不同的资源来调度计算机作业。这些不同的资源与RBS 100可以在同一计算机系统上或者可以不在同一计算机系统上本文档来自技高网...

【技术保护点】
一种机器实现的方法,包括以下步骤: 基于特定资源的利用率以及与该特定资源有关并与特定计算机作业相关联的利用率标准,确定是否调度所述特定计算机作业来利用所述特定资源。

【技术特征摘要】
【国外来华专利技术】US 2006-6-19 11/471,466;US 2006-10-10 11/546,5141.一种机器实现的方法,包括以下步骤:
基于特定资源的利用率以及与该特定资源有关并与特定计算机作业相
关联的利用率标准,确定是否调度所述特定计算机作业来利用所述特定资
源。
2.如权利要求1所述的方法,还包括:
确定所述计算机作业对所述特定资源的预期利用率,其中,所述利用
率标准基于所述预期利用率。
3.如权利要求2所述的方法,其中,确定预期利用率的步骤包括检查
所述计算机作业中的指令。
4.如权利要求2所述的方法,其中,确定预期利用率的步骤包括:
访问描述所述计算机作业对所述特定资源的先前利用率的值;以及
使所述预期利用率基于描述先前利用率的存储值。
5.如权利要求1所述的方法,还包括从拥有所述计算机作业的应用程
序接收所述利用率标准。
6.如权利要求1所述的方法,还包括将所述计算机作业放置在多个基
于资源的调度工作列表中的至少一个工作列表上。
7.如权利要求1所述的方法,还包括:
对于将被调度以供执行的多个计算机作业中的每一个计算机作业,将
该计算机作业放置在与多种计算机资源相对应的多个基于资源的调度工作
列表中的至少一个工作列表上,其中,基于给定资源的调度工作列表包括
等待利用该给定计算机资源的计算机作业。
8.如权利要求7所述的方法,还包括:
选择特定计算机资源以被所述多个计算机作业之一利用。
9.如权利要求1所述的方法,其中,确定是否调度所述特定计算机作
业来利用所述特定资源的步骤是由操作系统执行的。
10.如权利要求1所述的方法,其中,确定是否调度所述特定计算机
作业来利用所述特定资源的步骤是由操作系统外部的基于资源的调度器执
行的。
11.如权利要求1所述的方法,还包括确定所述特定资源的利用率。
12.如权利要求1所述的方法,还包括估计所述特定资源在区间上的
计划利用率。
13.如权利要求12所述的方法,其中,确定是否调度所述特定计算机
作业来利用所述特定资源的步骤基于所述特定资源在所述区间上的计划利
用率和所述利用率标准。
14.如权利要求1所述的方法,其中,确定是否调度所述特定计算机
作业来利用所述特定资源的步骤还基于另一资源的利用率和与所述特定计
算机作业相关联且与该另一资源有关的利用率标准。
15.如权利要求1所述的方法,其中,所述特定资源的利用率基于所
述特定资源的利用时间量。
16.如权利要求1所述的方法,其中,所述特定资源的利用率基于对
使用所述特定资源的请求的数目。
17.一种机器实现的方法,包括以下步骤:
将多个计算机作业中的每一个计算机作业放置在与多种计算机资源相
对应的多个基于资源的调度工作列表中的至少一个工作列表上,其中,基
于给定资源的调度工作列表包括各自具有与所述给定资源有关的利用率标
准的计算机作业;
选择特定计算机资源以被所述多个计算机作业之一利用;以及
基于所述特定计算机资源的利用率和所述工作列表上针对所述特定计
算机资源的至少一个计算机作业的利用率标准,选择所述计算机作业之一
来利用所述特定计算机资源。
18.如权利要求17所述的方法,还包括向所述多种计算机资源中的每
一种指派优先级。
19.如权利要求18所述的方法,其中,选择特定计算机资源以被所述
多个计算机作业之一利用的步骤基于指派给所述多种计算机资源中的每一
种的优先级。
20.如权利要求18所述的方法,其中,向所述多种计算机资源指派优
先级的步骤基于所述多种计算机资源的相对速度。
21.如权利要求17所述的方法,其中,选择所述计算机作业之一来利
用所述特定计算机资源的步骤基于所述工作列表上针对所述特定计算机资
源的至少一个计算机作业的优先级。
22.如权利要求17所述的方法,其中,选择所述计算机作业之一来利
用所述特定计算机资源的步骤包括:
标识所述工作列表上针对所述特定资源的计算机作业之一;以及
如果所述特定资源的估计利用率指示出足够的可用能力来满足所述特
定计算机作业的利用率标...

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

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

1