在处理器核之间调度任务的制作方法

文档序号:6498511阅读:168来源:国知局
在处理器核之间调度任务的制作方法
【专利摘要】本文中描述了用于在多个处理器核之间调度多个任务的装置、计算机实现方法、计算设备、系统和计算机可读介质(瞬变和非瞬变)的实施例。响应于准则已被满足的确定,计算设备的多个处理器核中的第一处理器核可被转移到屏蔽状态,其中没有新的任务要被分配给所述第一处理器核,并且已被分配给所述第一处理器核的任务被执行到完成。在各种实施例中,该准则可基于所述计算设备的条件,诸如对计算设备来说可用的功率或者与计算设备相关联的温度。在各种实施例中,在已被分配给所述第一处理器核的任务执行完成之后,所述第一处理器核可转移到降低功率状态。
【专利说明】在处理器核之间调度任务

【技术领域】
[0001]本发明实施例总体涉及数据处理的【技术领域】,并且更具体地说,涉及在处理器核之间调度任务。

【背景技术】
[0002]本文提供的【背景技术】描述出于总体上呈现本公开的上下文的目的。目前署名的发明人在本【背景技术】部分中描述的程度上的工作以及在提交时可能原本没有资格成为现有技术的描述的方面既不明示也不暗示地被承认为针对本公开的现有技术。除非本文另有指示,本部分中描述的方法不是本公开中的权利要求的现有技术,且不因包括在本部分中而被承认为现有技术。
[0003]操作系统(“0S”)调度器可以在多个计算资源(诸如处理器核)之间以减少完成任务的总体响应时间的方式分配任务。这种公平性原则可以提供合适的总体性能并最小化等待时间,特别是在处理资源均匀的情况下。通常,这种调度任务的方法未计及计算设备的条件或计算设备的异构计算资源之间的差异。

【专利附图】

【附图说明】
[0004]实施例将通过下面的详细描述结合附图而容易理解。为了便于该描述,相似的附图标记指定相似的结构元件。在附图的各图中,实施例是通过示例的方式而非通过限制的方式图示的。
[0005]图1示意性地描绘根据各种实施例,具有本公开的多个处理器核和的操作系统(“0S”)调度器的示例系统。
[0006]图2示意性描绘根据各种实施例,0S调度器可如何在多个处理器核之间调度多个任务的示例。
[0007]图3示意性描绘根据各种实施例,0S调度器可如何在多个处理器核之间调度多个任务的另一示例。
[0008]图4描绘根据各种实施例的曲线图,该曲线图示出了多个处理器核随时间的示例平均工作量以及高和低工作量阈值,该高和低工作量阈值在被平均工作量达到时可以导致一个或多个处理器核被转移进或出屏蔽状态。
[0009]图5示意性描绘根据各种实施例,可由多核计算设备的0S调度器实现的示例方法。
[0010]图6示意性描绘根据各种实施例,在其上可实现所公开技术的示例计算设备。

