CN100432894C - 使用多个约束的性能调度 - Google Patents
使用多个约束的性能调度 Download PDFInfo
- Publication number
- CN100432894C CN100432894C CNB2004800159366A CN200480015936A CN100432894C CN 100432894 C CN100432894 C CN 100432894C CN B2004800159366 A CNB2004800159366 A CN B2004800159366A CN 200480015936 A CN200480015936 A CN 200480015936A CN 100432894 C CN100432894 C CN 100432894C
- Authority
- CN
- China
- Prior art keywords
- processing requirements
- processor
- speed
- processor speed
- requirement
- 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.)
- Expired - Fee Related
Links
- 238000012545 processing Methods 0.000 claims abstract description 175
- 238000000034 method Methods 0.000 claims description 35
- 230000015572 biosynthetic process Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 13
- 238000005516 engineering process Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000002045 lasting effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/329—Power saving characterised by the action undertaken by task scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Sources (AREA)
- Multi Processors (AREA)
Abstract
确定与每一个不同类型的处理要求相关联的处理器速度。这些处理器速度被汇总在起,形成***中的处理器的有效处理器速度。处理器的处理器速度使得能够在降低功耗的同时满足不同类型的处理要求。
Description
技术领域
本发明涉及计算***,并且特别地,涉及所述计算***的功耗。
背景技术
计算机***在世界上无处不在,包括从例如个人数字助理和蜂窝电话的小型手持电子设备到例如机顶盒、数字摄相机和其他消费类电子产品的专用电子设备,到例如笔记本计算机、准笔记本计算机(sub-notebook)和平板计算机(tablet computer)的中等大小的移动***,再到桌上***、工作站和服务器的所有东西。
在过去几年,半导体技术已经有了很多进步,这些进步已经导致了改进的电子设备的发展,所述改进的电子设备具有工作于更高频率并支持额外的和/或增强的特征的集成电路(IC)。虽然这些进步已经使得硬件制造商能够设计和建造更快和更精密的计算机***,但是它们也带来了更高功耗的缺点,尤其是对于电池供电的计算机***。
已知各种用于降低计算机***中的功耗的技术。例如,高级配置和电源接口(AdvancedConfiguration and Power Interface,ACPI)规范(2002年10月11日2.0b修订版)给出了有关如何降低便携式和其他的计算机***的动态功耗的信息。针对在计算机***中使用的处理器,在ACPI规范中定义了四种处理器功耗模式(C0、C1、C2和C3)。例如,在处理器正在执行指令时,它处于C0模式。C0模式是高功耗模式。在处理器不执行指令或者空闲时,它可以被置于低功耗模式C1、C2或C3中的一种。计算机***中的操作***可以将空闲的处理器动态地转换到适当的低功耗模式中。
C1功率模式是具有最低延迟(latency)的处理器功率模式。C2功率模式相对于C1功率模式提供了改进的功率节省。在C2功率模式中,处理器仍能够维持***缓存(cache)的上下文(context)。与C1和C2功率模式相比,C3功率模式提供了更低的功耗,但是具有比C2和C1功率模式更高的退出延迟(exit latency)。在C3功率模式中,处理器可能不能针对其他的***活动维持处理器缓存的一致性。
虽然由ACPI所定义的降低的功耗模式以及已知的技术具有一些优点,但是仍存在着对改进当前技术的持续需求。
附图说明
从下面给出的本发明实施方案的详细描述和附图,将更充分地理解本发明,但是,本发明的实施方案不应该被当作将本发明限于所描述的具体实施方案,而仅仅是为了说明和理解。
图1是示出现有技术计算机***的实施例的框图。
图2是根据一个实施方案的框图,示出可以考虑多个类型的处理要求的调度器(scheduler)的实施例。
图3A、3B和3C根据一个实施方案,示出了不同的处理要求的块图例子。
图4是根据一个实施方案的框图,示出汇总和不同的处理要求相关联的处理器速度的实施例。
图5是根据一个实施方案的框图,示出根据任务的处理要求对其进行安排的实施例。
图6是根据一个实施方案的流程图,示出用来确定性能分布(performance profile)的过程的实施例。
图7是根据一个实施方案的流程图,示出用来确定汇总处理器速度的过程的实施例。
具体实施方案
对于一个实施方案,公开了一种用于为计算机***建立性能分布的方法和装置。可以使用两个或更多个任务的两个或更多个不同类型的处理要求或者约束来建立性能分布。性能分布可以帮助在降低功耗的同时满足处理要求。
在下面的描述中,为了说明的目的,给出了许多具体细节,以便提供对本发明的透彻理解。但是对于本领域熟练技术人员将很清楚,无需这些具体细节也可以实践本发明。在其他的实例中,用框图和流程图的形式给出了公知的结构、过程和设备,以便说明本发明的实施方案,并且,它们可能未被详细地讨论,以避免无谓地模糊了对本说明书的理解。
如这里所使用的,术语“在…时(when)”可以被用来指示事件的时间本质。例如,短语“事件A在事件B发生时发生”要被解释成表明事件A可以发生在事件B的发生之前、期间或之后,但是仍然和事件B的发生相关联。例如,如果事件A响应事件B的发生而发生,或者响应指示事件B已经发生、正在发生或将要发生的信号而发生,则事件A在事件B发生时发生。
在本说明书中提及“实施方案”、“一个实施方案”、“一些实施方案”或“其他实施方案”表明结合这些实施方案所描述的特定特征、结构或特性至少被包括在本发明的一些实施方案中,但不一定被包括在本发明所有的实施方案中。不只一次出现“实施方案”、“一个实施方案”或“一些实施方案”不一定全都指的是同样的实施方案。
单一类型的处理要求
图1为示出现有技术计算机***的实施例的框图。一般地,计算机***100可以包括调度器105(例如电压调度器)。计算机***100也可以包括处理器110。在处理器110被设置成以可能的最高处理器速度(例如,像处理器制造商所规定的那样)运行时,处理器110的功耗可能很高。通过使用当今可获得的技术来调节处理器110的处理器速度,可以控制处理器110的功耗。例如,一种技术是动态电压管理(DVM)。使用DVM,处理器110的性能和功耗可以由调度器105来调节。调节可以在运行时(run-time)被执行。例如,在处理器110不繁忙时,处理器频率和电压可以被降低。通过工作在低于最高处理器速度的处理器速度,处理器110的功耗可以被降低。
可能有一些代价与使处理器110在低于其可能的最高处理器速度工作相关联。在处理器速度比应用程序(application)所期望的慢时,应用程序可能失败。在处理器速度比应用程序所期望的快时,可能发生不必要的功耗。例如,在媒体播放应用程序中,应用程序可能要求处理器110以高处理器速度运行,以实现更佳的用户体验。应用程序在短时间周期中可能是活跃的,并且,它可能在长时间周期中保持不活跃。在使用DVM时,当应用程序不活跃时,处理器速度可以被降低。但是,在应用程序变得活跃时,此被降低了的处理器速度可能太慢了。
可获得不同的技术来帮助更好地为处理器110确定处理器速度。但是,如图1所示,这些技术只考虑单一类型的处理要求。因为只考虑单一类型的处理要求来确定处理器速度,所以处理器速度对于一种类型的处理要求可能是最佳的,并且对于另一类型的处理要求可能不是最佳的。
在考虑所有不同类型的处理要求时确定最佳处理器速度可能很困难,特别是在这样的处理器速度要基本上不干扰例如用户体验或应用程序的可靠性的时候。已经提出了各种预测调度(predictive scheduling)技术。例如,这些调度技术包括给应用程序的数据流图中的每一个操作分配频率或预先确定的电源电压,以便使得对于给定的计算时间或吞吐量约束或者这两者的平均能量消耗最小。另外,已经提出了自定时电路,自定时电路降低电源电压,直到处理器满足处理要求为止。这种方法根据每单位时间处理数据的量来动态地调整电源电压。不幸的是,在被应用到例如视频或音频处理的多媒体应用程序时,预测方法和自定时电路经常提供次优的(sub-optimal)性能。为了有用,预测算法或定时电路需要根据内容数据(例如MPEG帧的内容)准确地预测未来的计算需求。即使预测是准确的,这种方法也可能要求大量额外的处理(因而更多能量和功率消耗),以产生所述预测。
多个类型的处理要求
图2为根据一个实施方案,示出可以考虑多个类型的处理要求的调度器的实施例的框图。在这个实施例中,计算机***200可以包括调度器205(例如电压调度器)。计算机***200还可以包括很多不同的实体(entity)。例如,这些实体可以是硬件、固件、操作***(OS)、高层应用程序等。每一个实体可以从处理器210要求处理资源。每一个实体可以具有不同的处理要求。处理要求可以是同一类型,或者,它们可以是不同的类型。例如,参考图2,不同类型的处理要求可以包括处理器利用率(或类型1)220、基于期限的(或类型2)225、缓冲器水平(或类型3)230和基于速率的(或类型4)235处理要求。尽管在这里没有描述,但是,除了处理要求220-235以外,本发明的实施方案也可以包括其他类型的处理要求。
对于一个实施方案,调度器205可以将不同类型的处理要求合起来使用,以形成性能分布。调度器205可能需要理解不同类型的处理要求,并具有用于将其组合或混合成一个组合处理要求的机制。例如,调度器205可能需要能够将与缓冲器水平处理要求、基于速率的处理要求、利用率处理要求和基于期限的处理要求相关联的处理要求协调成一个汇总(aggregate)。性能分布可能影响不同类型的处理要求可以如何被满足,以及多少处理资源可以被分配。对于一个实施方案,性能分布可以包括使性能调节能够进行的信息。例如,根据处理要求,性能分布可以包括关于通讯带宽、存储器总线速度、存储器总线宽度、处理器速度等中的一个或更多个的信息。
与处理要求相关联的处理器速度
对于一个实施方案,每一个处理要求可以与期望的处理器速度相关联。期望的处理器速度可以由实体(例如硬件、固件、OS、应用软件等)指定。期望的处理器速度也可以由实体外部的来源(例如由用户或另一个应用程序)指定。
对于一个实施方案,处理器利用率处理要求可以涉及在给定时间窗内处理器210的利用率。例如,根据处理器210被利用了多少(例如繁忙或空闲),处理器速度可以被降低或增加。
对于一个实施方案,基于期限的处理要求可以涉及在期限之前完成预计的工作数量。例如,可以使用下列等式来近似处理器210期望的处理器速度:
处理器速度=工作数量/被允许来完成工作的时间长度。
例如,在媒体播放应用程序中,在给定时间周期之前需要被完成的帧速(它可以被转换为周期性速率和帧期限(frame deadline))和每帧的周期(对于每一帧或对于所有帧)被指定,并被用来近似所要求的处理器速度。但是,在帧速在给定时间周期(或期限)内未被满足时,调度器205(例如电压调度器)可以增加处理器210的处理器速度。这可以帮助在给定时间周期内满足基于期限的处理要求。基于期限的处理要求可以被用于对时间要求严格的(time-critical)应用程序。
对于一个实施方案,缓冲器水平处理要求可以涉及特定实体使用的输入和输出缓冲器水平中的一个或更多个。例如,在视频解码器应用程序中,在输出缓冲器充满输出视频帧时,处理器210的处理器速度可以被降低(并且应用程序可以运行较慢),因为没有对更多输出视频帧的短期需求。另举一例,在加密文件复制应用程序中,其中,速率限制因素是通讯信道,处理器210的处理器速度可以由通讯缓冲器有多满来支配。在传送来自缓冲器的数据中,当缓冲器满时,处理器可以以慢处理器速度运行。在处理器空时,处理器可以以更快的处理器速度运行。缓冲器水平处理要求也可以被用于对时间要求严格的应用程序。
对于一个实施方案,基于速率的处理要求可能涉及获得持续的处理速率,独立于任何其他的处理要求,例如期限、缓冲器水平或处理器利用率。例如,编译实体(或应用程序)可以指定它需要某一“每秒周期”平均值(例如等效于200MHz的处理器速度),即使处理器210可能能够运行高得多的处理器速度。可能不存在和编译实体相关联的固有期限处理要求,但是可能期望稳定的进度速率处理要求。这个信息可能是有用的,以允许计算机***200为编译实体分配足够的处理资源来取得进展并避免资源枯竭,而不必迫使处理器210到达可能导致不必要功耗的速率。基于速率的处理要求可以被用于对时间要求不严格(non-time critical)的应用程序。
可以注意到,计算机***200中的很多实体可能具有“未被标明的”处理要求或没有处理要求。对于一个实施方案,在没有提供处理要求时,调度器205可能需要使用缺省的处理要求。例如,调度器205可能假设实体是低计算量(low-computation)实体,该实体具有持续时间短并且处理器利用率低的处理要求。结果,调度器205可能将处理器210的处理器速度设置成以慢速运行。
图3A、3B和3C根据一个实施方案,示出了不同处理要求的块图例子。如上所述,计算机***200接收到的每一个处理要求可以与处理器速度相关联。例如,计算机***200可能正在处理三个不同的任务(或应用程序)。每一个任务均可能具有不同类型的处理要求。如图3A中的例图所示,第一个任务(“A”)可能具有第一类型的处理要求,第一类型的处理要求可能与处于100MHz的期望处理器速度(速度“A”)相关联。在这个实施例中,第一任务(“A”)可以包括子任务A1-A5。第一处理要求可以是基于速率的处理要求,并且,它可能需要100MHz的持续的处理器速度。如图3B中的例图所示,第二任务(“B”)可能具有第二类型的处理要求,第二类型的处理要求可能与处于125MHz的期望处理器速度(速度“B”)相关联。在这个实施例中,第二任务(“B”)可能包括子任务B1-B5。第二处理要求可以是基于期限的处理要求。只要在期限之前完成全部的子任务B1-B5,则认为满足了任务“B”的处理要求。
如图3C中的例图所示,第三任务(“C”)可能具有第三类型的处理要求,第三类型的处理要求可能与处于200MHz的期望处理器速度(速度“C”)相关联。在这个实施例中,第三任务(“C”)可以包括子任务C1-C3。第三处理要求可以是缓冲器水平处理要求。第三任务“C”的处理要求在足够长来填充缓冲器(子任务C1)的周期内可能期望200MHz的处理器速度,但是在缓冲器需要再次被填充(子任务C2)之前,可能不需要多少处理器速度。
汇总处理器速度
对于一个实施方案,与不同的处理要求相关联的处理器速度可以被用来形成性能分布,包括形成满足所有不同类型的处理要求的有效处理器速度。对于一个实施方案,这包括汇总与每一个不同的处理要求相关联的处理器速度并形成处理器210的有效处理器速度。图4为根据一个实施方案,示出汇总与不同的处理要求相关联的处理器速度的实施例的框图。对于一个实施方案,与任务“A”、“B”和“C”的处理要求相关联的处理器速度可以被加在一起,以生成总的处理器速度估计:
处理器速度=“速度A”+“速度B”+“速度C”。
参考图4,汇总的有效处理器速度被示出为大约425MHz(100+125+200)。因此,在这个实施例中,在处理器210被设置成以425MHz的有效速度运行时,任务“A”、“B”和“C”的处理要求可以被满足。此外,不必将处理器210设置成以其可能的最高处理器速度运行就可以满足这些处理要求。这可以帮助减少任何不必要的功耗。
可以注意到,也可以使用其他的技术来组合与不同类型的处理要求相关联的处理器速度来形成有效处理器速度。例如,可以采用一种算法来考虑不同类型的处理要求之间的交叉算法(cross-algorithm)影响。此外,尽管所描述的技术涉及确定有效处理器速度,但是,本领域熟练技术人员可以发现,其他和性能相关的因素也可以被确定。例如,有可能考虑多个类型的处理要求来确定计算机***200的热学特性、冷却特性等。
参考图4所示的实施例,425MHz的汇总有效处理器速度在某些时刻可能超过了必需的速度。例如,在时刻t1,处理器速度可能足以满足任务“A”、“B”和“C”的所有处理要求。但是,在时刻t2和t3,处理器速度可能超过了必需的速度,并且可能导致不必要的功耗。
根据处理要求安排工作量
图5是根据一个实施方案,示出根据任务的处理要求安排任务的实施例的框图。在图3中所示的实施例中,只要满足了期限,则有多少计算资源被分配给任务“B”的期限处理要求可能没有关系。因此,任何早于任务“B”的期限满足其处理要求可能并不有利。
对于一个实施方案,为了在满足不同的处理要求的同时进一步降低功耗,汇总的处理器速度(在这个实施例中处于425MHz)可以被降低,只要满足所有任务的所有处理要求。当处理器速度被降低时,满足一些处理要求可能要用更长的时间,但是计算机***200的功耗可以被降低。如图5中所示,计算机***200可能要用更长的时间来满足任务“A”、“B”和“C”的处理要求中的一个或更多个,但是可以以降低的处理器速度来满足这些任务的处理要求。在这个实施例中,处理器速度可以被从425MHz降低到200MHz。注意,在图5的图中,这些块变得更长,但是较低,并且保持每一个块的面积(与图4中的面积相比)。
汇总过程
图6是根据一个实施方案,示出用来确定性能分布的过程的实施例的流程图。在框605,接收到两个或更多个处理要求。处理要求可以具有不同的类型。例如,一些可以是基于速率的而其他的则可以是基于期限的。在框610,使用处理要求来形成性能分布。如上所述,这可以包括确定与每一个处理要求相关联的处理器速度。在框615,计算机***200使用性能分布来满足处理要求。例如,这可以包括设置用于处理所述处理要求的处理器速度、通讯带宽、存储器总线等。
图7是根据一个实施方案,示出用来确定汇总处理器速度的过程的实施例的流程图。在框705,接收到两个或更多个处理要求。处理要求可以具有不同的类型。每一个处理要求可以与实体或任务(例如应用程序)相关联。在框710,确定与每一个处理要求相关联的期望的处理器速度。如上所述,期望的处理器速度可以由实体指定,或者,它可以由例如实体外部的来源为该实体确定。
在框715,各个期望的处理器速度被汇总,形成了处理器200的有效处理器速度。在框720,处理器200被设置成以有效处理器速度运行。图7中的过程在图4的框图例子中被示出。可以注意到,通过安排任务以使其处理要求即使在较低的处理器速度也被满足,则该过程可以被进一步提高。这在图5的框图例子中被示出。
这里所描述的技术的一个优点是它们能够使得计算机***适应来自不同任务(或实体)的不同处理要求,而不是以其他的处理要求为代价只适应一个处理要求。例如,在如机顶数字录影机(例如TiVo或ReplayTV)的通用视频播放设备中,设计者可以将缓冲器水平处理要求用于视频解码器,基于速率的处理要求用于背景***维护任务,基于期限的处理要求用于屏幕上的用户界面,利用率处理要求用于“未被标明的”任务,“未被标明的”任务可能是罕见的或在***设计时未被定义的。在仅仅一种类型的处理要求被用于所有不同类型的处理要求时,结果可能不那么理想,因为所有的应用程序的处理要求可能没有被有效地满足。
计算机***和计算机可读介质
利用计算机***中的处理器可以实施这些各种方法的操作,所述处理器执行储存在存储器中的计算机程序指令序列,所述存储器可以被视为机器可读储存介质。存储器可以是随机访问存储器、只读存储器、永久储存存储器(persistent storage memory),例如大容量储存设备或这些设备的任何组合。例如,执行指令序列可能引起处理器执行根据图6和图7中所描述的过程的操作。
可以通过网络连接从储存设备或者从一个或更多个其他的计算机***(例如服务器计算机***)将指令加载到计算机***的存储器中。指令可以被同时储存在几个储存设备(例如DRAM和硬盘,例如虚拟存储器)中。因此,这些指令的执行可以由处理器直接执行。在其他情形中,指令可以不被直接执行,或者,它们可能不是可由处理器直接执行的。在这种情况下,通过引起处理器执行解释指令的解释程序,或通过引起处理器执行将接收到的指令转换为可以被处理器直接执行的指令的编译程序,这些执行可以被执行。在其他的实施方案中,可以使用硬连线电路代替软件指令或与其结合,以实施本发明。因此,本发明不局限于硬件电路和软件的任何具体组合或由计算机***执行的指令的任何特定来源。
从上面的描述和附图,本领域普通技术人员将理解,所示出和描述的特定实施方案仅仅是用于说明的目的,并非旨在限制本发明的范围。本领域普通技术人员将发现,不偏离本发明的精神或基本特征,本发明可以以其他具体形式来实施。例如,本发明的实施方案可以被用于虚拟机环境,在虚拟机环境中可能存在多个虚拟机,每一个均处理多个类型的处理要求。类似地,尽管调度器205被作为独立的实体示出,但是它也可以在OS、基本输入输出***(BIOS)、固件等,或其任何组合中被实施。提及特定实施方案的细节并非旨在限制权利要求书的范围。
Claims (37)
1.一种方法,包括:
使用两个或更多个任务的处理要求为***建立性能分布,其中,至少两个任务具有不同类型的处理要求,所述不同类型的处理要求包括完成期限的要求、所要求的处理速率、数据流缓冲的要求,并且其中,建立所述性能分布来适应所述两个或更多个任务的所述处理要求。
2.如权利要求1所述的方法,其中,所述性能分布包括所述***中处理器的速度。
3.如权利要求2所述的方法,其中,所述性能分布影响所述***消耗的功率。
4.如权利要求2所述的方法,其中,所述处理器的所述速度小于或等于所述处理器可能的最高速度。
5.如权利要求1所述的方法,其中,使用两个或更多个任务的所述处理要求建立所述***的所述性能分布的操作包括:
确定与所述处理要求中的每一个相关联的期望处理器速度。
6.如权利要求5所述的方法,还包括汇总与所述处理要求中的每一个相关联的所述期望处理器速度以便为所述***形成第一处理器速度。
7.如权利要求6所述的方法,还包括安排所述两个或更多个任务,以便使得它们的处理要求在所述***被设置成以第二处理器速度运行时能够被满足,所述第二处理器速度比所述第一处理器速度慢。
8.如权利要求1所述的方法,其中,所述处理要求中的一个或更多个由对应的任务提供。
9.如权利要求8所述的方法,其中,所述处理要求中的一个或更多个由所述对应的任务外部的来源指定。
10.一种设备,包括:
用于使用两个或更多个任务的处理要求为***建立性能分布的装置,其中,至少两个任务具有不同类型的处理要求,所述不同类型的处理要求包括完成期限的要求、所要求的处理速率的要求、数据流缓冲的要求,并且其中,建立所述性能分布来适应所述两个或更多个任务的所述处理要求。
11.如权利要求10所述的设备,其中,所述性能分布包括所述***中处理器的速度。
12.如权利要求11所述的设备,其中,所述性能分布影响所述***消耗的功率。
13.如权利要求11所述的设备,其中,所述处理器的所述速度小于或等于所述处理器可能的最高速度。
14.如权利要求10所述的设备,其中,所述用于使用两个或更多个任务的所述处理要求建立所述***的所述性能分布的装置包括:
用于确定与所述处理要求中的每一个相关联的期望处理器速度的装置。
15.如权利要求14所述的设备,还包括用于汇总与所述处理要求中的每一个相关联的所述期望处理器速度以便为所述***形成第一处理器速度的装置。
16.如权利要求15所述的设备,还包括用于安排所述两个或更多个任务,以便使得它们的处理要求在所述***被设置成以第二处理器速度运行时能够被满足的装置,所述第二处理器速度比所述第一处理器速度慢。
17.如权利要求10所述的设备,其中,所述处理要求中的一个或更多个由对应的任务提供。
18.如权利要求17所述的设备,其中,所述处理要求中的一个或更多个由所述对应的任务外部的来源指定。
19.一种***,包括:
处理器;以及
耦合到所述处理器的调度器,所述调度器建立性能分布,以处理两个或更多个任务的两个或更多个不同类型的处理要求,所述不同类型的处理要求包括完成期限的要求、所要求的处理速率的要求、数据流缓冲的要求,所述性能分布包括所述处理器的处理器速度。
20.如权利要求19所述的***,其中,所述两个或更多个不同类型的处理要求包括对时间要求严格的处理要求和对时间要求不严格的处理要求。
21.如权利要求19所述的***,其中,所述调度器将所述不同类型的处理要求组合为一个处理要求。
22.如权利要求21所述的***,其中,所述调度器通过确定与所述不同类型的处理要求中的每一个相关联的处理器速度,将所述不同类型的处理要求组合为一个处理要求。
23.如权利要求22所述的***,其中,所述调度器使用与所述不同类型的处理要求中的每一个相关联的所述处理器速度,形成汇总处理器速度。
24.一种方法,包括:
接收第一应用程序的第一处理要求和第二应用程序的第二处理要求,其中,所述第一应用程序的所述处理要求与所述第二应用程序的所述处理要求不同,所述第一应用程序与所述第二应用程序的处理要求选自由完成期限的要求、所要求的处理速率的要求、数据流缓冲的要求组成的组;
使用所述第一处理要求和所述第二处理要求形成第三处理要求;以及
使用所述第三处理要求建立性能分布。
25.如权利要求24所述的方法,其中,所述第一处理要求由所述第一应用程序指定。
26.如权利要求24所述的方法,其中,所述第一处理要求由所述第一应用程序外部的来源指定。
27.如权利要求24所述的方法,其中,所述使用所述第三处理要求建立所述性能分布的操作包括确定与所述第一处理要求相关联的第一处理器速度和与所述第二处理要求相关联的第二处理器速度。
28.如权利要求27所述的方法,其中,所述使用所述第三处理要求建立所述性能分布的操作还包括汇总所述第一处理器速度和所述第二处理器速度以形成第三处理器速度。
29.如权利要求28所述的方法,还包括:
用被设置成以第三处理器速度运行的所述处理器来处理所述第一应用程序和所述第二应用程序。
30.如权利要求29所述的方法,其中,所述第三处理器速度使得能够用与比所述第三处理器速度更快的速度相比更少的处理器空闲时间来处理所述第一应用程序和所述第二应用程序。
31.一种***,包括:
处理器;以及
耦合到所述处理器的电压调度器,所述电压调度器接收至少一个对时间要求严格的处理要求和至少一个对时间要求不严格的处理要求,所述处理要求选自由完成期限的要求、所要求的处理速率的要求、数据流缓冲的要求组成的组,其中,所述电压调度器确定所述处理器的处理器速度,以适应所述对时间要求严格的处理要求和所述对时间要求不严格的处理要求。
32.如权利要求31所述的***,其中,所述处理器速度小于所述处理器可能的最高处理器速度。
33.如权利要求31所述的***,其中,所述对时间要求严格的处理要求与第一任务相关联,并且所述对时间要求不严格的处理要求与第二任务相关联。
34.如权利要求31所述的***,其中,所述电压调度器通过混合所述对时间要求严格的处理要求和所述对时间要求不严格的处理要求来确定所述处理器的所述处理器速度。
35.如权利要求34所述的***,其中,所述电压调度器通过确定所述对时间要求严格的处理要求的处理器速度和所述对时间要求不严格的处理要求的处理器速度来混合所述对时间要求严格的处理要求和所述对时间要求不严格的处理要求。
36.如权利要求35所述的***,其中,所述电压调度器将所述对时间要求严格的处理要求的所述处理器速度与所述对时间要求不严格的处理要求的所述处理器速度汇总来形成所述处理器的所述处理器速度。
37.如权利要求36所述的***,其中,所述处理器的所述处理器速度以和更快的处理器速度相比更低的功耗来适应所述对时间要求严格的处理要求和所述对时间要求不严格的处理要求。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/411,818 | 2003-04-09 | ||
US10/411,818 US20040205757A1 (en) | 2003-04-09 | 2003-04-09 | Performance scheduling using multiple constraints |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1802620A CN1802620A (zh) | 2006-07-12 |
CN100432894C true CN100432894C (zh) | 2008-11-12 |
Family
ID=33131081
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2004800159366A Expired - Fee Related CN100432894C (zh) | 2003-04-09 | 2004-02-27 | 使用多个约束的性能调度 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20040205757A1 (zh) |
EP (1) | EP1627291A2 (zh) |
JP (1) | JP2006522384A (zh) |
CN (1) | CN100432894C (zh) |
TW (1) | TWI260543B (zh) |
WO (1) | WO2004095248A2 (zh) |
Families Citing this family (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006178854A (ja) * | 2004-12-24 | 2006-07-06 | Toshiba Corp | 電子回路 |
JP4476876B2 (ja) * | 2005-06-10 | 2010-06-09 | 三菱電機株式会社 | 並列計算装置 |
US8281123B2 (en) * | 2006-03-24 | 2012-10-02 | Intel Corporation | Apparatus and method for managing and protecting information during use of semi-trusted interfaces |
US20080126761A1 (en) * | 2006-09-26 | 2008-05-29 | Fontenot Nathan D | Method and apparatus for scheduling optimization |
US8255915B1 (en) * | 2006-10-31 | 2012-08-28 | Hewlett-Packard Development Company, L.P. | Workload management for computer system with container hierarchy and workload-group policies |
GB2444518A (en) * | 2006-12-07 | 2008-06-11 | Symbian Software Ltd | Process priority profiles in a computer system |
US8869152B1 (en) * | 2007-01-11 | 2014-10-21 | Marvell International Ltd. | Methods and procedures to dynamically adjust processor frequency |
JP4752767B2 (ja) * | 2007-01-12 | 2011-08-17 | 日本電気株式会社 | システム構成候補導出装置、方法およびプログラム |
US8495403B2 (en) | 2008-12-31 | 2013-07-23 | Intel Corporation | Platform and processor power management |
JP2010218445A (ja) * | 2009-03-18 | 2010-09-30 | Toshiba Corp | マルチコアプロセッサシステム、スケジューリング方法およびスケジューラプログラム |
US8700926B2 (en) * | 2010-01-11 | 2014-04-15 | Qualcomm Incorporated | System and method of tuning a dynamic clock and voltage switching algorithm based on workload requests |
CN101834320B (zh) * | 2010-04-07 | 2012-02-15 | 清华大学 | 电池调度方法和装置 |
US20120042313A1 (en) * | 2010-08-13 | 2012-02-16 | Weng-Hang Tam | System having tunable performance, and associated method |
US8572421B2 (en) * | 2011-04-05 | 2013-10-29 | Apple Inc. | Adjusting device performance based on processing profiles |
US9223387B2 (en) * | 2011-06-02 | 2015-12-29 | Intel Corporation | Rescheduling active display tasks to minimize overlapping with active platform tasks |
US9310872B2 (en) * | 2013-02-01 | 2016-04-12 | Nvidia Corporation | Processor frequency mainly depending on a target frame rate while processing a graphics application |
US9600058B2 (en) * | 2014-06-24 | 2017-03-21 | Intel Corporation | Enhancing power-performance efficiency in a computer system when bursts of activity occurs when operating in low power |
EP3062142B1 (en) | 2015-02-26 | 2018-10-03 | Nokia Technologies OY | Apparatus for a near-eye display |
US10996984B1 (en) * | 2016-11-28 | 2021-05-04 | Amazon Technologies, Inc. | Batch job execution using compute instances |
US10650552B2 (en) | 2016-12-29 | 2020-05-12 | Magic Leap, Inc. | Systems and methods for augmented reality |
EP3343267B1 (en) | 2016-12-30 | 2024-01-24 | Magic Leap, Inc. | Polychromatic light out-coupling apparatus, near-eye displays comprising the same, and method of out-coupling polychromatic light |
US10578870B2 (en) | 2017-07-26 | 2020-03-03 | Magic Leap, Inc. | Exit pupil expander |
CA3084811A1 (en) | 2017-12-10 | 2019-06-13 | Magic Leap, Inc. | Anti-reflective coatings on optical waveguides |
CN111712751B (zh) | 2017-12-20 | 2022-11-01 | 奇跃公司 | 用于增强现实观看设备的***件 |
US10755676B2 (en) | 2018-03-15 | 2020-08-25 | Magic Leap, Inc. | Image correction due to deformation of components of a viewing device |
JP7319303B2 (ja) | 2018-05-31 | 2023-08-01 | マジック リープ, インコーポレイテッド | レーダ頭部姿勢位置特定 |
US11579441B2 (en) | 2018-07-02 | 2023-02-14 | Magic Leap, Inc. | Pixel intensity modulation using modifying gain values |
WO2020010226A1 (en) | 2018-07-03 | 2020-01-09 | Magic Leap, Inc. | Systems and methods for virtual and augmented reality |
US11624929B2 (en) | 2018-07-24 | 2023-04-11 | Magic Leap, Inc. | Viewing device with dust seal integration |
WO2020023545A1 (en) | 2018-07-24 | 2020-01-30 | Magic Leap, Inc. | Temperature dependent calibration of movement detection devices |
CN112740665A (zh) | 2018-08-02 | 2021-04-30 | 奇跃公司 | 基于头部运动的瞳孔间距离补偿的观察*** |
EP3830631A4 (en) | 2018-08-03 | 2021-10-27 | Magic Leap, Inc. | NON-FUSED POSE DRIFT CORRECTION OF A FUSED TOTEM IN A USER INTERACTION SYSTEM |
JP7487176B2 (ja) | 2018-08-22 | 2024-05-20 | マジック リープ, インコーポレイテッド | 患者視認システム |
CN117111304A (zh) | 2018-11-16 | 2023-11-24 | 奇跃公司 | 用于保持图像清晰度的图像尺寸触发的澄清 |
US20200183485A1 (en) * | 2018-12-07 | 2020-06-11 | Advanced Micro Devices, Inc. | Hint-based fine-grained dynamic voltage and frequency scaling in gpus |
US11425189B2 (en) * | 2019-02-06 | 2022-08-23 | Magic Leap, Inc. | Target intent-based clock speed determination and adjustment to limit total heat generated by multiple processors |
WO2020185405A1 (en) | 2019-03-12 | 2020-09-17 | Magic Leap, Inc. | Registration of local content between first and second augmented reality viewers |
US11445232B2 (en) | 2019-05-01 | 2022-09-13 | Magic Leap, Inc. | Content provisioning system and method |
JP2022542363A (ja) | 2019-07-26 | 2022-10-03 | マジック リープ, インコーポレイテッド | 拡張現実のためのシステムおよび方法 |
EP4058936A4 (en) | 2019-11-14 | 2023-05-03 | Magic Leap, Inc. | SYSTEMS AND METHODS FOR VIRTUAL AND AUGMENTED REALITY |
JP2023502927A (ja) | 2019-11-15 | 2023-01-26 | マジック リープ, インコーポレイテッド | 外科手術環境において使用するための視認システム |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0632360A1 (en) * | 1993-06-29 | 1995-01-04 | Xerox Corporation | Reducing computer power consumption by dynamic voltage and frequency variation |
CN1150845A (zh) * | 1994-06-17 | 1997-05-28 | 英特尔公司 | 计算机***中处理器性能和功率的动态管理 |
CN1159021A (zh) * | 1996-03-06 | 1997-09-10 | 三菱电机株式会社 | ***时钟确定装置 |
CN1340751A (zh) * | 2000-09-01 | 2002-03-20 | Lg电子株式会社 | 中央处理单元调度方法和装置 |
-
2003
- 2003-04-09 US US10/411,818 patent/US20040205757A1/en not_active Abandoned
-
2004
- 2004-02-27 CN CNB2004800159366A patent/CN100432894C/zh not_active Expired - Fee Related
- 2004-02-27 WO PCT/US2004/005869 patent/WO2004095248A2/en active Application Filing
- 2004-02-27 EP EP04715655A patent/EP1627291A2/en not_active Withdrawn
- 2004-02-27 JP JP2006501203A patent/JP2006522384A/ja active Pending
- 2004-03-03 TW TW093105593A patent/TWI260543B/zh not_active IP Right Cessation
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0632360A1 (en) * | 1993-06-29 | 1995-01-04 | Xerox Corporation | Reducing computer power consumption by dynamic voltage and frequency variation |
CN1150845A (zh) * | 1994-06-17 | 1997-05-28 | 英特尔公司 | 计算机***中处理器性能和功率的动态管理 |
CN1159021A (zh) * | 1996-03-06 | 1997-09-10 | 三菱电机株式会社 | ***时钟确定装置 |
CN1340751A (zh) * | 2000-09-01 | 2002-03-20 | Lg电子株式会社 | 中央处理单元调度方法和装置 |
Non-Patent Citations (2)
Title |
---|
A scheduling model for reduced CPU energy. Frances Yao,Alan Demers,Scott Shenker.Proceedings of the 36th Annual Symposium on Foundations of Computer Science. 1995 |
A scheduling model for reduced CPU energy. Frances Yao,Alan Demers,Scott Shenker.Proceedings of the 36th Annual Symposium on Foundations of Computer Science. 1995 * |
Also Published As
Publication number | Publication date |
---|---|
WO2004095248A3 (en) | 2005-06-02 |
EP1627291A2 (en) | 2006-02-22 |
CN1802620A (zh) | 2006-07-12 |
US20040205757A1 (en) | 2004-10-14 |
TW200426688A (en) | 2004-12-01 |
TWI260543B (en) | 2006-08-21 |
JP2006522384A (ja) | 2006-09-28 |
WO2004095248A2 (en) | 2004-11-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100432894C (zh) | 使用多个约束的性能调度 | |
Lorch et al. | Improving dynamic voltage scaling algorithms with PACE | |
Beloglazov et al. | A taxonomy and survey of energy-efficient data centers and cloud computing systems | |
US8813080B2 (en) | System and method to optimize OS scheduling decisions for power savings based on temporal characteristics of the scheduled entity and system workload | |
CN101221495B (zh) | 选择流水线配置的方法和执行该方法的基于处理器的平台 | |
Liu et al. | Chameleon: Application-level power management | |
Yuan et al. | Practical voltage scaling for mobile multimedia devices | |
Mesarina et al. | Reduced energy decoding of MPEG streams | |
US6944229B2 (en) | Apparatus and method for MPEG decoding using dynamic frequency and voltage scaling | |
Zhang et al. | Trapped capacity: Scheduling under a power cap to maximize machine-room throughput | |
Cho et al. | Design and implementation of a general purpose power-saving scheduling algorithm for embedded systems | |
Choudhary et al. | Hardware based frequency/voltage control of voltage frequency island systems | |
WO2015015756A1 (ja) | 不揮発性メモリ搭載サーバの省電力制御システム、制御装置、制御方法および制御プログラム | |
Pineau et al. | Energy‐aware scheduling of bag‐of‐tasks applications on master–worker platforms | |
Gu et al. | Energy-Efficient GPU Clusters Scheduling for Deep Learning | |
Aziz et al. | Power efficient scheduling heuristics for energy conservation in computational grids | |
Mendis et al. | Dynamic and static task allocation for hard real-time video stream decoding on NoCs | |
Fan et al. | GreenSleep: a multi-sleep modes based scheduling of servers for cloud data center | |
Zhang et al. | Energy-efficient real-time task allocation in a data center | |
Kim et al. | Power-Aware Resource Management Techniques for Low-Power Embedded Systems. | |
Zhang et al. | Tracsim: simulating and scheduling trapped power capacity to maximize machine room throughput | |
Kant | Supply and demand coordination in energy adaptive computing | |
Paek et al. | Energy-efficient multi-core scheduling for real-time video processing | |
TWI470402B (zh) | 行動裝置cpu工作頻率控制方法 | |
Preethi et al. | A Survey on Cloud Applications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20081112 Termination date: 20130227 |