CN116745732A - 核电压调节器能量感知任务调度 - Google Patents

核电压调节器能量感知任务调度 Download PDF

Info

Publication number
CN116745732A
CN116745732A CN202180089295.2A CN202180089295A CN116745732A CN 116745732 A CN116745732 A CN 116745732A CN 202180089295 A CN202180089295 A CN 202180089295A CN 116745732 A CN116745732 A CN 116745732A
Authority
CN
China
Prior art keywords
regulator
processor
task
level
voltage
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
Application number
CN202180089295.2A
Other languages
English (en)
Inventor
V·A·迪巴德
B·K·兰加拉简
P·K·卡基雷尼
S·图拉加
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN116745732A publication Critical patent/CN116745732A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • G06F9/4893Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues taking into account power or heat criteria
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5094Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/329Power saving characterised by the action undertaken by task scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/28Supervision thereof, e.g. detecting power-supply failure by out of limits supervision
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

计算设备中的任务调度可以部分基于电压调节器效率。针对要调度的附加任务,可以确定多个任务调度情况,其表示附加任务在多个处理器中的每个处理器上执行,同时一个或多个其他任务在这些处理器当中执行。针对每个任务调度情况,可以基于与附加任务、在处理器上执行的一个或多个其他任务以及每个电压调节器的效率水平相关联的性能水平指示来确定电压调节器的调节器输入功率水平。针对每个任务调度情况,可以通过对所有电压调节器的调节器输入功率水平求和来确定总调节器输入功率水平。附加任务可以在与总调节器输入功率最低的任务调度情况相关联的处理器上执行。

Description