【具体实施方式】
[0011]在下面的详细描述中,对形成该详细描述的一部分的附图进行了参考,其中,相似的附图标记自始至终指定相似的部分,并且在附图中,通过图示的方式示出了可实施的实施例。应当理解,在不脱离本公开的范围的情况下,可以利用其他实施例并且可以作出结构或逻辑改变。因此,下面的详细描述不应在限制意义上采用,并且实施例的范围由所附权利要求及其等同物限定。
[0012]可以以最有助于理解要求保护的主题的方式进而将各种操作描述为多个分立的动作或操作。然而,描述的顺序不应理解为暗示这些操作必须依赖于顺序。特别地,这些操作可能不是按呈现的顺序执行的。所描述的操作可以是按与所描述的实施例不同的顺序执行的。在附加实施例中,可以执行各种附加操作和/或可以省略所描述的操作。
[0013]出于本公开的目的,短语“A和/或B”意指⑷、⑶或(A和B)。出于本公开的目的,短语 “A、B 和 / 或 C” 意指(A)、(B)、(C)、(A 和 B)、(A 和 C)、(B 和 C)或(A、B 和 C)。
[0014]该描述可以使用短语“在一实施例中”或“在实施例中”,其均可以指代相同或不同实施例中的一个或多个。此外,如关于本公开的实施例使用的术语“包含”、“包括”、“具有”等是同义的。
[0015]如本文所使用,术语“模块”可以指代下述各项、作为下述各项的一部分或包括下述各项:专用集成电路(“ASIC”)、电子电路、执行一个或多个软件或固件程序的处理器(共享、专用或组)和/或存储器(共享、专用或组)、组合逻辑电路、和/或提供所描述的功能的其他合适部件。
[0016]现在参照图1,在各种实施例中,计算设备10(被配置有本公开的教导的适用部分)可包括操作系统(“0S”)调度器12和一个或多个封装14,每个封装包括一个或多个处理器核16。
[0017]图1中的示例包括三个封装14,封装A-C,但这仅是为了说明的目的,而不意味着是限制性的。第一封装14 (封装A)包括两个处理器核16:核1和核2。第二封装14 (封装B)也包括两个处理器核16:核3和核4。第三封装14(封装C)包括三个处理器核16:核5,核6和核7。在此可想到其他数量的封装14和处理器核16。
[0018]在各种实施例中,不同的核16可以以不同的频率操作。例如,封装A上的核1和核2可以以一个频率操作,例如,3.1GHz,而封装B上的核3和核4可以以另一个频率操作,例如,1600MHz。在各种实施例中,在单一封装14上所包含的核16可以以不同频率操作。以较高频率操作的核16可以比以较低频率操作的核16更快速地完成任务。然而,以较高频率操作的核16还可以比以较低频率操作的核16利用更多的能量和/或产生更多的热量。
[0019]多核计算没备(诸如,计算设备10)可以由具有有限能量供给的电源(诸如电池18)供电。一次操作越多的核16 (特别是高频核16),则电源(例如,电池18)可被越快速地耗尽。计算设备10的每个处理器核16可能不一直被需要。例如,如果计算设备10是移动电话,则当移动电话处于用户的口袋中时,可能不需要超过最低限度的处理能力,仅执行有限的功能以保持网络连接。
[0020]另外或替代地,计算设备10可以包括可能易受各种热力条件攻击的一个或多个部件。例如,某些类型的部件可能因温度的升高而损坏。处理器核16在它正在执行任务时可产生热量。使计算设备10的多个处理器核16过载可产生过多的热量,威胁对各种部件的损坏。另外或替代地,计算设备10可能遭受加热的环境,诸如在热天中车辆的内部。允许多个处理器核16 (特别是高频处理器核16)继续在这种情形下运行可提高温度,进一步损坏各种部件。
[0021]图2描绘可被配置成在η个处理器核216之间调度多个任务202的示例0S调度器212,其中η是大于1的整数。每个核216可以包括运行队列,其可以包括一个或多个所调度的任务。在所示的示例场景中,核0在其进入空闲状态204之前具有排队等候的3个任务202。核1在其进入空闲状态204之前具有排队等候的两个任务202。核η_1和核η在其进入空闲状态204之前各自具有排队等候的一个任务202。OS调度器212可被配置成以减少完成任务的总体响应时间的方式分配任务202。因此,假设所有任务202在复杂性方面类似,那么OS调度器212可调度核η或核η-l上的下一个任务202。然而,该调度方案可以不考虑能量效率、异构处理器核的性质和/或计算设备的条件。
[0022]相应地,在各种实施例中,一个或多个处理器核16可被关闭,以节省电池功率和/或防止由热事件引起的对计算设备10的部件的损坏。在具有异构处理器核16的系统和计算设备中,以相对较高频率操作的核16可比以相对较低频率操作的另一核需要更多的功率和/或产生更多的热量。相应地,各种阈值可以被设定(将在下面描述),使得以相对较高频率操作的一个或多个处理器核16可以更可能被关闭以降低装置的功耗和/或温度。(如本文中所使用的术语“异构”是指处理器核的不同操作特性,包括但不限于例如它们的操作频率)。
[0023]与关闭仍具有任务要完成的处理器核16相关的成本可能是高的,并可以抵消能量效率或温度控制中的任何收益。例如,核心可能需要被通知:处理器核16正在被关闭。可以识别可接管被分配到要关闭的处理器核16的任务的处理器核16的新集合。与要关闭的处理器核16相关联的任务和中断可以被迁移到所以别的处理器核16集合。在各种实施例中,与要关闭的处理器核16相关联的服务也可以被迁移到其他处理器核16。最后,处理器核16可被关闭。与关闭处理器核16相关联的等待时间可能是不可预测的,且可以大约几秒钟,从而导致负的能量节省。
[0024]相应地,并非立即关闭核,而是0S调度器(诸如,图1中的0S调度器12)可以转移处理器核为中间、“屏蔽”状态,其中没有新的任务要被分配,并且其中现有的任务被执行到完成。这一点的示例示于图3中。示例0S调度器312可被配置成在η个处理器核316之间调度多个任务302。和图2 —样,每个核316包括可具有所调度的一个或多个任务的运行队列。例如,核0在其进入空闲状态304之前具有排队等候的3个任务302,以及核1在其进入空闲状态304之前具有排队等候的两个任务302。然而,0S调度器312已转移核η-l和核η为屏蔽状态,如屏蔽块306所指示。
[0025]在各种实施例中,屏蔽状态中的处理器核316可以不具有新任务分配给它。在各种实施例中,已被分配给屏蔽处理器核316的一个或多个任务可被执行到完成,而不被迁移到其他处理器核。在已被分配给屏蔽处理器核316的一个或多个任务被执行到完成之后,屏蔽处理器核316可被转移到降低功率状态。这可减少和/或避免与在处理器核316之间迁移任务相关联的成本。
[0026]在各种实施例中,当处理器核316处于降低功率状态时,与该处理器核相关联的一个或多个核锁相环可以被关闭。在各种实施例中,与处理器核316相关联的高速缓存可被刷新。在各种实施例中,处理器核316的状态可以被保存到高速缓存。在各种实施例中,由处理器核316进行的功率使用可以是大约40uw。在各种实施例中,降低功率状态中的处理器核316可处于线程级C6中。
[0027]在各种实施例中,响应于一个或多个准则已经得到满足的确定,处理器核(例如,图3中的处理器核316)可被转移进或出屏蔽状态。在各种实施例中,该准则可以是多个处理器核的工作量是否落到阈值以下或超过阈值。在各种实施例中,工作量可以是多个处理器核的平均工作量。在各种实施例中,平均工作量可以通过周期性地测量多个处理器核的当前负荷水平而确定。在各种实施例中,多个处理器核的当前负荷水平可以每4-6秒加以测量。
[0028]在图4的曲线图400中,示出了多个处理器核随时间的平均工作量的示例。第一阈值402可以是“低水印”,在其以下,多个处理器核中的一个或多个处理器核可被转移到屏蔽状态。第二阈值404可以是“高水印”,在其以上,多个处理器核中的一个或多个处理器核可被转移出屏蔽状态。
[0029]在点406之前,平均工作量可处于第二阈值404以下,以及一个或多个处理器核可处于屏蔽状态和/或处于降低功率状态。然而,在点406处,当平均工作量超过第二阈值404时,处于屏蔽/或降低功率状态的一个或多个处理器核可被转移到非屏蔽状态。一旦非屏蔽,处理器核就可以由0S调度器(例如,12、212、312)分配任务。
[0030]这些新近非屏蔽的处理器核可继续操作,直到在点408处平均工作量落到第一阈值402以下。当发生这种情况时,该多个处理器核中的一个或多个处理器核可被转移到屏蔽状态,其中没有新的任务要被分配给处理器核(例如,由0S调度器12、212或312),和/或其中已被分配给处理器核的现有任务被执行到完成。在各种实施例中,一旦被分配给新近屏蔽的处理器核的现有任务被执行到完成,这些屏蔽的处理器核就可以例如由0S调度器(例如,12、212、312)转移到降低功率状态。
[0031 ] 在各种实施例中,可以针对分离的处理器核建立分离的“高水印”和“低水印”阈值。例如,以特别高的频率运行(且因此更功率密集)的处理器核可以具有关联的“低水印”阈值(在其以下,处理器核是屏蔽的),该“低水印”阈值高于其他较不功率密集的处理器核。这样,比起相对较低频的处理器核,高频处理器核可以更可能被转移到屏蔽状态(并最终被转移到降低功率状态)。
[0032]类似地,高频处理器核可以具有关联的“高水印”阈值(在其以上,处理器核是非屏蔽的),该“高水印”阈值高于其他较低频的处理器核的“高水印”阈值。这样,高频处理器核可不是非屏蔽的,直到多个处理器核的平均工作量足够高以表明高频核的使用是合理的,而不管在能量使用和温度方面的后果。
[0033]另一方面,在各种实施例中,以相对较低频率运行的处理器核可以具有关联的“低水印”阈值,其低于与高频处理器核相关联的“低水印”阈值。这样,低频处理器核可以不太可能被转移到屏蔽状态。类似地,低频处理器核可以具有也相对较低的“高水印”阈值,使得它更可能保持非屏蔽并以适中的平均工作量操作。
[0034]当然,这些示例仅是说明性的,并且在各种实施例中,与高频处理器核相关联的阈值可高于、低于和/或等于与低频处理器核相关联的阈值。此外,在各种实施例中,仅多个处理器核的子集(例如,需要相对大量功率或产生相对大量热量的那些核)可具有关联的阈值。其他处理器核(例如,执行基本功能(例如,保持移动电话连接到小区)的低频处理器核)可以不具有阈值,或者可以具有不可能被满足的阈值。
[0035]在各种实施例中,除了针对不同处理器核而不同外,阈值还可以动态地基于计算设备的条件。例如,在各种实施例中,阈值可以是基于计算设备的电池功率水平、计算设备的热条件、计算设备正在使用的电流水平(例如,峰值/突发)等等中的一个或多个来确定的。
[0036]例如,如果图1的计算设备10的电池18落到特定功率水平以下,则与计算设备10的一个或多个处理器核16相关联的“低水印”阈值可以被提高,使得这些处理器核16可以更可能转移到屏蔽状态,并然后转移到降低功率状态。在各种实施例中,与各种处理器核16相关联的“高水印”阈值也可以被提高,以降低这些处理器核16可非屏蔽和被分配任务的可能性。
[0037]在各种实施例中,一个或多个阈值可以基于计算设备的热状态而调整。例如,如果图1的计算设备10的温度上升到特定水平以上,则可能存在对计算设备10的一个或多个部件的损坏的危险。相应地,与计算设备10的一个或多个处理器核16相关联的“低水印”阈值可以被提高,使得这些处理器核16可以更可能转移到屏蔽状态,并然后转移到降低功率状态。与前述示例一样,在各种实施例中,与各种处理器核16相关联的“高水印”阈值也可以被提高,以降低这些处理器核16可以非屏蔽和被分配任务的可能性。
[0038]一个或多个阈值还可以至少部分基于计算设备10的性质而选择。例如,如果计算设备10是移动电话,则用户可能期望电池寿命长于另一便携式设备,诸如膝上型计算机。相应地,与各种处理器核16相关联的“高水印”和“低水印”阈值可以被选择,例如,由制造商或由用户使用与操作系统相关联的用户接口来选择,以便比起在计算设备10是膝上型计算机的情况下更积极地节约能量。例如,“高水印”和“低水印阈值”可以都被提高。这可以提高处理器核可屏蔽的可能性,并降低屏蔽的处理器核可非屏蔽的可能性。
[0039]一个或多个阈值也可以基于可如何使用计算设备10而选择。例如,如果计算设备10要用于图形密集的应用,则与图形相关处理器核(例如,在图形卡上)相关联的阈值可被降低。这可提高这些处理器核将非屏蔽的可能性,并降低它们将被屏蔽的可能性。如果计算设备10将被大量地用于语音通信,则与通信相关处理器核相关联的阈值可以被相应地降低,并且与其他核(例如,图形相关)相关联的阈值可以被提高。
[0040]图5描绘了可由0S调度器(诸如图1中的0S调度器12、图2中的0S调度器212和/或图3中的0S调度器312)实现的示例方法500。在块502,可以例如由0S调度器12确定多个处理器核的平均工作量。在各种实施例中,该确定可以例如由0S调度器12通过周期性地测量该多个处理器核的瞬时工作量并更新运行平均工作量来进行。
[0041]在块504,可以例如由0S调度器12确定:在块502确定的平均工作量是否超过第一阈值。例如,可以例如由0S调度器12确定多个处理器核的平均工作量是否超过“高水印”阈值,在该“高水印”阈值以上,多个处理器核中的高频处理器核应当无屏蔽且被操作。
[0042]如果在块504,平均工作量被确定为已经超过第一阈值,则在块506,可以例如由0S调度器12将多个处理器核中的至少一个处理器核(例如,高频处理器核)转移到非屏蔽状态。在块508,可以例如由0S调度器12将一个或多个任务分配到新近非屏蔽的处理器核。
[0043]然而,在块504,如果平均工作量被确定为未超过第一阈值,则在块510,可以例如由0S调度器12确定:平均工作量是否落到第二阈值以下。例如,可以例如由0S调度器12确定多个处理器核的平均工作量是否落到“低水印”阈值以下,在该“低水印”阈值以下,多个处理器核中的高频处理器核应该是屏蔽的且被转移到降低功率状态。
[0044]如果在块510,平均工作量被确定为未落到第二阈值以下,则方法500可继续回到块502。在各种实施例中,在平均工作量在块502再一次被确定之前,可以过去预定量的时间(例如,4-6秒,或为5秒)。
[0045]然而,在块510,如果平均工作量被确定为已经落到第二阈值以下,则在块512,可以例如由0S调度器12将多个处理器核中的处理器核转移到屏蔽状态。在块514,可以例如由0S调度器12允许一个或多个已被分配给新近屏蔽的处理器核的现有任务被执行到完成。在块516,在现有任务被运行到完成之后,可以例如由0S调度器12将屏蔽的处理器核转移到降低功率状态。
[0046]在描述适用于实施本公开实施例的示例计算设备之前,应当注意,虽然本公开已经基本上在异构处理器核的上下文中呈现,但是本公开不限于此。本公开的实施例可以用同构以及异构处理器核进行实施。
[0047]图6图示了根据各种实施例,适合用作计算设备10的示例计算设备600 (其也可以被称为系统)。计算设备600容纳印刷电路板(“PCB”)602。PCB 602可以包括多个部件,包括但不限于处理器604和至少一个通信芯片606。处理器604可以物理和电气耦合到PCB 602。在各种实施例中,处理器604可以包括两个或更多个处理器核。在各种实施例中,所述至少一个通信芯片606也可以物理和电气耦合到PCB 602。在另外的实施方式中,通信芯片606可以是处理器604的一部分。
[0048]取决于其应用,计算设备600可以包括其他部件,其可以或可以不物理和电气耦合至PCB 602。这些其他部件包括但不限于易失性存储器(例如,动态随机存取存储器608,也称为“DRAM”)、非易失性存储器(例如,只读存储器610,也称为“ROM”)、闪速存储器612、0S调度器613 (其可以以硬件或软件方式存在)、图形处理器614、数字信号处理器(未示出)、密码处理器(未示出)、存储器控制器616、输入/输出(“1/0”)控制器617、天线618、显不器(未不出)、触摸屏显不器620,触摸屏控制器622、电池624、音频编解码器(未示出)、视频编解码器(未示出)、功率放大器626、全球定位系统(“GPS”)设备628、罗盘630、加速度计(未示出)、陀螺仪(未示出)、扬声器632、摄像机634和大容量存储设备(诸如,硬盘驱动器、固态驱动器、压缩盘(“⑶”)、数字多功能盘(“DVD”))(未示出)等等。
[0049]在各种实施例中,易失性存储器(例如,DRAM608)、非易失性存储器(例如,ROM610)、闪速存储器612和大容量存储设备可以包括编程指令,其被配置成响应于处理器604的执行使得计算设备600能够实施方法500的所有或所选方面。
[0050]通信芯片606可以实现用于数据向和从计算设备600的传送的有线和/或无线通信。术语“无线”及其派生词可以用于描述可通过使用调制电磁辐射、通过非固体介质传送数据的电路、设备、系统、方法、技术、通信信道等。该术语不暗示关联的设备不包含任何导线,尽管在一些实施例中它们可能不包含。通信芯片606可以实现任何数目的无线标准或协议,包括但不限于 W1-Fi (IEEE 802.11 族)、WiMAX(IEEE 802.16 族)、IEEE 802.20、长期演进(“LTE”)、Ev-DO、HSPA+、HSDPA+、HSUPA+、EDGE、GSM、GPRS、CDMA、TDMA、DECT、蓝牙、它们的衍生物以及被指定为3G、4G、5G和更高的任何其他无线协议。计算设备600可以包括多个通信芯片606。例如,第一通信芯片606可以专用于较短距离无线通信,诸如W1-Fi和蓝牙,以及第二通信芯片606可以专用于较长距离无线通信,诸如GPS、EDGE、GPRS、CDMA、WiMAX、LTE、Ev-D0 和其他。
[0051]在各种实施方式中,计算设备600可以是膝上型电脑、上网本、平板、笔记本、超极本、智能电话、个人数字助理(“PDA”)、超级移动PC、移动电话、台式计算机、服务器、打印机、扫描仪、监视器、机顶盒、娱乐控制单元(例如,游戏控制台)、数码摄像机、便携式音乐播放器或者数字录像机。在另外的实施方式中,计算设备600可以是处理数据的任何其他电子设备。
[0052]本文中描述了用于在多个处理器核之间分发任务的装置、计算机实现方法、系统、设备和计算机可读介质的实施例。在各种实施例中,响应于准则已被满足的确定,计算设备的多个处理器核中的第一处理器核可被转移到屏蔽状态,其中没有新的任务要被分配到所述第一处理器核,以及已被分配给所述第一处理器核的一个或多个任务被执行到完成。在各种实施例中,该准则可以至少部分地基于计算设备的条件,诸如对计算设备来说可用的功率或者与计算设备相关联的温度。在各种实施例中,在已被分配给第一处理器核的一个或多个任务被执行到完成之后,第一处理器核可被转移到降低功率状态。
[0053]在各种实施例中,降低功率状态可以是下述状态:其中,与所述第一处理器核相关联的一个或多个核锁相环被关闭,与所述第一处理器核相关联的高速缓存被刷新,和/或所述第一处理器核的状态被保存到高速缓存。
[0054]在各种实施例中,准则可以是多个处理器核的工作量是否落到预定阈值以下。在各种实施例中,预定阈值可以至少部分基于计算设备的电池功率水平和/或计算设备的热状态而确定。
[0055]在各种实施例中,工作量可以是多个处理器核的平均工作量。在各种实施例中,多个处理器核的当前负荷水平可被周期性地测量以确定多个处理器核的平均工作量。在各种实施例中,多个处理器核的当前负荷水平可以每4-6秒加以测量。
[0056]在各种实施例中,响应于第二准则已被满足的确定,第一处理器核可被转移到非屏蔽状态,其中,新的任务要被分配到所述第一处理器核。在各种实施例中,第二准则可以是多个处理器核的工作量是否超过第二预定阈值。
[0057]在各种实施例中,响应于第三准则已被满足的确定,计算设备的多个处理器核中的第二处理器核可被转移到屏蔽状态,其中没有新的任务要被分配到所述第二处理器核,以及已被分配给所述第二处理器核的任务被执行到完成。在各种实施例中,所述第三准则可不同于所述第一准则。在各种实施例中,所述第一和第二处理器核可以以不同频率操作。
[0058]尽管本文出于描述的目的图示和描述了特定实施例,但在不脱离本公开的范围的情况下,可以用旨在实现相同目的的许多种可替换和/或等同实施例或实施方式替代所示出和描述的实施例。本申请意图覆盖本文讨论的实施例的任何改编或变型。因此,显然意图是,本文描述的实施例仅由其权利要求和等同物限定。
[0059]在本公开记载了“一”或“第一”元素或其等同物的情况下,这种公开包括一个或多个这种元素,既不要求也不排除两个或更多个这种元素。此外,所标识的元素的序数指示符(例如,第一、第二或第三)被用于在元素之间进行区分,而不指示或暗示要求或受限数目的这种元素,它们也不指示这种元素的特定位置或顺序,除非另有具体声明。
【权利要求】
1.其中体现有计算机可读代码的至少一种计算机可读介质,所述计算机可读代码包括指令,所述指令被配置成响应于由计算设备对所述指令的执行,使得所述计算设备能够:响应于准则已被满足的确定,转移所述计算设备的多个处理器核中的第一处理器核到屏蔽状态,其中没有新的任务要被分配到所述第一处理器核,以及已被分配给所述第一处理器核的一个或多个任务被执行到完成,该准则至少部分基于所述计算设备的条件;以及在已被分配给所述第一处理器核的一个或多个任务被执行到完成之后,转移所述第一处理器核到降低功率状态。
2.根据权利要求1所述的至少一种计算机可读介质,其中,所述降低功率状态包括下述状态:其中,与所述第一处理器核相关联的一个或多个核锁相环被关闭,与所述第一处理器核相关联的高速缓存被刷新,以及所述第一处理器核的状态被保存到高速缓存。
3.根据权利要求1所述的至少一种计算机可读介质,其中,所述准则包括多个处理器核的工作量是否落到预定阈值以下。
4.根据权利要求3所述的至少一种计算机可读介质,其中,所述预定阈值至少部分基于所述计算设备的电池功率水平而确定。
5.根据权利要求3所述的至少一种计算机可读介质,其中,所述预定阈值至少部分基于与所述计算设备相关联的温度而确定。
6.根据权利要求3所述的至少一种计算机可读介质,其中,所述工作量是多个处理器核的平均工作量,并且其中,响应于由所述计算设备执行,所述指令进一步使得所述计算设备能够周期性地测量所述多个处理器核的当前负荷水平,以确定所述多个处理器核的平均工作量。
7.根据权利要求6所述的至少一种计算机可读介质,其中,所述多个处理器核的当前负荷水平被每4-6秒加以测量。
8.根据权利要求1-7中任一项所述的至少一种计算机可读介质,其中,所述准则是第一准则,并且其中,响应于由所述计算设备执行,所述指令进一步使得所述计算设备能够响应于第二准则已被满足的确定,转移所述第一处理器核到非屏蔽状态,其中新的任务要被分配到所述第一处理器核。
9.根据权利要求8所述的至少一种计算机可读介质,其中,所述第二准则包括所述多个处理器核的工作量是否超过预定阈值。
10.根据权利要求1-7中任一项所述的至少一种计算机可读介质,其中,所述准则是第一准则,以及其中,响应于由所述计算设备执行,所述指令进一步使得所述计算设备能够响应于第二准则已被满足的确定,转移计算设备的多个处理器核中的第二处理器核到屏蔽状态,其中没有新的任务要被分配到所述第二处理器核,以及已被分配给所述第二处理器核的任务被执行到完成,所述第二准则不同于所述第一准则。
11.根据权利要求10所述的至少一种计算机可读介质,其中,所述第一和第二处理器核以不同的频率操作。
12.根据权利要求10所述的至少一种计算机可读介质,其中,所述第一准则包括多个处理器核的工作量是否落到第一预定阈值以下,并且所述第二准则包括多个处理器核的工作量是否落到第二预定阈值以下,所述第二预定阈值不同于所述第一预定阈值。
13.—种系统,包括: 存储器; 可操作地耦合到所述存储器的多个处理器核;和 调度器,由一个或多个处理器核操作以: 确定准则已被满足,所述准则至少部分地基于系统的条件; 转移多个处理器核中的第一处理器核到屏蔽状态,其中没有新的任务要被分配到所述第一处理器核,以及已被分配给所述第一处理器核的一个或多个任务被执行到完成;和 在已被分配给所述第一处理器核的一个或多个任务被执行到完成之后,转移所述第一处理器核到降低功率状态。
14.根据权利要求13所述的系统,其中,所述降低功率状态包括下述状态:其中,与所述第一处理器核相关联的一个或多个核锁相环被关闭,与所述第一处理器核相关联的高速缓存被刷新,以及所述第一处理器核的状态被保存到高速缓存。
15.根据权利要求13所述的系统,其中,所述准则包括多个处理器核的工作量是否落到预定阈值以下。
16.根据权利要求15所述的系统,其中,所述预定阈值至少部分基于计算设备的电池功率水平而确定。
17.根据权利要求15所述的系统,其中,所述预定阈值至少部分基于计算设备的热状态而确定。
18.根据权利要求15所述的系统,其中,所述工作量是多个处理器核的平均工作量,并且其中,所述调度器进一步周期性地测量所述多个处理器核的当前负荷水平,以确定所述多个处理器核的平均工作量。
19.根据权利要求18所述的系统,其中,所述调度器进一步每4-6秒测量所述多个处理器核的当前负荷水平。
20.根据权利要求13-19中任一项所述的系统,其中,所述准则是第一准则,并且其中,所述调度器进一步响应于第二准则已被满足的确定,转移所述第一处理器核到非屏蔽状态,其中新的任务要被分配到所述第一处理器核。
21.根据权利要求20所述的系统,其中,所述第二准则包括所述多个处理器核的工作量是否超过预定阈值。
22.根据权利要求13-19中任一项所述的系统,其中,所述准则是第一准则,并且其中,所述调度器进一步: 确定不同于第一准则的第二准则是否已被满足;和 响应于第二准则已被满足的确定,转移多个处理器核中的多个处理器核中的第二处理器核到屏蔽状态,其中没有新任务要被分配给所述第二处理器核,以及已被分配给所述第二处理器核的任务被执行到完成。
23.根据权利要求22所述的系统,其中,所述第一和第二处理器核以不同的频率操作。
24.根据权利要求22所述的系统,其中,所述第一准则包括多个处理器核的工作量是否落到第一预定阈值以下,并且所述第二准则包括多个处理器核的工作量是否落到第二预定阈值以下,所述第二预定阈值不同于所述第一预定阈值。
25.一种计算机实现方法,包括: 由被配置成将任务分配给计算设备的多个处理器核的调度器确定多个处理器核的工作量是否满足准则,所述准则至少部分基于对计算设备来说可用的功率或与计算设备相关联的温度; 由所述调度器转移计算设备的多个处理器核中的第一处理器核到屏蔽状态,而不迁移已被分配给所述第一处理器核的一个或多个任务,在所述屏蔽状态中,没有新的任务要被分配到所述第一处理器核;和 在已被分配给所述第一处理器核的一个或多个任务被执行到完成之后,由所述调度器转移所述第一处理器核到降低功率状态。
26.根据权利要求25所述的计算机实现方法,其中,转移所述第一处理器核到降低功率状态包括:转移所述第一处理器核到下述状态:其中,与所述第一处理器核相关联的一个或多个核锁相环被关闭,与所述第一处理器核相关联的高速缓存被刷新,并且所述第一处理器核的状态被保存到高速缓存。
27.根据权利要求25所述的计算机实现方法,其中,所述准则包括多个处理器核的工作量是否落到预定阈值以下。
28.根据权利要求27所述的计算机实现方法,其中,所述预定阈值至少部分基于所述计算设备的电池功率水平而确定。
29.根据权利要求27所述的计算机实现方法,其中,所述预定阈值至少部分基于所述计算设备的热状态而确定。
30.根据权利要求27所述的计算机实现方法,其中,所述工作量是所述多个处理器核的平均工作量,并且所述计算机实现方法进一步包括周期性地测量多个处理器核的当前负荷水平,以确定所述多个处理器核的平均工作量。
31.根据权利要求30所述的计算机实现方法,其中,所述多个处理器核的当前负荷水平被每4-6秒加以测量。
32.根据权利要求25-30中任一项所述的计算机实现方法,其中,所述准则是第一准贝U,并且其中,响应于由所述计算设备执行,指令进一步使得所述计算设备能够响应于所述多个处理器核的工作量满足第二准则的确定,转移所述第一处理器核到非屏蔽状态,其中新的任务要被分配到所述第一处理器核。
33.根据权利要求32所述的计算机实现方法,其中,所述第二准则包括所述多个处理器核的工作量是否超过预定阈值。
34.根据权利要求25-30中任一项所述的计算机实现方法,其中,所述准则是第一准贝U,以及其中,所述方法进一步包括:响应于第二准则已被满足的确定,转移计算设备的多个处理器核中的第二处理器核到屏蔽状态,其中没有新的任务要被分配到所述第二处理器核,以及已被分配给所述第二处理器核的任务被执行到完成,所述第二准则不同于所述第一准则。
35.根据权利要求34所述的计算机实现方法,其中,所述第一和第二处理器核以不同的频率操作。
36.根据权利要求34所述的计算机实现方法,其中,所述第一准则包括多个处理器核的工作量是否落到第一预定阈值以下,并且所述第二准则包括多个处理器核的工作量是否落到第二预定阈值以下,所述第二预定阈值不同于所述第一预定阈值。
【文档编号】G06F15/80GK104380257SQ201280072497
【公开日】2015年2月25日 申请日期:2012年5月9日 优先权日:2012年5月9日
【发明者】H·塞哈德里, R·穆拉里德哈, V·M·鲁德拉穆尼, I·曼索尔 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1