核电压调节器能量感知任务调度
背景技术
便携式计算设备(portable computing device,“PCD”)在个人水平和专业水平上正成为人们的必需品。这些设备可以包括移动电话、平板计算机、掌上计算机、便携式数字助理(portable digital assistant,“PDA”)、便携式游戏控制台以及其他便携式电子设备。PCD通常包含集成电路或片上系统(systems-on-a-chip,“SoC”),集成电路或SoC包括被设计成一起工作以向用户交付功能的许多组件或子系统。例如,SoC可以包含任何数量的处理引擎,诸如中央处理单元(central processing unit,“CPU”)、图形处理单元(graphicalprocessing unit,“GPU”)、数字信号处理器(digital signal processor,“DSP”)、神经处理单元(neural processing unit,“NPU”)、无线收发器单元(也称为调制解调器)等。
诸如CPU之类的处理引擎可以具有多个核,这些核能够彼此独立地执行任务。核可以是对称的,其中每个核都能够具有与其他核相同的性能水平,或者核可以是非对称的(也称为异构的),其中针对比其他核更高的性能而优化一个或多个核。核可以被组织成集群。在一些异构架构中,一个集群可能由针对比另一集群的核更高的性能而优化的核组成。高性能核通常比低性能核消耗更多的功率。确定在多个核中的哪个核上执行多个任务中的哪个任务的过程通常被称为任务调度。任务调度可以由调度器控制,调度器通常是操作系统核的一部分。
尝试最小化所有正在执行的任务所消耗的能量总量的任务调度可以被称为能量感知调度(energy-aware scheduling,“EAS”)。为了确定在哪个核上执行任务最有效,采用EAS的调度器可以对将处理负载(即,性能)与功率相关联的模型应用将会在每个核上放置任务的处理负载的估计。然后,调度器选择其上模型指示执行任务将会最小化总功率的核。
发明内容
公开了用于计算设备中的调节器效率感知任务调度的系统、方法、计算机可读介质和其他实施例。
一种用于计算设备中的任务调度的示例性方法可以包括接收包括任务性能水平指示的任务,和确定多个任务调度情况。在示例性方法中,每个任务调度情况可以表示一个或多个其他任务在多个处理器上执行的同时该任务在多个处理器中的相关联的处理器上执行。在示例性方法中,每个处理器可以由多个电压调节器中的一个电压调节器供电。该示例性方法还可以包括:针对每个任务调度情况,基于任务性能水平指示、在处理器上执行的一个或多个其他任务、以及每个电压调节器的效率水平来确定每个电压调节器的调节器输入功率水平。该示例性方法还可以包括:针对每个任务调度情况,通过对电压调节器的调节器输入功率水平求和来确定总调节器输入功率水平。该示例性方法还可包括在多个任务调度情况中选择任务调度情况中具有最低总调节器输入功率水平的一个任务调度情况。该示例性方法还可以包括在与任务调度情况中所选择的一个任务调度情况相关联的处理器上执行任务。
一种用于计算设备中的任务调度的示例性系统可以包括多个处理器、任务调度器和多个电压调节器。任务调度器可以被配置为接收包括任务性能水平指示的任务,和确定多个任务调度情况。在示例性系统中,每个任务调度情况可以表示一个或多个其他任务在多个处理器上执行的同时该任务在相关联的处理器上执行。在示例性系统中,每个处理器可以由电压调节器中的一个电压调节器供电。在示例性系统中,任务调度器还可以被配置为针对每个任务调度情况,基于任务性能水平指示、在处理器上执行的一个或多个其他任务以及每个电压调节器的效率水平来确定每个电压调节器的调节器输入功率水平。在示例性系统中,任务调度器还可以被配置为针对每个任务调度情况,通过对电压调节器的调节器输入功率水平求和来确定总调节器输入功率水平。在示例性系统中,任务调度器还可以被配置为在多个任务调度情况中选择任务调度情况中具有最低总调节器输入功率水平的一个任务调度情况。在示例性系统中,任务调度器还可以被配置为在与任务调度情况中所选择的一个任务调度情况相关联的处理器上执行任务。
另一种用于计算设备中的任务调度的示例性系统可以包括用于接收包括任务性能水平指示的任务的部件以及用于确定多个任务调度情况的部件。在示例性系统中,每个任务调度情况可以表示一个或多个其他任务在多个处理器上执行的同时该任务在多个处理器中的相关联的处理器上执行。在示例性系统中,每个处理器可以由多个电压调节器之一供电。该示例性系统还可以包括用于针对每个任务调度情况基于任务性能水平指示、在处理器上执行的一个或多个其他任务、以及每个电压调节器的效率水平来确定每个电压调节器的调节器输入功率水平的部件。该示例性系统还可以包括用于针对每个任务调度情况通过对电压调节器的调节器输入功率水平求和来确定总调节器输入功率水平的部件。该示例性系统还可以包括用于在多个任务调度情况中选择任务调度情况中具有最低总调节器输入功率水平的一个任务调度情况的部件。该示例性系统还可以包括用于在与任务调度情况中所选择的一个任务调度情况相关联的处理器上执行任务的部件。
一种用于计算设备中的任务调度的示例性计算机可读介质可以包括其上存储有计算机可执行形式的指令的非暂时性计算机可读介质。当由计算设备的处理系统执行时,该指令可以将处理系统配置为接收包括任务性能水平指示的任务并且确定多个任务调度情况。在示例性计算机可读介质中,每个任务调度情况可以表示一个或多个其他任务在多个处理器上执行的同时该任务在多个处理器中的相关联的处理器上执行。在示例性计算机可读介质中,每个处理器可以由多个电压调节器中的一个电压调节器供电。该指令还可以将处理系统配置为针对每个任务调度情况基于任务性能水平指示、在处理器上执行的一个或多个其他任务、以及每个电压调节器的效率水平来确定每个电压调节器的调节器输入功率水平。该指令还可以将处理系统配置为针对每个任务调度情况通过对电压调节器的调节器输入功率水平求和来确定总调节器输入功率水平。该指令还可以将处理系统配置为在多个任务调度情况中选择任务调度情况中具有最低总调节器输入功率水平的一个任务调度情况。该指令还可以将处理系统配置为在与任务调度情况中所选择的一个任务调度情况相关联的处理器上执行任务。
附图说明
在附图中,除非另有指示,否则在各个视图中,相同的附图标记是指相同的部件。针对具有字母字符标记的附图标记,诸如“102A”或“102B”,字母字符标记可以区分出现在同一附图中的两个相似的部分或元素。当附图标记旨在涵盖所有附图中具有相同附图标记的所有部分时,可以省略附图标记的字母字符标记。
图1是示出根据示例性实施例的具有多个核心集群的计算设备中的任务调度系统的框图。
图2是示出根据示例性实施例的具有多个芯粒的计算设备中的任务调度系统的框图。
图3A示出了根据示例性实施例的用于计算设备中的任务调度的方法中的任务调度情况的第一示例。
图3B示出了根据示例性实施例的用于计算设备中的任务调度的方法中的任务调度情况的第二示例。
图3C示出了根据示例性实施例的用于计算设备中的任务调度的方法中的任务调度情况的第三示例。
图4是示出根据示例性实施例的用于计算设备中的任务调度的方法的流程图。
图5是示出电压调节器效率曲线的示例的曲线图。
图6与图5相似,示出了两个不同电压调节器的电压调节器效率曲线的示例。
图7是根据示例性实施例的便携式计算设备的框图。
具体实施方式
词语“示例性”在本文中用来表示“用作示例、实例或说明”。词语“说明性的”在本文中可以用作“示例性的”的同义词。本文描述为“示例性”的任何方面不一定被解释为比其他方面更优选或更有利。与在本文中可以用于表示不经由中间元件连接的术语“直接连接”相反,术语“耦合”在本文中可以用于表示经由零个或更多个中间元件连接。
对在处理器上执行的任务的引用意味着由任务表示的软件(指令、数据等)通过处理器以根据本领域普通技术人员很好理解的传统计算原理的方式从存储器中检索并执行软件的部分、将结果存储在存储器中等来执行。在本文描述的一些示例性实施例中,为了清楚起见,可以省略对这种存储器的显式描述。
如图1所示,在说明性或示例性实施例中,计算设备100可以包括处理器芯片102。处理器芯片102可以是例如CPU(有时也称为应用处理器)。处理器芯片102可以具有多个核104,诸如核104A、104B、104C和104D。尽管在所示实施例中,处理器芯片102具有四个核104,但是在其他实施例中,这样的处理器芯片可以具有任何其他数量的核。核104A和104B可以被组织在第一集群106A中,并且核104C和104D可以被组织在第二集群106B中。尽管在所示实施例中,核104被组织成两个集群106A和106B,但是在其他实施例中,核可以被组织成任何其他数量的集群。在一些实施例中,第一集群106A的核104A和104B可以被配置为比第二集群106B的核104C和104D维持更高的处理负载或更高的性能水平(例如,以每秒百万条指令或“MIPS”来表示)。如在本公开中所使用的,术语“高性能”和“低性能”是指相对于彼此的性能水平。然而,在其他实施例中,所有这样的核能够维持相同的最大处理负载。
第一电压调节器108A可以被配置为向第一集群106A的核104A和104B供电。类似地,第二电压调节器108B可以被配置为向第二集群106B的核104C和104D供电。在本文描述的示例性实施例中,术语“功率”是指在调节电压下的电流量。尽管为了清楚起见未在图1中示出,但是一个或多个调节电压可以由向电压调节器108A和108B提供电压控制信号的计算设备100的功率管理电路来选择或调整。如下面进一步详细描述的,在一些实施例中,电压调节器108A和108B可以彼此不同,诸如具有不同的效率。然而,在其他实施例中,这些电压调节器可以彼此相似,诸如具有相同的效率。
除了上述处理器芯片102以及电压调节器108A和108B之外,计算设备100的其他元件可以包括例如一个或多个存储器、其他处理器、输入/输出系统、数据通信总线、功率管理电路等。为了清楚起见,图1中没有示出这样的其他元件。
如图2所示,在另一示例性实施例中,计算设备200可以包括处理器芯片202。处理器芯片202可以是例如CPU或应用处理器。处理器芯片202可以包括多个芯粒204,诸如芯粒204A、204B、204C和204D。尽管在所示实施例中,处理器芯片202具有四个芯粒204,但是在其他实施例中,这样的处理器芯片可以具有任何其他数量的芯粒。电压调节器208A、208B、208C和208D可以被配置为分别向芯粒204A、204B、204C和204D供电。除了上述处理器芯片202和电压调节器208A、208B、208C和208D之外,计算设备200的其他元件可以包括例如一个或多个存储器、其他处理器、输入/输出系统、数据通信总线等。为了清楚起见,图2中没有示出这样的其他元件。
如图3A-图3C所示,系统300可以包括任务调度器302和处理器304,诸如处理器304A、304B、304C和304D。处理器304可以是上述核104(图1)或芯粒204(图2)或者任何其他组的两个或更多处理器的示例。此外,尽管在上述实施例中,所有的核104被包括在单个芯片102中,并且所有的芯粒204被包括在单个芯片202中,但是在其他实施例中,这样的处理器可以在单独的芯片中。在下面的描述中,术语“处理器”涵盖了可以被包含在一个或多个芯片中的所有这样的处理器。此外,尽管在所示实施例中,系统300具有四个处理器304,但是在其他实施例中,这样的系统可以具有任何其他数量的处理器。
电压调节器可以以上面参考图1至图2描述的方式向处理器304供电。例如,第一电压调节器308A可以向处理器304A和304B供电,并且第二电压调节器308B可以向处理器304C和304D供电。
在图3A-图3C所示的实施例中,任务调度器302可以对应于操作系统(未示出)的一部分或特征。也就是说,任务调度器302可以包括通过执行包括任务调度软件的操作系统软件来配置的处理器(诸如处理器304或其他处理器(未示出)中的任何一个)的一部分。
术语“任务调度”或“调度”是指选择一个处理器304以在其上执行任务。在系统300的操作示例中,当调度器302(例如,从操作系统的另一部分)接收要调度的附加或第二任务306B的指示时,第一任务306A可以在处理器304A上执行。箭头310A概念性地指示调度器302可能先前(即,在接收到第二任务306B的指示之前)已经调度第一任务306A在处理器304A上执行。响应于第二任务306B的指示,调度器302可以选择处理器304中的一个处理器来执行第二任务306B。如下所述,在图3A、图3B和图3C中分别示出了调度附加任务的三种可选方式(本文称为“任务调度情况”)。广义地说,附加或第二任务306B可以在四个处理器304A、304B、304C和304D中的任何一个上执行。然而,在该示例中,可以根据传统的任务调度原则来识别或确定用于执行第二任务306B的候选处理器集合。照惯例,任务负载最重的一个或多个处理器(如果有的话)将会被排除在用于执行附加任务的候选处理器集合之外。也就是说,负载最小的一个或多个处理器形成候选集合。在该示例中,在处理器304A正在执行第一任务306A而其他处理器304B、304C和304D都没有执行任何任务的情况下,处理器304B、304C和304D形成用于执行第二任务306B的候选处理器集合。
例如,如图3A中箭头310B概念性地指示的,并且基于下面描述的方法,调度器302可以调度第二任务306B在处理器304B上执行,而不是在任何其他处理器304A、304C和304D上执行。也就是说,调度器302可以选择处理器304中的一个处理器以在其上执行第二任务306B。如下所述,该方法可以部分基于电压调节器效率进行选择。尽管出于示例的目的,在图3A-图3C中仅示出了两个任务306A和306B,但是任何数量的任务可以分布在任何数量的处理器中彼此同时执行。
如图4所示,用于计算设备中的任务调度的方法400可以包括以下内容。应当理解,方法400表示示例或实施例,并且在其他实施例中,方法400的一些步骤或类似步骤或动作可以以与方法400不同的次序发生,或者可以被省略。出于示例的目的,方法400可以关于一个或多个计算设备100(图1)或200(图2)或系统300(图3)来描述。然而,方法400或相关方法可以应用于其他计算设备、系统等。此外,下面阐述的电流、电压等的数值是出于示例的目的而提供的,并且在其他示例中可以不同。
如框402所指示的,可以接收附加任务。也就是说,接收到要调度的附加任务的指示。该指示可以包括任务性能水平的指示。任务性能水平可以涉及例如处理器执行任务可能需要维持的MIPS数量或类似的性能度量。附加任务可以由例如上述任务调度器302(图3A-图3C)接收。
如框404所指示的,可以识别或确定用于执行附加任务的两个或更多个候选处理器。候选处理器可以由例如任务调度器302来确定。可以采用传统方法来识别候选处理器,诸如识别负载最小的一个或多个处理器。参考上面关于图3A-图3C描述的其中当处理器304A正在执行第一任务306A并且其他处理器304B、304C和304D都没有正在执行任何任务时接收到附加或第二任务306B的示例,当第一任务306A在处理器304A上同时执行时,处理器304B、304C和304D中的每一个是负载最小的处理器,并且是用于执行第二任务306B的候选。
如框406所指示的,可以确定两个或更多个任务调度情况。根据本文描述的示例性实施例的任务调度情况是一种状态的表示,在该状态中,附加任务正在(候选)处理器中所选择的处理器上执行,同时一个或多个其他任务在这些处理器中执行。如图3A-图3C所指示的,可能存在三种任务调度情况。如图3A所示,任务调度情况之一可以表示附加或第二任务306B在处理器304B上执行,同时第一任务306A在处理器304A上执行。如图3B所示,另一任务调度情况可以表示第二任务306B在处理器304C上执行,同时第一任务306A在处理器304A上执行。如图3C所示,又一任务调度情况可以表示第二任务306B在处理器304D上执行,同时第一任务306A在处理器304A上执行。可以在框406中确定的任务调度情况的数量可以对应于候选处理器的数量。在每个任务调度情况下,可以考虑候选处理器中的不同处理器来执行附加任务。尽管图3A-图3C示出了其中在调度器302接收附加或第二任务306B时只有一个任务306A正在执行的简单示例,但是也可以存在其中在调度器302接收要调度的附加任务时许多任务在各个处理器304中被分配和执行的其他操作示例。
如框408所指示的,可以针对每个任务调度情况确定每个电压调节器的调节器输入功率水平。与术语“调节器输出端”相反,术语“调节器输入端”在本公开中用于指代电压调节器的电源侧,术语“调节器输出端”是指电压调节器尝试维持在(“调节的”)电压电平的电压调节器的功率吸收侧。电源的示例是电池(未示出)。
任务调度情况的调节器输入功率水平表示在由电压调节器供电的一个或多个处理器正在执行由该任务调度情况表示的一个或多个任务的操作状态下、电压调节器将在其输入端(例如,从电池或其他电源)汲取的功率量。为了针对任务调度情况中的一个任务调度情况确定电压调节器的调节器输入功率水平,调度器302可以例如利用一个或多个查找表(未示出)、计算或者查找表和计算的组合。任务调度情况的调节器输入功率水平可以部分基于附加任务的任务性能水平指示,以及在该任务调度情况下可以在由该调节器供电的一个或多个处理器上执行的任何其他任务的性能水平或处理器负载的其他指示。重要的是,调节器输入功率水平还可以部分基于调节器效率。
调度器302可以例如利用查找表(未示出),响应于性能水平或处理器负载的指示来确定调节器输入功率。这种表可以部分基于调节器效率。也就是说,例如由表提供的电压调节器的输入功率水平与处理器负载之间的关系可以考虑电压调节器的效率水平。调节器效率是指电压调节器能够在其输出端提供的输入功率水平的百分比,即调节器输出功率水平。如上所述,电压调节器输出端耦合到一个或多个处理器,而电压调节器输入端可以耦合到电源,诸如电池。
再次参考图3A-图3C中所示的示例,第一电压调节器308A的输出端耦合到处理器304A和304B,因此向其供应电流,并且第二电压调节器308B的输出端耦合到处理器304C和304D,因此向其供应电流。根据框408,可以针对每个任务调度情况确定第一电压调节器308A的输入功率水平,并且可以针对每个任务调度情况确定第二电压调节器308B的输入功率水平。针对图3A所示的任务调度情况、图3B所示的任务调度情况以及图3C所示的任务调度情况,可以确定电压调节器308A和308B中的每一个电压调节器的输入功率水平。
针对图3A所示的其中第一任务306A在处理器304A上执行并且附加或第二任务306B在处理器304B上执行的任务调度情况,考虑到电压调节器308A的效率,电压调节器308A的输入功率水平可以基于与其任务306A的执行相关联的处理器304A上的处理器负载和与其任务306B的执行相关联的处理器304B上的处理器负载来确定。针对第一任务306A在处理器304A上执行并且附加或第二任务306B在处理器304B上执行的相同情况,电压调节器308B的输入功率水平为零。
针对图3B中所示的其中第一任务306A在处理器304A上执行并且附加或第二任务306B在处理器304C上执行的任务调度情况,电压调节器308A的输入功率水平可以基于与其任务306A的执行相关联的处理器304A上的处理器负载来确定,因为在这种情况下不执行任何任务的处理器304B上的处理器负载为零。针对第一任务306A在处理器304A上执行并且附加或第二任务306B在处理器304C上执行的相同情况,电压调节器308B的输入功率水平可以基于与其任务306B的执行相关联的处理器304C上的处理器负载来确定,因为在这种情况下不执行任何任务的处理器304D上的处理器负载为零。
针对图3C中所示的其中第一任务306A在处理器304A上执行并且附加或第二任务306B在处理器304D上执行的任务调度情况,电压调节器308A的输入功率水平可以基于与其任务306A的执行相关联的处理器304A上的处理器负载来确定,因为在这种情况下不执行任何任务的处理器304B上的处理器负载为零。针对第一任务306A在处理器304A上执行并且附加或第二任务306B在处理器304D上执行的相同情况,电压调节器308B的输入功率水平可以基于与其任务306B的执行相关联的处理器304D上的处理器负载来确定,因为在这种情况下不执行任何任务的处理器304C上的处理器负载为零。
备选地,或者除了利用一个或多个查找表之外,或者为了产生这样的查找表,调节器输入功率水平可以通过首先确定相对应的调节器输出功率水平来确定。调节器输出功率水平是调节器输入功率水平的百分比,其中该百分比是电压调节器在电源电流水平(即电压调节器正在供应的电流)下的效率水平。如下面进一步详细描述的,电压调节器的效率在其能够供应的电流范围内不是恒定的。调节器输出功率是调节器所供应的由一个或多个处理器汲取的功率的总和。通过首先确定调节器输出功率来确定调节器输入功率可以通过上面参考图3A-图3C描述的示例来说明。
在针对图3A所示的其中第一任务306A在处理器304A上执行并且附加或第二任务306B在处理器304B上执行的任务调度情况确定调节器输出功率时,可以首先确定每个处理器304A和304B维持其处理负载所需的处理器功率水平或功率量。调度器302可以接收具有N值(例如,“N”MIPS,其中N是大于零的整数)的任务性能水平指示,其指示将由附加任务贡献的处理负载。调度器302可以(例如,使用查找表)确定,为了维持N MIPS的处理负载,处理器304B将需要2.14W。调度器302可以以相同的方式确定处理器304A在执行任务306A时需要2.14A。替代地,在一些实施例中,诸如图2所示的实施例,执行任务的处理器所汲取的功率可以使用来自为该处理器供电的电压调节器的电流和电压的遥测读数来确定。
然后,可以通过对由电压调节器供电的所有处理器的处理器功率水平求和来确定电压调节器输出功率水平。例如,针对图3A所示的其中第一任务306A在处理器304A上执行并且附加或第二任务306B在处理器304B上执行的任务调度情况,调度器302可以确定电压调节器308A的输出功率是2.14W+2.14W=4.28W。针对图3A所示的任务调度情况,电压调节器308B的输出功率为零,因为没有任务在处理器304C或304D上执行。然后,可以通过将电压调节器输出功率水平除以电压调节器效率来确定电压调节器输入功率水平。
如图5所示,电压调节器效率可以从模型获得,模型可以是曲线图500或查找表(未示出)的形式。曲线图500包括将电压调节器负载电流(例如,以mA为单位)与效率(百分比)相关联的曲线502。电压调节器负载电流水平可以通过将电压调节器输出功率水平除以调节器输出电压水平来确定。尽管仅示出了一个曲线502,但是应当理解,不同的电压调节器可以具有由不同曲线建模的效率。出于图3A-图3C所示的示例的目的,曲线502可以描述电压调节器308A和308B两者的效率。
在一些实施例中,计算的电压调节器输出功率水平可以通过添加计算的电源平面损耗来调整。电源平面损耗是由分配来自电压调节器的功率的电路板(未示出)中的金属层或平面所耗散的功率量。电源平面损耗可以被表示为电阻与调节器输出电流平方的乘积。调节器输出电流可以通过将电压调节器输出功率除以调节器输出电压来确定。在一些实施例中,调节器输出电压可以通过遥测(即,从电压调节器获得测量值)来确定。针对图3A所示的其中电压调节器308A的输出功率是4.28W并且测量的电压是例如0.769伏特(V)的任务调度情况,调节器输出电流是4.28W/0.769V=5.56安培(A)。电压调节器输出端与处理器之间的路径的电阻可以是预定值。在其中电压调节器308A的输出功率是4.28W并且电压调节器输出端与每个处理器304A和304B之间的路径具有例如3毫欧的电阻的上述示例中,可以将(5.56)2x(0.003)或0.092的电源平面损耗与上面计算的4.28W的电压调节器输出功率相加,从而导致电压调节器308A的调整后的输出功率水平为4.372W。
再次参考图5,针对图3A所示的任务调度情况,电压调节器负载电流是4.372W/0.769V=5.69A。曲线502指示在负载电流水平为5.69A时,电压调节器308A的效率水平是77.4%或0.774。因此,针对图3A所示的任务调度情况,电压调节器308A的输入功率水平是4.372W/0.774=5.65W。注意,针对图3A所示的任务调度情况,电压调节器308B的输入功率水平为零,因为处理器304C或304D都没有执行任何任务。
回到图4,如框410所指示的,针对每个任务调度情况,可以通过对所有电压调节器的输入功率水平求和来确定总调节器输入功率。针对图3A所示的其中电压调节器308A的输入功率水平是5.65W并且电压调节器308B的输入功率水平为零的任务调度情况,总调节器输入功率是5.65W。
针对每个任务调度情况,执行上面关于框408和410描述的步骤,从而产生每个电压调节器的输入功率水平。针对图3B和图3C所示的任务调度情况,可以执行以下示例性计算。注意,在该示例中,针对图3B和图3C所示的任务调度情况的计算彼此相同,因为附加或第二任务306B是在处理器304C上执行还是在处理器304D上执行针对计算来说并不重要。
针对图3B和图3C所示的任务调度情况,基于附加或第二任务306B的任务性能水平,调度器302可以以与上述第一任务调度情况相同的方式来确定处理器304C或304D将需要2.14W以维持第二任务306B的执行。由于在该示例中没有其他任务在处理器304C或304D上执行,因此电压调节器308B的输出功率水平是2.14W。
电压调节器308B的输出功率可以通过增加电源平面损耗来修改。如果测量的输出电压是例如0.769V,则电压调节器308B的输出电流是2.14W/0.769V=2.82A。如果路径电阻是例如3毫欧,则电源平面损耗(2.82)2x(0.003)或0.023可以与上面计算的2.14W的电压调节器输出功率相加,从而导致电压调节器308B的修改后的输出功率水平为2.163W。
再次参考图5,针对图3B和图3C所示的任务调度情况,电压调节器负载电流是2.163W/0.769V=2.84A。曲线502指示在2.84A的负载电流水平下,电压调节器308B的效率水平是82.5%或0.825。因此,针对图3B和图3C所示的任务调度情况,电压调节器308B的输入功率水平是2.163/0.825=2.616W。电压调节器308A的输入功率水平也是2.616W,因为在该示例中相同的条件适用于电压调节器308A和308B。也就是说,电压调节器308A和308B中的每一个正在向以相似性能水平操作的处理器供电。
回到图4,如框410所指示的,可以通过对所有电压调节器的输入功率水平求和来确定每个任务调度情况的总调节器输入功率。针对图3A所示的其中电压调节器308A的输入功率水平是5.65W并且电压调节器308B的输入功率水平为零的任务调度情况,总调节器输入功率是5.65W。针对图3B所示的其中电压调节器308A的输入功率水平是2.616W并且电压调节器308B的输入功率水平是2.616W的任务调度情况,总调节器输入功率是5.23W。针对图3C所示的其中电压调节器308A的输入功率水平是2.616W并且电压调节器308B的输入功率水平是2.616W的任务调度情况,总调节器输入功率是5.23W。
如框412所指示的,可以选择具有最低总调节器输入功率的任务调度情况。在上述示例中,针对图3B和图3C所示的任务调度情况的总调节器输入功率均为5.23W,而针对图3A所示的任务调度情况的总调节器输入功率为5.65W。相应地,任务调度器302可以选择图3B所示的任务调度情况或图3C所示的任务调度情况。在这样的其中两个或更多个任务调度情况同样具有最低总调节器输入功率的示例中,可以以任何方式选择一个,例如通过预定的次序或索引选择一个、随机地选择一个等等。
如框414所指示的,然后可以在与所选择的任务调度情况相关联的处理器上执行附加任务。在上述示例中,如果选择了图3B所示的任务调度情况,则第二任务306B可以在处理器304C上执行。如果选择了图3C所示的任务调度情况,则第二任务306B可以在处理器304D上执行。
注意,如果调节器功率水平的确定不是部分基于调节器效率(即,损耗),则在前述示例中的三种任务调度情况的每一种中,总功耗的计算将产生相同的结果。在图3A所示的任务调度情况下,在不考虑调节器效率的情况下计算总功耗的结果将是4.28W,因为将确定处理器304A消耗2.14W并且处理器304B消耗2.14W。在图3B所示的任务调度情况下,在不考虑调节器效率的情况下计算总功耗的结果也将是4.28W,因为将确定处理器304A消耗2.14W并且处理器304C消耗2.14W。在图3C所示的任务调度情况下,在不考虑调节器效率的情况下计算总功耗的结果将是4.28W,因为将确定处理器304A消耗2.14W并且处理器304D消耗2.14W。基于在不考虑调节器效率的情况下计算总功耗的结果,传统的任务调度器(未示出)可能在处理器304B上执行附加或第二任务306B,然而方法300的上述示例揭示了在处理器304C或304D上执行第二任务306B比在处理器304B上执行更节能。
如图6所示,曲线图600包括第一电压调节器的第一负载电流-效率曲线602和第二电压调节器的第二负载电流-效率曲线604。第一电压调节器和第二电压调节器可以分别是例如电压调节器108B和108A(图1)。如上关于图1所述,由电压调节器108A供电的第一集群106A的核104A和104B可以被配置为比由电压调节器108B供电的第二集群106B的核104C和104D维持更高的处理负载。相应地,电压调节器108A可以被配置为在高处理负载下比电压调节器108B供应更多电流。例如,电压调节器108A可以比电压调节器108B具有更高的相数、更大的电感器等。相应地,在较高的电流水平下,电压调节器108B可能比电压调节器108A更有效率。在一些示例性处理负载(即MIPS数量)下,由电压调节器108B汲取的电流606可能低于由电压调节器108A汲取的电流608。不考虑调节器效率,传统的任务调度器可以确定附加任务将在核104C和104D之一上执行。然而,在该处理负载下,电压调节器108A的效率610可能高于电压调节器108B的效率612。部分基于调节器效率进行确定,任务调度器302可以确定附加任务将在核104B上执行。
如图7所示,可以在便携式计算设备(“PCD”)700中提供用于计算设备中的任务调度的系统和方法的示例性实施例。PCD 700可以是上文参考图1描述的计算设备100的示例。
PCD 700可以包括SoC 702。SoC 702可以包括CPU 704、GPU 706、DSP 707、模拟信号处理器708或其他处理器。CPU 704可以包括多个核,诸如第一核704A、第二核704B等,直到第N核704N。在SoC 702的一些示例中,CPU 704可以被称为应用处理器。
显示控制器710和触摸屏控制器712可以耦合到CPU 704。SoC702外部的触摸屏显示器714可以耦合到显示控制器710和触摸屏控制器712。PCD 700还可以包括耦合到CPU704的视频解码器716。视频放大器718可以耦合到视频解码器716和触摸屏显示器714。视频端口720可以耦合到视频放大器718。通用串行总线(universal serial bus,“USB”)控制器722也可以耦合到CPU 704,并且USB端口724可以耦合到USB控制器722。订户识别模块(subscriber identity module,“SIM”)卡726也可以耦合到CPU 704。
一个或多个存储器可以耦合到CPU 704。一个或多个存储器可以包括易失性存储器和非易失性存储器两者。易失性存储器的示例包括静态随机存取存储器(static randomaccess memory,“SRAM”)728以及动态RAM(dynamic RAM,“DRAM”)730和731。这样的存储器可以在SoC 702的外部(诸如DRAM 730),或者在SoC 702的内部(诸如DRAM 731)。耦合到CPU704的DRAM控制器732可以控制向DRAM 730和731写入数据以及从DRAM 730和731读取数据。在其他实施例中,这样的DRAM控制器可以被包括在处理器(诸如CPU 704)中。
立体声音频CODEC(编解码器)734可以耦合到模拟信号处理器708。此外,音频放大器736可以耦合到立体声音频CODEC 734。第一立体声扬声器738和第二立体声扬声器740可以分别耦合到音频放大器736。此外,麦克风放大器742可以耦合到立体声音频CODEC 734,并且麦克风744可以耦合到麦克风放大器742。调频(frequency modulation,“FM”)无线电调谐器746可以耦合到立体声音频CODEC 734。FM天线748可以耦合到FM无线电调谐器746。此外,立体声头戴式耳机750可以耦合到立体声音频CODEC 734。可以耦合到CPU 704的其他设备包括一个或多个数字(例如,CCD或CMOS)相机752。此外,键盘760、具有麦克风的单声道耳机762和振动器设备764可以耦合到模拟信号处理器708。
射频(radio frequency,RF)收发器或调制解调器754可以耦合到模拟信号处理器708和CPU 704。RF开关756可以耦合到调制解调器754和RF天线758。
SoC 702可以具有一个或多个内部或片上热传感器770A,并且可以耦合到一个或多个外部或片外热传感器770B。模数转换器(analog-to-digital converter,“ADC”)控制器772可以将由热传感器770A和770B产生的电压压降转换成数字信号。电源774和功率管理集成电路(power management integrated circuit,“PMIC”)776可以向SoC 702供应功率。
固件或软件可以被存储在诸如DRAM 730或731、SRAM 728等任何上述存储器中,或者可以被存储在可由其上有软件或固件执行的处理器硬件直接访问的本地存储器中。这种固件或软件的执行可以控制任何上述方法的方面或者配置任何上述系统的方面。任何这样的存储器或者具有以计算机可读形式存储在其中用于由处理器硬件执行的固件或软件的其他非暂时性存储介质可以是“计算机可读介质”的示例,如专利词典中所理解的术语。
针对本发明所属领域的普通技术人员来说,替代实施例将变得显而易见。因此,尽管已经详细示出和描述了所选择的方面,但是应当理解,可以在其中进行各种替换和变更。
实现示例在以下编号的条款中描述:
1.一种用于计算设备中的任务调度的方法,包括:
接收任务,包括任务性能水平指示;
确定多个任务调度情况,每个任务调度情况表示该任务在多个处理器中的相关联的处理器上执行,同时一个或多个其他任务在多个处理器上执行,每个处理器由多个电压调节器中的一个电压调节器供电;
针对每个任务调度情况,确定多个电压调节器的总调节器输入功率水平;
在多个任务调度情况当中选择任务调度情况中具有最低总调节器输入功率水平的一个任务调度情况;以及
在与任务调度情况中所选择的一个任务调度情况相关联的处理器上执行任务。
2.根据条款1所述的方法,其中针对每个任务调度情况,确定总调节器输入功率水平包括:
针对每个任务调度情况,基于任务性能水平指示、在多个处理器上执行的一个或多个其他任务以及每个电压调节器的效率水平来确定多个电压调节器中的每个电压调节器的调节器输入功率水平;以及
针对每个任务调度情况,通过对多个电压调节器的调节器输入功率水平求和,基于多个任务调度情况来确定总调节器输入功率水平。
3.根据条款2所述的方法,其中确定多个电压调节器中的每个电压调节器的调节器输入功率水平包括,针对电压调节器中的一个电压调节器:
确定电压调节器中的一个电压调节器的调节器输出电流水平;
基于调节器输出电流水平和电压调节器中的一个电压调节器的效率模型来确定电压调节器中的一个电压调节器的效率水平;以及
基于调节器输出电流水平和效率水平来确定调节器输入功率水平。
4.根据条款3所述的方法,其中确定调节器输出电流水平包括:
确定由电压调节器中的一个电压调节器供电的每个处理器的处理器功率水平;
对由电压调节器中的一个电压调节器供电的所有处理器的处理器功率水平求和;以及
将由电压调节器中的一个电压调节器供电的所有处理器的处理器功率水平的总和除以电压调节器中的一个电压调节器的输出电压。
5.根据条款3所述的方法,其中确定调节器输出电流水平还包括:
确定电源平面损耗;以及
在将处理器功率水平的总和除以输出电压之前,通过将电源平面损耗与处理器功率水平的总和相加来调整处理器功率水平的总和。
6.根据条款5所述的方法,其中确定调节器输入功率水平包括将调节器输出功率水平除以效率水平。
7.根据条款1所述的方法,其中多个处理器包括:
第一集群,包括由第一电压调节器供电的多个高性能处理器;以及
第二集群,包括由第二电压调节器供电的多个低性能处理器。
8.根据条款1所述的方法,其中多个处理器中的每个处理器包括由相对应的电压调节器供电的芯粒。
9.一种用于计算设备中的任务调度的系统,包括:
多个处理器;
任务调度程序;以及
多个电压调节器;
其中任务调度器被配置为:
接收任务,任务包括任务性能水平指示;
确定多个任务调度情况,每个任务调度情况表示该任务在多个处理器中的相关联的处理器上执行,同时一个或多个其他任务在多个处理器上执行,每个处理器由多个电压调节器中的一个电压调节器供电;
针对每个任务调度情况,确定多个电压调节器的总调节器输入功率水平;
在多个任务调度情况当中选择所述任务调度情况中的具有最低总调节器输入功率水平的一个任务调度情况;以及
在与所述任务调度情况中所选择的一个任务调度情况相关联的处理器上执行任务。
10.根据条款9所述的系统,其中任务调度器通过被配置为进行以下操作而被配置为针对每个任务调度情况确定总调节器输入功率水平:
针对每个任务调度情况,基于任务性能水平指示、在多个处理器上执行的一个或多个其他任务以及每个电压调节器的效率水平来确定多个电压调节器中的每个电压调节器的调节器输入功率水平;以及
针对每个任务调度情况,通过对多个电压调节器的调节器输入功率水平求和来确定总调节器输入功率水平;
11.根据条款10所述的系统,其中任务调度器通过被配置为针对电压调节器中的一个电压调节器进行以下操作而被配置为确定多个电压调节器中的每个电压调节器的调节器输入功率水平:
确定电压调节器之一的调节器输出电流水平;
基于调节器输出电流水平和电压调节器之一的效率模型来确定电压调节器之一的效率水平;以及
基于调节器输出电流水平和效率水平来确定调节器输入功率水平。
12.根据条款11所述的系统,其中任务调度器通过被配置为进行以下操作而被配置为确定调节器输出电流水平:
确定由电压调节器之一供电的每个处理器的处理器功率水平;
对由电压调节器之一供电的所有处理器的处理器功率水平求和;以及
将由电压调节器之一供电的所有处理器的处理器功率水平的总和除以电压调节器之一的输出电压。
13.根据条款11所述的系统,其中任务调度器通过进一步被配置为进行以下操作而被配置为确定调节器输出电流水平:
确定电源平面损耗;以及
在将处理器功率水平的总和除以输出电压之前,通过将电源平面损耗与处理器功率水平的总和相加来调整处理器功率水平的总和。
14.根据条款13所述的系统,其中任务调度器被配置为通过将调节器输出功率水平除以效率水平来确定调节器输入功率水平。
15.根据条款9所述的系统,其中多个处理器包括:
第一集群,包括至少一个高性能处理器;以及
第二集群,包括至少一个低性能处理器。
16.根据条款15所述的系统,其中:
第一集群的至少一个高性能处理器由第一电压调节器供电;以及
第二集群的至少一个低性能处理器由第二电压调节器供电。
17.根据条款16所述的系统,其中:
第一集群包括多个高性能处理器,每个高性能处理器由第一电压调节器供电;以及
第二集群包括多个低性能处理器,每个低性能处理器由第二电压调节器供电。
18.根据条款9所述的系统,其中多个处理器中的每个处理器包括由相对应的电压调节器供电的芯粒。
19.一种用于计算设备中的任务调度的系统,包括:
用于接收包括任务性能水平指示的任务的部件;
用于确定多个任务调度情况的部件,每个任务调度情况表示该任务在多个处理器的相关处理器上执行,同时一个或多个其他任务在多个处理器上执行,每个处理器由多个电压调节器中的一个电压调节器供电;
用于针对每个任务调度情况确定多个电压调节器的总调节器输入功率水平的部件;
用于在多个任务调度情况中选择任务调度情况中的具有最低总调节器输入功率水平的一个任务调度情况的部件;以及
用于在与任务调度情况中所选择的一个任务调度情况相关联的处理器上执行任务的部件。
20.根据条款19所述的系统,其中用于针对每个任务调度情况确定总调节器输入功率水平的部件包括:
用于针对每个任务调度情况基于任务性能水平指示、在多个处理器上执行的一个或多个其他任务以及每个电压调节器的效率水平来确定多个电压调节器中的每个电压调节器的调节器输入功率水平的部件;以及
用于针对每个任务调度情况通过对多个电压调节器的调节器输入功率水平求和来确定总调节器输入功率水平的部件;
21.根据条款20所述的系统,其中用于确定多个电压调节器中的每个电压调节器的调节器输入功率水平的部件包括,针对电压调节器中的一个电压调节器:
用于确定电压调节器中的一个电压调节器的调节器输出电流水平的部件;
用于基于调节器输出电流水平和电压调节器中的一个电压调节器的效率模型来确定电压调节器中的一个电压调节器的效率水平的部件;以及
用于基于调节器输出电流水平和效率水平来确定调节器输入功率水平的部件。
22.根据条款21所述的系统,其中用于确定调节器输出电流水平的部件包括:
用于确定由电压调节器中的一个电压调节器供电的每个处理器的处理器功率水平的部件;
用于对由电压调节器中的一个电压调节器供电的所有处理器的处理器功率水平求和的部件;以及
用于将由电压调节器中的一个电压调节器供电的所有处理器的处理器功率水平的总和除以电压调节器中的一个电压调节器的输出电压的部件。
23.根据条款21所述的系统,其中用于确定调节器输出电流水平的部件还包括:
用于确定电源平面损耗的部件;以及
用于在将处理器功率水平的总和除以输出电压之前通过将电源平面损耗与处理器功率水平的总和相加来调整处理器功率水平的总和的部件。
24.根据条款23所述的系统,其中用于确定调节器输入功率水平的部件包括用于将调节器输出功率水平除以效率水平的部件。
25.根据条款19所述的系统,其中多个处理器包括:
第一集群,包括至少一个高性能处理器;以及
第二集群,包括至少一个低性能处理器。
26.根据条款25所述的系统,其中:
第一集群的至少一个高性能处理器由第一电压调节器供电;以及
第二集群的至少一个低性能处理器由第二电压调节器供电。
27.根据条款26所述的系统,其中:
第一集群包括多个高性能处理器,每个高性能处理器由第一电压调节器供电;以及
第二集群包括多个低性能处理器,每个低性能处理器由第二电压调节器供电。
28.根据条款19所述的系统,其中多个处理器中的每个处理器包括由相对应的电压调节器供电的芯粒。
29.一种用于计算设备中的任务调度的计算机可读介质,该计算机可读介质包括其上存储有计算机可执行形式的指令的非暂时性计算机可读介质,当由计算设备的处理系统执行时,该指令将处理系统配置为:
接收任务,所述包括任务性能水平指示;
确定多个任务调度情况,每个任务调度情况表示该任务在多个处理器中的相关联的处理器上执行,同时一个或多个其他任务在多个处理器上执行,每个处理器由多个电压调节器中的一个电压调节器供电;
针对每个任务调度情况,确定多个电压调节器的总调节器输入功率水平;
在多个任务调度情况中选择任务调度情况中的具有最低总调节器输入功率水平的一个任务调度情况;以及
在与任务调度情况中所选择的一个任务调度情况相关联的处理器上执行任务。
30.根据条款29所述的计算机可读介质,其中该指令通过将处理系统配置为进行以下操作而将所述处理系统配置为针对每个任务调度情况确定总调节器输入功率水平:
针对每个任务调度情况,基于任务性能水平指示、在多个处理器上执行的一个或多个其他任务以及每个电压调节器的效率水平来确定多个电压调节器中的每个电压调节器的调节器输入功率水平;以及
针对每个任务调度情况,通过对多个电压调节器的调节器输入功率水平求和来确定总调节器输入功率水平;
31.根据条款30所述的计算机可读介质,其中该指令通过将处理系统配置为针对电压调节器中的一个电压调节器进行以下操作而将处理系统配置为确定多个电压调节器中的每个电压调节器的调节器输入功率水平:
确定电压调节器中的一个电压调节器的调节器输出电流水平;
基于调节器输出电流水平和电压调节器中的一个电压调节器的效率模型来确定电压调节器中的一个电压调节器的效率水平;以及
基于调节器输出电流水平和效率水平来确定调节器输入功率水平。
32.根据条款31所述的计算机可读介质,其中该指令将处理系统配置为进行以下操作而将处理系统配置为通过确定调节器输出电流水平:
确定由电压调节器中的一个电压调节器供电的每个处理器的处理器功率水平;
对由电压调节器中的一个电压调节器供电的所有处理器的处理器功率水平求和;以及
将由电压调节器中的一个电压调节器供电的所有处理器的处理器功率水平的总和除以电压调节器中的一个电压调节器的输出电压。
33.根据条款32所述的计算机可读介质,其中该指令通过将处理系统进一步配置为进行以下操作而将处理系统配置为确定调节器输出电流水平:
确定电源平面损耗;以及
在将处理器功率水平的总和除以输出电压之前,通过将电源平面损耗与处理器功率水平的总和相加来调整处理器功率水平的总和。
34.根据条款33所述的计算机可读介质,其中该指令将处理系统配置为通过将调节器输出功率水平除以效率水平来确定调节器输入功率水平。

Claims (34)

1.一种用于计算设备中的任务调度的方法,包括:
接收任务,所述任务包括任务性能水平指示;
确定多个任务调度情况,每个任务调度情况表示一个或多个其他任务在多个处理器上执行的同时所述任务在所述多个处理器中的相关联的处理器上执行,每个处理器由多个电压调节器中的电压调节器供电;
针对每个任务调度情况,确定所述多个电压调节器的总调节器输入功率水平;
在所述多个任务调度情况当中选择所述任务调度情况中的具有最低的总调节器输入功率水平的一个任务调度情况;以及
在与所述任务调度情况中所选择的一个任务调度情况相关联的处理器上执行所述任务。
2.根据权利要求1所述的方法,其中针对每个任务调度情况,确定所述总调节器输入功率水平包括:
针对每个任务调度情况,基于所述任务性能水平指示、在所述多个处理器上执行的所述一个或多个其他任务以及每个电压调节器的效率水平,来确定所述多个电压调节器中的每个电压调节器的调节器输入功率水平;以及
针对每个任务调度情况,通过对所述多个电压调节器的调节器输入功率水平求和,基于所述多个任务调度情况来确定所述总调节器输入功率水平。
3.根据权利要求2所述的方法,其中确定所述多个电压调节器中的每个电压调节器的所述调节器输入功率水平包括,针对所述电压调节器中的一个电压调节器:
确定所述电压调节器中的所述一个电压调节器的调节器输出电流水平;
基于所述调节器输出电流水平和所述电压调节器中的所述一个电压调节器的效率模型来确定所述电压调节器中的所述一个电压调节器的效率水平;以及
基于所述调节器输出电流水平和所述效率水平来确定所述调节器输入功率水平。
4.根据权利要求3所述的方法,其中确定所述调节器输出电流水平包括:
确定由所述电压调节器中的所述一个电压调节器供电的每个处理器的处理器功率水平;
对由所述电压调节器中的所述一个电压调节器供电的所有处理器的处理器功率水平求和;以及
将由所述电压调节器中的所述一个电压调节器供电的所有处理器的处理器功率水平的总和除以所述电压调节器中的所述一个电压调节器的输出电压。
5.根据权利要求3所述的方法,其中确定所述调节器输出电流水平还包括:
确定电源平面损耗;以及
在将所述处理器功率水平的总和除以所述输出电压之前,通过将所述电源平面损耗与所述处理器功率水平的总和相加来调整所述处理器功率水平的总和。
6.根据权利要求5所述的方法,其中确定所述调节器输入功率水平包括将所述调节器输出功率水平除以所述效率水平。
7.根据权利要求1所述的方法,其中所述多个处理器包括:
第一集群,包括由第一电压调节器供电的多个高性能处理器;以及
第二集群,包括由第二电压调节器供电的多个低性能处理器。
8.根据权利要求1所述的方法,其中所述多个处理器中的每个处理器包括由相对应的电压调节器供电的芯粒。
9.一种用于计算设备中的任务调度的系统,包括:
多个处理器;
任务调度器;以及
多个电压调节器;
其中所述任务调度器被配置为:
接收任务,所述任务包括任务性能水平指示;
确定多个任务调度情况,每个任务调度情况表示一个或多个其他任务在所述多个处理器上执行的同时所述任务在多个处理器中的相关联的处理器上执行,每个处理器由多个电压调节器中的电压调节器供电;
针对每个任务调度情况,确定所述多个电压调节器的总调节器输入功率水平;
在所述多个任务调度情况当中选择所述任务调度情况中的具有最低总调节器输入功率水平的一个任务调度情况;以及
在与所述任务调度情况中所选择的一个任务调度情况相关联的处理器上执行所述任务。
10.根据权利要求9所述的系统,其中所述任务调度器通过被配置为进行以下操作而被配置为针对每个任务调度情况确定所述总调节器输入功率水平:
针对每个任务调度情况,基于所述任务性能水平指示、在所述多个处理器上执行的所述一个或多个其他任务以及每个电压调节器的效率水平,来确定所述多个电压调节器中的每个电压调节器的调节器输入功率水平;以及
针对每个任务调度情况,通过对所述多个电压调节器的调节器输入功率水平求和来确定所述总调节器输入功率水平;
11.根据权利要求10所述的系统,其中所述任务调度器通过被配置为针对所述电压调节器中的一个电压调节器进行以下操作而被配置为确定所述多个电压调节器中的每个电压调节器的调节器输入功率水平:
确定所述电压调节器中的所述一个电压调节器的调节器输出电流水平;
基于所述调节器输出电流水平和所述电压调节器中的所述一个电压调节器的效率模型来确定所述电压调节器中的所述一个电压调节器的效率水平;以及
基于所述调节器输出电流水平和所述效率水平来确定所述调节器输入功率水平。
12.根据权利要求11所述的系统,其中所述任务调度器通过被配置为进行以下操作而被配置为确定所述调节器输出电流水平:
确定由所述电压调节器中的所述一个电压调节器供电的每个处理器的处理器功率水平;
对由所述电压调节器中的所述一个电压调节器供电的所有处理器的处理器功率水平求和;以及
将由所述电压调节器中的所述一个电压调节器供电的所有处理器的处理器功率水平的总和除以所述电压调节器中的所述一个电压调节器的输出电压。
13.根据权利要求11所述的系统,其中所述任务调度器通过进一步被配置为进行以下操作而被配置为确定所述调节器输出电流水平:
确定电源平面损耗;以及
在将所述处理器功率水平的总和除以所述输出电压之前,通过将所述电源平面损耗与所述处理器功率水平的总和相加来调整所述处理器功率水平的总和。
14.根据权利要求13所述的系统,其中所述任务调度器被配置为通过将所述调节器输出功率水平除以所述效率水平来确定所述调节器输入功率水平。
15.根据权利要求9所述的系统,其中所述多个处理器包括:
第一集群,包括至少一个高性能处理器;以及
第二集群,包括至少一个低性能处理器。
16.根据权利要求15所述的系统,其中:
所述第一集群的所述至少一个高性能处理器由第一电压调节器供电;以及
所述第二集群的所述至少一个低性能处理器由第二电压调节器供电。
17.根据权利要求16所述的系统,其中:
所述第一集群包括多个高性能处理器,每个高性能处理器由所述第一电压调节器供电;以及
所述第二集群包括多个低性能处理器,每个低性能处理器由所述第二电压调节器供电。
18.根据权利要求9所述的系统,其中所述多个处理器中的每个处理器包括由相对应的电压调节器供电的芯粒。
19.一种用于计算设备中的任务调度的系统,包括:
用于接收包括任务性能水平指示的任务的部件;
用于确定多个任务调度情况的部件,每个任务调度情况表示一个或多个其他任务在多个处理器上执行的同时所述任务在所述多个处理器中的相关联的处理器上执行,每个处理器由多个电压调节器中的电压调节器供电;
用于针对每个任务调度情况确定所述多个电压调节器的总调节器输入功率水平的部件;
用于在所述多个任务调度情况当中选择所述任务调度情况中的具有最低总调节器输入功率水平的一个任务调度情况的部件;以及
用于在与所述任务调度情况中所选择的一个任务调度情况相关联的处理器上执行所述任务的部件。
20.根据权利要求19所述的系统,其中用于针对每个任务调度情况确定所述总调节器输入功率水平的部件包括:
用于针对每个任务调度情况基于所述任务性能水平指示、在所述多个处理器上执行的所述一个或多个其他任务以及每个电压调节器的效率水平来确定所述多个电压调节器中的每个电压调节器的调节器输入功率水平的部件;以及
用于针对每个任务调度情况通过对所述多个电压调节器的调节器输入功率水平求和来确定所述总调节器输入功率水平的部件;
21.根据权利要求20所述的系统,其中用于确定所述多个电压调节器中的每个电压调节器的调节器输入功率水平的部件包括,针对所述电压调节器中的一个电压调节器:
用于确定所述电压调节器中的所述一个电压调节器的调节器输出电流水平的部件;
用于基于所述调节器输出电流水平和所述电压调节器中的所述一个电压调节器的效率模型来确定所述电压调节器中的所述一个电压调节器的效率水平的部件;以及
用于基于所述调节器输出电流水平和所述效率水平来确定所述调节器输入功率水平的部件。
22.根据权利要求21所述的系统,其中用于确定所述调节器输出电流水平的部件包括:
用于确定由所述电压调节器中的所述一个电压调节器供电的每个处理器的处理器功率水平的部件;
用于对由所述电压调节器中的所述一个电压调节器供电的所有处理器的处理器功率水平求和的部件;以及
用于将由所述电压调节器中的所述一个电压调节器供电的所有处理器的处理器功率水平的总和除以所述电压调节器中的所述一个电压调节器的输出电压的部件。
23.根据权利要求21所述的系统,其中用于确定所述调节器输出电流水平的部件还包括:
用于确定电源平面损耗的部件;以及
用于在将所述处理器功率水平的总和除以所述输出电压之前通过将所述电源平面损耗与所述处理器功率水平的总和相加来调整所述处理器功率水平的总和的部件。
24.根据权利要求23所述的系统,其中用于确定所述调节器输入功率水平的部件包括用于将所述调节器输出功率水平除以所述效率水平的部件。
25.根据权利要求19所述的系统,其中所述多个处理器包括:
第一集群,包括至少一个高性能处理器;以及
第二集群,包括至少一个低性能处理器。
26.根据权利要求25所述的系统,其中:
所述第一集群的所述至少一个高性能处理器由第一电压调节器供电;以及
所述第二集群的所述至少一个低性能处理器由第二电压调节器供电。
27.根据权利要求26所述的系统,其中:
所述第一集群包括多个高性能处理器,每个高性能处理器由所述第一电压调节器供电;以及
所述第二集群包括多个低性能处理器,每个低性能处理器由所述第二电压调节器供电。
28.根据权利要求19所述的系统,其中所述多个处理器中的每个处理器包括由相对应的电压调节器供电的芯粒。
29.一种用于计算设备中的任务调度的计算机可读介质,所述计算机可读介质包括其上存储有计算机可执行形式的指令的非暂时性计算机可读介质,当由所述计算设备的处理系统执行时,所述指令将所述处理系统配置为:
接收任务,所述任务包括任务性能水平指示;
确定多个任务调度情况,每个任务调度情况表示在多个处理器中的相关联的处理器上执行所述任务的同时在所述多个处理器上执行一个或多个其他任务,每个处理器由多个电压调节器中的电压调节器供电;
针对每个任务调度情况,确定所述多个电压调节器的总调节器输入功率水平;
在所述多个任务调度情况当中选择所述任务调度情况中的具有最低总调节器输入功率水平的一个任务调度情况;以及
在与所述任务调度情况中所选择的一个任务调度情况相关联的处理器上执行所述任务。
30.根据权利要求29所述的计算机可读介质,其中所述指令通过将所述处理系统配置为进行以下操作而将所述处理系统配置为针对每个任务调度情况确定所述总调节器输入功率水平:
针对每个任务调度情况,基于所述任务性能水平指示、在所述多个处理器上执行的所述一个或多个其他任务以及每个电压调节器的效率水平,来确定所述多个电压调节器中的每个电压调节器的调节器输入功率水平;以及
针对每个任务调度情况,通过对所述多个电压调节器的调节器输入功率水平求和来确定所述总调节器输入功率水平;
31.根据权利要求30所述的计算机可读介质,其中所述指令通过将所述处理系统配置为针对所述电压调节器中的一个电压调节器进行以下操作而将所述处理系统配置为确定所述多个电压调节器中的每个电压调节器的调节器输入功率水平:
确定所述电压调节器中的所述一个电压调节器的调节器输出电流水平;
基于所述调节器输出电流水平和所述电压调节器中的所述一个电压调节器的效率模型来确定所述电压调节器中的所述一个电压调节器的效率水平;以及
基于所述调节器输出电流水平和所述效率水平来确定所述调节器输入功率水平。
32.根据权利要求31所述的计算机可读介质,其中所述指令通过将所述处理系统配置为进行以下操作而将所述处理系统配置为确定所述调节器输出电流水平:
确定由所述电压调节器中的所述一个电压调节器供电的每个处理器的处理器功率水平;
对由所述电压调节器中的所述一个电压调节器供电的所有处理器的处理器功率水平求和;以及
将由所述电压调节器中的所述一个电压调节器供电的所有处理器的处理器功率水平的总和除以所述电压调节器中的所述一个电压调节器的输出电压。
33.根据权利要求32所述的计算机可读介质,其中所述指令通过将所述处理系统进一步配置为进行以下操作而将所述处理系统配置为确定所述调节器输出电流水平:
确定电源平面损耗;以及
在将所述处理器功率水平的总和除以所述输出电压之前,通过将所述电源平面损耗与所述处理器功率水平的总和相加来调整所述处理器功率水平的总和。
34.根据权利要求33所述的计算机可读介质,其中所述指令将所述处理系统配置为通过将所述调节器输出功率水平除以所述效率水平来确定所述调节器输入功率水平。
CN202180089295.2A 2021-01-13 2021-12-02 核电压调节器能量感知任务调度 Pending CN116745732A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/148,314 US11630694B2 (en) 2021-01-13 2021-01-13 Core voltage regulator energy-aware task scheduling
US17/148,314 2021-01-13
PCT/US2021/061640 WO2022154895A1 (en) 2021-01-13 2021-12-02 Core voltage regulator energy-aware task scheduling

Publications (1)

Publication Number Publication Date
CN116745732A true CN116745732A (zh) 2023-09-12

Family

ID=79425459

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180089295.2A Pending CN116745732A (zh) 2021-01-13 2021-12-02 核电压调节器能量感知任务调度

Country Status (8)

Country Link
US (1) US11630694B2 (zh)
EP (1) EP4278261A1 (zh)
JP (1) JP2023552916A (zh)
KR (1) KR20230106738A (zh)
CN (1) CN116745732A (zh)
BR (1) BR112023013431A2 (zh)
TW (1) TW202248852A (zh)
WO (1) WO2022154895A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115113675B (zh) * 2022-08-25 2022-11-18 深圳比特微电子科技有限公司 一种电源电压控制方法、装置、区块链服务器和存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140298094A1 (en) * 2013-03-26 2014-10-02 Texas Instruments Incorporated Processor power measurement
US20150178138A1 (en) * 2013-12-20 2015-06-25 Qualcomm Incorporated Multi-core dynamic workload management
CN105492993A (zh) * 2013-08-08 2016-04-13 高通股份有限公司 用于每瓦特最优性能的智能多核控制
US20160139655A1 (en) * 2014-11-17 2016-05-19 Mediatek Inc. Energy Efficiency Strategy for Interrupt Handling in a Multi-Cluster System
US20180314308A1 (en) * 2017-05-01 2018-11-01 Drexel University Work Load Scheduling For Multi Core Systems With Under-Provisioned Power Delivery
CN111090505A (zh) * 2017-11-02 2020-05-01 联发科技股份有限公司 多处理器系统中任务调度的切换策略
US20200168255A1 (en) * 2018-11-28 2020-05-28 International Business Machines Corporation Memory subsystem power management

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8984313B2 (en) 2012-08-31 2015-03-17 Intel Corporation Configuring power management functionality in a processor including a plurality of cores by utilizing a register to store a power domain indicator
US9915989B2 (en) 2016-03-01 2018-03-13 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Energy efficient workload placement management using predetermined server efficiency data

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140298094A1 (en) * 2013-03-26 2014-10-02 Texas Instruments Incorporated Processor power measurement
CN105492993A (zh) * 2013-08-08 2016-04-13 高通股份有限公司 用于每瓦特最优性能的智能多核控制
US20150178138A1 (en) * 2013-12-20 2015-06-25 Qualcomm Incorporated Multi-core dynamic workload management
US20160139655A1 (en) * 2014-11-17 2016-05-19 Mediatek Inc. Energy Efficiency Strategy for Interrupt Handling in a Multi-Cluster System
US20180314308A1 (en) * 2017-05-01 2018-11-01 Drexel University Work Load Scheduling For Multi Core Systems With Under-Provisioned Power Delivery
CN111090505A (zh) * 2017-11-02 2020-05-01 联发科技股份有限公司 多处理器系统中任务调度的切换策略
US20200168255A1 (en) * 2018-11-28 2020-05-28 International Business Machines Corporation Memory subsystem power management

Also Published As

Publication number Publication date
US20220222112A1 (en) 2022-07-14
EP4278261A1 (en) 2023-11-22
JP2023552916A (ja) 2023-12-19
BR112023013431A2 (pt) 2024-01-23
KR20230106738A (ko) 2023-07-13
WO2022154895A1 (en) 2022-07-21
TW202248852A (zh) 2022-12-16
US11630694B2 (en) 2023-04-18

Similar Documents

Publication Publication Date Title
CN101622588B (zh) 动态功耗降低
US11687135B2 (en) Controlling power delivery to a processor via a bypass
US10642329B2 (en) Peak current support for a power rail system via a shared secondary power supply
EP3084607B1 (en) Multi-core dynamic workload management
US20170085084A1 (en) Accessory-Based Power Distribution
JP6224865B2 (ja) Pcd内の電力消費を低減するためにコア電圧レベルを最適化するとともに個々のサブコンポーネントの周波数性能を向上させるための方法およびシステム
TW200304592A (en) Method and apparatus for providing multiple supply voltages for a processor
US20140089690A1 (en) Controlling power supply in arithmetic processing circuit
CN116745732A (zh) 核电压调节器能量感知任务调度
US20170139469A1 (en) Power-minimizing voltage rail selection in a portable computing device
US11121564B2 (en) Power supply device having hierarchical structure
JP6812399B2 (ja) 電子機器、制御方法、及びプログラム
CN116547633A (zh) 利用多个电池的峰值功率削减及用于混合能量源的控制机制
CN116547635A (zh) 触觉呈现面板、触觉呈现触摸面板以及触觉呈现触摸显示器
EP3172637B1 (en) Method and system for optimizing power usage by individual subsystems of a portable computing device
US11644853B2 (en) Power delivery system having low- and high-power power supplies
US10153639B2 (en) Power-domain current balance
US20220197358A1 (en) System and methods for providing power to a data center
CN116317057B (zh) 控制方法及电子设备
CN108879844B (zh) 一种供电装置、供电方法及电子设备
CN115079809A (zh) 降低待机功率的装置和方法
CN115514036A (zh) 自适应突发功率和快速电池充电装置和方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination