CN102239473A - 用于并行计算系统的基于能量的时间调度器 - Google Patents
用于并行计算系统的基于能量的时间调度器 Download PDFInfo
- Publication number
- CN102239473A CN102239473A CN2009801489845A CN200980148984A CN102239473A CN 102239473 A CN102239473 A CN 102239473A CN 2009801489845 A CN2009801489845 A CN 2009801489845A CN 200980148984 A CN200980148984 A CN 200980148984A CN 102239473 A CN102239473 A CN 102239473A
- Authority
- CN
- China
- Prior art keywords
- resource
- evaluation work
- default table
- concurrent computational
- computational system
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5094—Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
-
- 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)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Sources (AREA)
Abstract
用于降低包括多个资源的并行计算系统中的能量消耗的系统、计算机可读媒体和方法。该方法包括:接收要由并行计算系统所执行的计算工作;通过搜索并行计算系统中存储的预设表来确定要用于执行该计算工作的所述多个资源的资源的数量,其中预设表在确定资源的数量之前被填充;以及将该计算工作分发到所确定数量的资源。
Description
技术领域
本发明一般涉及系统、软件和方法,更具体来说,涉及用于降低并行计算系统中的能量消耗的机制和技术。
背景技术
在以往许多年,用于诸如计算机、移动电话、游戏控制台、个人数字助理之类的计算装置的处理器的演进受到增加时钟频率和芯片复杂度的概念推动,然后导致提高的性能,即,更快地以及在一些情况下更有效地解决计算工作。
最近,用于实现处理器的速度和效率的提高的另一个概念正在出现。这种新概念依靠在无需增加时钟频率的情况下使用并行计算来提高系统吞吐量的思路。并行计算的思路是在可能的情况下将必须解决的问题分为若干较小的单独问题。将较大问题这样分为较小问题允许系统使用多于一个的处理器,并且在多个处理器上同时地并行计算较小问题。按照这种方式,有可能更快地解决大问题。使用多核架构的可能优点是灵活性和可伸缩性。
但是,在单个装置中使用多个处理器可要求更高的能量消耗,因为N个处理器可能使用比单个处理器更大的能量。因此,必须考虑多个处理器的功率消耗管理。功率消耗管理还需要解决其中在其余处理器处于空闲的同时使用处理器中的一部分的情况。这个问题对于具有电池作为仅有的能源、即具有有限能量供应的移动装置变得更为关键。
一种考虑功率消耗管理的方式是降低或者暂时关闭对空闲处理器的电压供应。但是,降低整个芯片的电压供应因性能约束(唤醒时间等)而也许是不可能的。另外,这种技术必须考虑哪些以及多少处理器要关闭多长时间,这不是显而易见的任务,因为需要执行特定任务的处理器的数量取决于该特定任务。例如,专用集成电路(ASIC)或微处理器的组件因不同关键路径而对电压供应具有不同要求。关键路径可以是两个寄存器之间的逻辑深度的最大量,其中逻辑深度可转化为取决于供应电压的延迟。因此,以较低电压来运行一些组件能够节省能量。
此外,在同步设计中使用多个时钟频率能够引起多电压供应环境中的双重能量节省,因为降低互补金属氧化物半导体(CMOS)电路中的时钟频率使得有可能降低其供应电压。因此,用于降低计算系统中的能量消耗的一种可能性是提供将计算工作分布于处理器核的整个集合的调度技术。
但是,在多个并行计算单元之间划分计算工作时,不是以较高时钟频率使用单个计算单元,而是可在降低时钟频率使用N个并行单元。假定使用N个并行单元实现因子N的时钟频率降低。实际上,由于开销,发现实际时钟频率降低小于N。
通过仅考虑动态功率消耗与时钟频率之间的线性关系并且还考虑并行计算单元消耗更大芯片面积,断定并行实现不如单个计算单元那么能量有效。但是,要确定对于并行计算是否存在能量益处,应当评估由于较低时钟频率而使用更少流水线寄存器和/或低泄漏晶体管和/或更低供应电压时由并行计算单元所消耗的功率。考虑这些因素,可以表明,与单个处理器相比,并行处理器实现能够节省能量。
但是,由于多个现有资源、各计算工作的不同需要等等,调度并行计算环境中的处理器资源是复杂的。换言之,由于存在待使用资源数量和待执行计算工作数量的大量可能组合,查找资源的适当调度不是尝试降低数量的可能性的简单事项。查找要用于特定计算工作的正确数量的资源的这个难题对于现有系统是成问题的,这还使功率消耗降低很困难。
相应地,将希望提供避免上述问题和缺点的装置、系统和方法。
发明内容
按照一个示范实施例,存在一种用于降低包括多个资源的并行计算系统中的能量消耗的方法。该方法包括:接收要由并行计算系统所执行的计算工作;通过搜索并行计算系统中存储的预设表来确定要用于执行该计算工作的所述多个资源的资源的数量,其中预设表在确定资源的数量之前被填充;以及将该计算工作分发到所确定数量的资源。
按照另一个示范实施例,存在一种用于在运行计算工作时降低能量消耗的并行计算系统。该并行计算系统包括:输入,配置成接收要由并行计算系统所执行的计算工作;调度器,连接到输入,并且配置成通过搜索预设表来确定要用于执行该计算工作的多个资源的资源的数量,其中预设表在确定资源数量之前被填充;以及多个资源,连接到调度器,并且配置成运行所确定的计算工作。
按照又一个示范实施例,存在一种用于存储计算机可执行指令的计算机可读媒体,其中指令在由并行计算系统运行时使该系统降低包括多个资源的所述并行计算系统中的能量消耗。所述指令包括:接收要由并行计算系统所执行的计算工作;通过搜索并行计算系统中存储的预设表来确定要用于执行该计算工作的所述多个资源的资源的数量,其中预设表在确定资源数量之前被填充;以及将该计算工作分发到所确定数量的资源。
按照另一个示范实施例,存在一种用于在运行计算工作时降低能量消耗的并行计算系统。该并行计算系统包括:用于接收要由并行计算系统所执行的计算工作的部件;调度部件,用于通过搜索预设表来确定要用于执行该计算工作的多个资源的资源的数量,其中预设表在确定资源数量之前被填充;以及所述多个资源,配置成运行所确定的计算工作。
附图说明
结合在本说明书中并且构成其一部分的附图示出一个或多个实施例,并且连同描述一起来解释这些实施例。附图包括:
图1是并行计算系统的示意图;
图2示出显示并行计算系统相对按照一示范实施例所使用的资源的数量的能量消耗的图;
图3示出按照一示范实施例的第一预设表,其指示要用于给定计算工作以实现低能量消耗的资源的适当数量;
图4示出按照一示范实施例的第二预设表,其对资源的各数量指示实现低能量消耗的适当电压和频率;
图5是示出按照一示范实施例、用于选择资源数量以及对应频率和电压的步骤的流程图;
图6是示出按照一示范实施例、用于选择资源数量的步骤的流程图;以及
图7是按照一示范实施例的并行计算系统的示意图。
具体实施方式
示范实施例的以下描述参照附图。不同附图中的相同引用数字标识相同或相似的要素。以下详细描述并不是限制本发明。本发明的范围而是由所附权利要求来定义。为了简洁起见,针对并行计算系统的术语和结构来讨论以下实施例。但是,接下来要讨论的实施例并不局限于这些系统,而是可应用于其它现有系统。
贯穿本说明书对“一个实施例”或“一实施例”的引用表示结合一实施例所述的具体特征、结构或特性包含在本发明的至少一个实施例中。因此,短语“在一个实施例中”或“在一实施例中”在本说明书的各个位置中的出现不一定都表示相同实施例。此外,具体特征、结构或特性可按照任何适当方式结合在一个或多个实施例中。
按照图1所示的一示范实施例,存在一种并行计算系统10,它包括经由总线14连接到调度器16的多个资源R1至R4 12。调度器16可以是专用电路,或者可在资源12的一个或多个中实现。资源12可以是处理器、核、线程、运行于一个或多个处理器上的应用、数字信号处理器(DSP)或者专用指令集处理器(ASIP)。存储器M18可经由总线14链接到资源12和/或调度器16,或者可以是调度器16和/或资源12的全部或之一的部分。
按照一示范实施例,存在一种用于多核硬件架构10的资源上的计算工作的实时调度的功率管理方法。该方法可对各进程或计算工作查找使系统10的总能量消耗为最小的最佳硬件调度。该方法可以能够确定将要用于各计算工作的资源或核的数量,并且还设置核的如时钟频率和/或电压供应的性质以使能量消耗为最小。
按照一示范实施例,可对各资源单独控制多资源架构的时钟频率和/或供应电压。用于对处理器设置供应电压和频率的具体方法是本领域的技术人员已知的,例如参见Saeed的美国专利No.6711447和Rusu等人的美国专利No.7111178。
为了更好地理解示范实施例,图2示出在包括16个资源的并行计算系统上执行的特定计算工作。该计算工作完全仅在一资源上执行,然后完全仅在两个资源上执行,然后完全仅在三个资源上执行等等,直到完全在全部16个资源上执行计算工作。图2示出用于计算工作的能量与所使用的资源数量的曲线图。对于这个特定计算工作,最低能量消耗出现在使用五个资源时。但是,对于其它计算工作,使能量消耗为最小的资源的适当数量可以是不同的。
因此,按照一示范实施例,图1所示的并行计算系统10的调度器16可预先编程为将计算工作分布于实现降低(例如最小)的能量消耗的数量的资源。另外,调度器还可编程为设置各资源的时钟频率和/或电压供应,以便实现降低的能量消耗。要实现这些优点,可在判定应当使用多少资源之前定义如图3所示的预设表28。
为了更好地理解,使用以下示例。但是要注意,该方法可应用于其它情况,而不是要局限于这个示例。考虑并行计算系统在移动电话中实现。假定移动电话仅执行三个计算工作,即,支持通信、记录文件和运行游戏。对于三个计算工作的每一个,能量计算用于确定将使能量消耗为最小的资源的最小数量。因此,基于这些实验运行,填充图3的表28,使得对于各计算工作CJ,确定使能量消耗为最小的资源数量。存在现实装置中待计算的计算工作不符合某个预设表时的情况。在那种情况下,应当确定用于处理这种情况的策略,并且两种可能策略是,该方法或者选择预定小数量的资源、或者使用所有资源来执行计算工作。按照一示范实施例,计算工作由并行计算系统基于例如计算快速傅立叶变换或者对数据帧进行解码来识别。
预设表28可被生成并且例如存储在存储器18中,使得调度器16能够易于取适当的调度。在这方面,对于各计算工作,从能量消耗的角度来看,存在各计算工作应当分布于其上的资源的最佳数量。资源的最小数量可基于与图2所示图相似的图对各特定计算工作来确定。换言之,可对图3的表28中所列的各计算工作来确定与图2所示图相似的图。按照一示范实施例,不必确定图2所示的图,而仅确定正在产生该图的数据,因为存在用于确定数据集的最小值而无需绘制数据集的计算方法。
一旦确定将要用于特定计算工作的资源数量,则可确定将要应用于各资源的电压和/或频率。如上所述,当资源数量为已知时,用于确定多个资源的各资源的频率和/或电压的技术是可用的。存储待使用资源的各集合的频率和电压的示范表30例如在图4中示出。这个表30也可以是预设的并且存储在存储器18或调度器16中。
因此,按照一示范实施例,当移动电话采用并行计算系统来实现时,每当必须执行特定工作时,调度器可基于所存储的表28来识别待使用资源的数量。然后,基于待使用资源的所确定数量,可基于表30来确定将要应用于各资源的频率和/或电压。因此,这个操作比较快(因为它涉及搜索一个或两个表而没有广泛计算),并且不要求进一步的计算能力。
本领域的技术人员将理解,有关移动电话的以上讨论是示范的,并且相同方法可应用于可运行于任何并行计算装置上的任何计算工作。
仍然针对图2,在将资源(这个示例中是DSP)的数量增加到5以上时存在能量消耗的增加的原因是双重的。第一原因在于,各DSP因泄漏而具有静态功率消耗。对于较大数量的DSP,泄漏功率成为主导,如图2所示的曲线的右侧部分所示。第二原因在于,各工作具有并行计算的有限可能性。这意味着,超过一定数量的DSP,计算时间在分配又一些DSP时没有减小。有关计算时间,与最小化能量消耗竞争的因素是用于执行计算工作的所要求的最小时间。例如,并行计算系统可能需要在某个时间量中运行计算工作,如其它考虑因素所规定的。如果基于实现低能量消耗所确定的资源数量要求较大时间量来执行该计算工作,则系统可忽略实现低能量消耗以用于实现时间目标,即,使用比对应于低能量消耗的那个数量更多的资源。
对于图2所示的示例,资源的最佳数量是5,并且至少从能量角度来看,没有理由将计算工作部署于5个以上DSP。但是,由于其它同时的计算工作,可能存在系统中可用的更少资源。因此,可能必需还定义用于那些情况的设定。因此,对于图2所示的示例,可能必需定义用于1、2、3、4或5个可用DSP的情况的设定。某个例外针对其中计算工作使用少于某个数量的DSP无法满足其最后期限的情况。这种情况使得定义少于满足最后期限所要求的DSP数量的设定是不必要的。
按照一示范实施例,可对于下列情况来计算包括多个资源的时钟频率和/或电压供应设定的调度表30:(i)所有资源具有相等性质的情况;以及(ii)资源具有不同性质的情况。但是,后一种情况比前一种情况更为复杂,并且这后一种情况可包括更大数量的可能选择。
示出图2所示的特定计算工作所必需的频率和电压调度的集合的表30的示例在图4中示出。当部署越多资源时,电压供应和时钟频率可以越低。因此,表30的最后一行中所示的电压和频率一般低于上面任一行所示的电压和频率,因为表30的最后一行示出使用全部5个资源的情况。表30的所有其它行示出至少一个资源未使用时的情况。即使所有资源具有相等性质,表30的各行上的所有频率和电压也不一定彼此相等。在一个示范实施例中,对于相同资源,使用不同电压和频率。
按照一示范实施例,也许有可能通过实时计算来判定资源的数量及其电压供应和频率选择。但是,这种方式可引起延迟以及资源的不必要使用。因此,将各种情况存储在存储器中的上述方法可以更快。
按照另一个示范实施例,由于所必需的电压供应等级随进程变化和操作条件而有所不同,所以进一步的功率优化通过经由芯片上测试来校准预先计算的电压等级是可能的。按照另一个示范实施例,当计算工作需要某个数量的资源来及时完成该工作时,调度器将选择表30中利用那个数量的资源的行。
接下来,讨论一种用于对给定并行计算系统从表28和30来确定和选择适当值的方法。假定给定系统具有可用的N个资源。在将表28和30实现到这个装置中之前,在图5的步骤400中,各种计算工作可运行于第一资源、前两个资源、……、全部N个资源。在一示范实施例中,运行计算工作,直到确定使用最小能量的资源的数量。例如,参照图2,使用最小能量的资源的数量是5,并且运行计算工作一直到5或6个资源,此后停止该过程。图2中,计算工作已经被运行一直到16个资源以生成该图,但是如上所述,那不是必要的。第一表28对于各计算工作指示要用于实现低能量消耗的资源数量。实现最小能量消耗的资源的数量M(基于与图2所示图相似的图)在步骤402中基于第一表28来选择。因此,这个步骤的推论是不定义相比最小能量消耗所指示的使用更多资源的设定。这确信不存在通过只是因为这些资源是可用的而选择较大数量的资源所引起的资源或能量的浪费。
在步骤404中,从能量角度来计算包含满足时序要求的可用资源的全部集合的参数值的表。这个步骤的结果由图4的表来示出。有可能的是,执行计算步骤404,使得仅计算从资源的最小数量直到最佳数量的可用资源的集合。
可选步骤406检验对系统所施加的时间约束,即,如果10个资源是在要求的时间量中完成计算工作所必需的,并且步骤402从能量观点指示待使用资源的最佳数量是6,则前进到步骤410,并且选择10个资源来计算该计算工作。上述步骤400、402、404和406可在接收并行计算系统中的实际计算工作之前执行。这在图5中示为区域A。图5的区域B包括运行时间中执行的步骤408、410和412。
在步骤408中,系统可检验可用资源的数量。虽然系统具有N个资源,但在系统必须执行计算工作的给定时间,并非全部N个资源可以是可用的。然后,在步骤410中,要用于计算工作的资源数量可选择成:(i)与最小能量消耗的资源数量相同(如果这个数量小于或等于可用资源的数量);或者(ii)是可用资源的数量(如果最小能量消耗的资源数量高于可用资源的数量)。一旦在步骤410中已经选择资源数量,则该方法前进到步骤412,其中频率和/或电压基于第二表30来确定,其在图4中示出。如以上参照步骤406所讨论的,步骤410还可包括为了及时计算该计算工作而中止能量消耗降低时的情况。
可结合在将计算工作映射到资源中并且可能推翻表28和30中定义的设定的其它因素是温度考虑因素、当前设定、等待处理的计算工作的数量等等。可考虑温度以便努力避免使相同资源过热,即,当其它资源可用时,相同资源不应当由大量计算连续使用。各资源的电压供应和/或时钟频率的当前设定对调谐时间具有影响,并且因此可考虑这些设定以减小这个调谐时间。必须考虑在队列中等待的计算工作的数量。因此,为了使这些计算工作的处理时间为最小,可使用预定义的工作数量阈值,在超过该阈值时,系统配置成忽略能量消耗特征,并且使用最多数量的资源。另一个考虑因素是计算工作是否太小以至于因时钟频率或供应电压的调谐时间无法有效地受到功率控制。然后,可能必需将小工作合并成较大工作。关于需要单独进行的小工作的适当大小的判定是系统相关的。
按照另一个实施例,表30还可包含预先计算的归一化能量系数(energy figure)。通过了解对于各调度情况的归一化能量,对于各工作,有可能在工作正在资源上竞争的情况下进行判定。用于计算工作的资源分配的组合则选择成使能量系数之和为最小。例如,考虑两个不同工作正在竞争资源,归一化能量可用于判定对各工作分配多少资源。在这方面,假定表28返回用于第一工作的N个资源和用于第二工作的M个资源,并且M+N大于可用资源的数量。然后,归一化能量可用于缩小N和/或M个资源,使得新的N和M之和不大于可用资源的数量。
按照一示范实施例,并行计算装置可配置成实现低能量消息,而不必要实现最小能量消耗。在例如因时间约束而不可能实现最小能量消耗的情况下,系统可配置成选择满足时间约束但同时更接近用于实现最小能量消耗之资源数量的资源数量。
按照一示范实施例,存在一种用于降低包括多个资源的并行计算系统中的能量消耗的方法,如图6中所示。该方法包括:步骤600,接收要由并行计算系统所执行的计算工作;步骤602,通过搜索并行计算系统中存储的预设表来确定要用于执行该计算工作的多个资源的资源数量,其中预设表在确定资源数量之前被填充;以及步骤604,将该计算工作分发到所确定数量的资源。
图5和图6指示并行计算系统从使用第一数量资源用于第一计算工作的系统变换成使用第二数量的资源用于第二计算工作的系统。换言之,图6所示步骤具有通过添加或去除用于执行计算工作的物理资源来物理变换并行计算系统的效果。类似地,稍后进行讨论,例如存储在计算机可读媒体中的计算机可执行指令在这些指令由系统运行时如上所述变换并行计算系统。
当上述示范实施例在现实的并行计算装置中实现时,能量节省会是巨大的。在图2所示的示例中,与只有一个资源相比,有可能通过选择最佳数量的资源使能量消耗降低70%以上。示范实施例允许进行这种选择,而无需计算密集的能量计算。一个或多个示范实施例的一种有益效果在于,它们提供多资源架构中无需执行广泛计算而快速选择资源数量以及各资源的适当设定的简单快速方法。
为了说明而不是限制的目的,能够执行按照示范实施例的操作的典型并行计算系统的一示例在图7中示出。但是应当认识到,提出的示范实施例的原理同样可适用于标准计算系统。
示范并行计算系统700可包括处理/控制单元702,例如微处理器、精简指令集计算机(RISC)或者其它中央处理模块。处理单元702无需是单个装置,而是可包括一个或多个处理器。例如,处理单元702可包括主处理器以及经过耦合以便与主处理器进行通信的关联从处理器。备选的是,处理单元702可具有如图1所示的结构。
处理单元702可控制如存储装置/存储器704中可用的程序所规定的系统的基本功能。因此,处理单元702可运行图5和图6中所述的功能。更具体来说,存储装置/存储器704可包括操作系统以及用于执行并行计算系统上的功能和应用的程序模块。例如,程序存储装置可包括只读存储器(ROM)、闪速ROM、可编程和/或可擦除ROM、随机存储存储器(RAM)、订户接口模块(SIM)、无线接口模块(WIM)、智能卡或者其它可移动存储器装置等的一个或多个。程序模块和关联特征还可经由数据信号传递给并行计算系统700,例如经由例如因特网的网络来电子下载。
可存储在存储装置/存储器704中的程序之一是特定程序706。如前面所述,特定程序706可与存储器中存储的表28和30进行交互,以便确定资源的适当数量和/或各资源的频率和电压。程序706及关联特征可通过经由处理器702可操作的软件和/或固件来实现。程序存储装置/存储器704还可用于存储例如表28和30的数据708或者与提出的示范实施例关联的其它数据。在一个示范实施例中,程序706和数据708存储在非易失性电可擦可编程ROM(EEPROM)、闪速ROM等等中,使得信息在并行计算系统700断电时不会丢失。
处理器702还可耦合到与移动终端关联的用户接口710元件。移动终端的用户接口710可包括例如显示器712(例如液晶显示器)、小键盘714、扬声器716和扩音器718。这些和其它用户接口组件耦合到处理器702,这是本领域已知的。小键盘714可包括用于执行各种功能的字母数字键,包括拨号以及运行指派给一个或多个键的操作。备选的是,可采用其它用户接口机制,例如语音命令、开关、触摸垫/屏、使用指点装置的图形用户界面、轨迹球、操纵杆或者任何其它用户接口机制。
并行计算系统700还可包括数字信号处理器(DSP)720。DSP 720可执行各种功能,包括模数(A/D)转换、数模(D/A)转换、语音编码/解码、加密/解密、检错和纠错、比特流转换、滤波等等。一般耦合到天线724的收发器722可传送和接收与无线装置关联的无线电信号。
提供图7的并行计算系统700作为其中可应用提出的示范实施例的原理的计算环境的典型示例。从本文所提供的描述,本领域的技术人员将理解,本发明同样可适用于各种其它当前已知和将来的移动和固定计算环境。例如,特定应用706及关联特征和数据708可按照各种方式来存储,可在各种处理装置上是可操作的,并且可在具有附加、更少或不同支持电路和用户接口机制的移动装置中是可操作的。要注意,提出的示范实施例的原理同样可适用于非移动终端、即陆地线路计算系统。
所公开的示范实施例提供用于确定要用于计算工作以使能量消耗为最小的资源数量的并行计算系统、方法和计算机程序产品。应当理解,本描述并不是旨在限制本发明。相反,示范实施例旨在涵盖包含在所附权利要求所定义的本发明的精神和范围之内的备选、修改和等同。此外,在示范实施例的详细描述中,提出大量具体细节,以便提供对要求保护的本发明的综合理解。但是,本领域的技术人员将理解,即使没有这类具体细节也可实践各个实施例。
本领域的技术人员将理解,示范实施例可在无线通信装置、电信网络中实施,或者实施为计算机程序产品中的方法。相应地,示范实施例可采取完全硬件实施例或者组合硬件和软件方面的实施例的形式。此外,示范实施例可采取计算机可读存储媒体上存储的计算机程序产品的形式,所述媒体中包含有计算机可读指令。可利用任何适当的计算机可读媒体,包括硬盘、CD-ROM、数字多功能盘(DVD)、光存储装置或者磁存储装置,例如软盘或磁带。计算机可读媒体的其它非限制性示例包括闪速类型存储器或者其它已知存储器。
虽然在具体组合中的实施例中描述提出的示范实施例的特征和要素,但是各特征或要素能够单独使用而无需实施例的其它特征和要素,或者在具有或没有本文所公开的其它特征和要素的各种组合中使用。本申请中提供的方法或流程图可在计算机可读存储媒体中有形包含的供专门编程的计算机或处理器执行的计算机程序、软件或固件中实现。
Claims (30)
1.一种用于降低包括多个资源的并行计算系统中的能量消耗的方法,所述方法包括:
接收要由所述并行计算系统所执行的计算工作;
通过搜索所述并行计算系统中存储的预设表来确定要用于执行所述计算工作的所述多个资源的资源的数量,其中所述预设表在确定资源的所述数量之前被填充;以及
将所述计算工作分发到所确定的数量的资源。
2.如权利要求1所述的方法,还包括:
搜索所述并行计算系统中存储的所述预设表,以用于确定要用于执行所述计算工作的各资源的频率;以及
基于所述预设表来设置所述数量的资源的各资源的频率。
3.如权利要求1所述的方法,其中,所述确定步骤包括:
选择在运行所述计算工作时使所述能量消耗最小的数量作为资源的所述数量。
4.如权利要求1所述的方法,还包括:
确定在要求的时间期间对于执行所述计算工作所必需的资源的最小数量。
5.如权利要求4所述的方法,还包括:
当资源的所确定的数量大于现有资源的数量时,将资源的所述数量设置为小于或等于现有资源的所述数量。
6.如权利要求1所述的方法,还包括:
搜索所述并行计算系统中存储的所述预设表,以用于确定要用于执行所述计算工作的各资源的电压;以及
基于所述预设表来设置所述数量的资源的各资源的电压。
7.如权利要求1所述的方法,还包括:
将所述计算工作分为在所述数量的资源的每个上单独计算的部分。
8.如权利要求4所述的方法,还包括:
当基于所述预设表的资源的所确定的数量小于资源的所述最小数量时,将执行所述计算工作的资源的数量设置为等于资源的所述最小数量。
9.如权利要求1所述的方法,还包括:
通过仅将所确定的数量的资源用于执行所述计算工作来使所述能量消耗最小。
10.一种用于在运行计算工作时降低能量消耗的并行计算系统,所述并行计算系统包括:
输入,配置成接收要由所述并行计算系统所执行的计算工作;
调度器,连接到所述输入,并且配置成通过搜索预设表来确定要用于执行所述计算工作的多个资源的资源的数量,其中所述预设表在确定资源的所述数量之前被填充;以及
所述多个资源,连接到所述调度器,并且配置成运行所确定的计算工作。
11.如权利要求10所述的系统,其中,所述调度器配置成搜索所述预设表以用于确定要用于执行所述计算工作的各资源的频率,并且基于所述预设表来设置所述数量的资源的各资源的频率。
12.如权利要求10所述的系统,其中,所述调度器还配置成选择在运行所述计算工作时使所述能量消耗最小的数量作为资源的所述数量。
13.如权利要求10所述的系统,其中,所述调度器还配置成确定在要求的时间期间对于执行所述计算工作所必需的资源的最小数量。
14.如权利要求13所述的系统,其中,所述调度器还配置成在资源的所确定的数量大于现有资源的数量时将资源的所述数量选择为小于或等于现有资源的所述数量。
15.如权利要求10所述的系统,其中,所述调度器还配置成搜索所述并行计算系统中存储的所述预设表以用于确定要用于执行所述计算工作的各资源的电压,并且基于所述预设表来设置所述数量的资源的各资源的电压。
16.如权利要求10所述的系统,其中,所述调度器还配置成将所述计算工作分为在所述数量的资源的每个上单独计算的部分。
17.如权利要求13所述的系统,其中,所述调度器还配置成在基于所述预设表的资源的所确定的数量小于资源的所述最小数量时将执行所述计算工作的资源的数量设置为等于资源的所述最小数量。
18.如权利要求13所述的系统,其中,所述调度器还配置成通过仅将所确定的数量的资源用于执行所述计算工作来使所述能量消耗最小。
19.如权利要求10所述的系统,包括:
存储器,连接到所述调度器,并且配置成存储所述预设表。
20.如权利要求19所述的系统,其中,所述预设表包括第一和第二表,所述第一表包括计算工作对资源的所述数量的相关性,并且所述第二表包括资源的所述数量对各资源的频率和/或电压的相关性。
21.一种用于存储计算机可执行指令的计算机可读媒体,其中所述指令在由并行计算系统运行时使所述系统从使用第一数量的资源的系统变换到使用第二数量的资源的系统,以降低包括多个资源的所述并行计算系统中的能量消耗,所述指令包括:
接收要由所述并行计算系统所执行的计算工作;
通过搜索所述并行计算系统中存储的预设表来确定要用于执行所述计算工作的所述多个资源的资源的数量,其中所述预设表在确定资源的所述数量之前被填充;以及
将所述计算工作分发到所确定的数量的资源。
22.如权利要求21所述的媒体,还包括:
搜索所述并行计算系统中存储的所述预设表,以用于确定要用于执行所述计算工作的各资源的频率;以及
基于所述预设表来设置所述数量的资源的各资源的频率。
23.如权利要求21所述的媒体,其中,所述确定步骤包括:
选择在运行所述计算工作时使所述能量消耗最小的数量作为资源的所述数量。
24.如权利要求21所述的媒体,还包括:
确定在要求的时间期间对于执行所述计算工作必所需的资源的最小数量。
25.如权利要求24所述的媒体,还包括:
当资源的所确定的数量大于现有资源的数量时,将资源的所述数量选择为小于或等于现有资源的所述数量。
26.如权利要求21所述的媒体,还包括:
搜索所述并行计算系统中存储的所述预设表,以用于确定要用于执行所述计算工作的各资源的电压;以及
基于所述预设表来设置所述数量的资源的各资源的电压。
27.如权利要求21所述的媒体,还包括:
将所述计算工作分为在所述数量的资源的每个上单独计算的部分。
28.如权利要求24所述的媒体,还包括:
当基于所述预设表的资源的所确定的数量小于资源的所述最小数量时,将执行所述计算工作的资源的数量设置为等于资源的所述最小数量。
29.如权利要求21所述的媒体,还包括:
通过仅将所确定的数量的资源用于执行所述计算工作来使所述能量消耗最小。
30.一种用于在运行计算工作时降低能量消耗的并行计算系统,所述并行计算系统包括:
用于接收要由所述并行计算系统所执行的计算工作的部件;
调度部件,用于通过搜索预设表来确定要用于执行所述计算工作的多个资源的资源的数量,其中所述预设表在确定资源的所述数量之前被填充;以及
所述多个资源,配置成运行所确定的计算工作。
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US12/327241 | 2008-12-03 | ||
| US12/327,241 US9323306B2 (en) | 2008-12-03 | 2008-12-03 | Energy based time scheduler for parallel computing system |
| PCT/EP2009/066128 WO2010063706A1 (en) | 2008-12-03 | 2009-12-01 | Energy based time scheduler for parallel computing system |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN102239473A true CN102239473A (zh) | 2011-11-09 |
Family
ID=41582030
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN2009801489845A Pending CN102239473A (zh) | 2008-12-03 | 2009-12-01 | 用于并行计算系统的基于能量的时间调度器 |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US9323306B2 (zh) |
| EP (1) | EP2361405A1 (zh) |
| CN (1) | CN102239473A (zh) |
| WO (1) | WO2010063706A1 (zh) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI482006B (zh) * | 2011-12-21 | 2015-04-21 | Mediatek Inc | 基於使用情形之電壓調整方法及其裝置 |
Families Citing this family (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8776066B2 (en) * | 2009-11-30 | 2014-07-08 | International Business Machines Corporation | Managing task execution on accelerators |
| US8689021B1 (en) * | 2010-09-10 | 2014-04-01 | Marvell International Ltd. | System and method for selecting a power management configuration in a multi-core environment according to various operating conditions such as voltage, frequency, power mode, and utilization factor varied on a per-core basis |
| CN107256077A (zh) * | 2011-02-10 | 2017-10-17 | 富士通株式会社 | 调度方法、设计辅助方法以及系统 |
| CN103348324A (zh) * | 2011-02-10 | 2013-10-09 | 富士通株式会社 | 调度方法、设计辅助方法以及系统 |
| US8683479B1 (en) * | 2011-02-16 | 2014-03-25 | Hewlett-Packard Development Company, L.P. | Shifting information technology workload demands |
| US20140237272A1 (en) * | 2013-02-19 | 2014-08-21 | Advanced Micro Devices, Inc. | Power control for data processor |
| US9519522B1 (en) * | 2013-09-30 | 2016-12-13 | Veritas Technologies Llc | Use of power data in the selection of resources for performance of processes |
| JP6874594B2 (ja) * | 2017-08-24 | 2021-05-19 | 富士通株式会社 | 電源管理装置,ノード電源管理方法およびノード電源管理プログラム |
| CN112631986B (zh) * | 2020-12-28 | 2024-04-02 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 大规模dsp并行计算装置 |
| US11714688B1 (en) * | 2022-11-17 | 2023-08-01 | Accenture Global Solutions Limited | Sustainability-based computing resource allocation |
Family Cites Families (22)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0659906A (ja) | 1992-08-10 | 1994-03-04 | Hitachi Ltd | 並列計算機の実行制御方法 |
| JPH08202468A (ja) | 1995-01-27 | 1996-08-09 | Hitachi Ltd | マルチプロセッサシステム |
| US7111178B2 (en) | 2001-09-28 | 2006-09-19 | Intel Corporation | Method and apparatus for adjusting the voltage and frequency to minimize power dissipation in a multiprocessor system |
| US7100056B2 (en) | 2002-08-12 | 2006-08-29 | Hewlett-Packard Development Company, L.P. | System and method for managing processor voltage in a multi-processor computer system for optimized performance |
| US6711447B1 (en) | 2003-01-22 | 2004-03-23 | Intel Corporation | Modulating CPU frequency and voltage in a multi-core CPU architecture |
| US7127625B2 (en) | 2003-09-04 | 2006-10-24 | Hewlett-Packard Development Company, L.P. | Application management based on power consumption |
| JP2005085164A (ja) | 2003-09-10 | 2005-03-31 | Sharp Corp | マルチプロセッサシステムの制御方法およびマルチプロセッサシステム |
| US7430741B2 (en) * | 2004-01-20 | 2008-09-30 | International Business Machines Corporation | Application-aware system that dynamically partitions and allocates resources on demand |
| GB2410344B (en) * | 2004-01-26 | 2006-03-15 | Toshiba Res Europ Ltd | Dynamic voltage controller |
| US7966511B2 (en) | 2004-07-27 | 2011-06-21 | Intel Corporation | Power management coordination in multi-core processors |
| US7437581B2 (en) | 2004-09-28 | 2008-10-14 | Intel Corporation | Method and apparatus for varying energy per instruction according to the amount of available parallelism |
| JP2006113767A (ja) * | 2004-10-14 | 2006-04-27 | Sony Corp | 情報処理システム、および、情報処理方法、並びに、プログラム |
| US20060101464A1 (en) * | 2004-11-09 | 2006-05-11 | Dohrmann Stephen H | Determining a number of processors to execute a task |
| JP4082706B2 (ja) | 2005-04-12 | 2008-04-30 | 学校法人早稲田大学 | マルチプロセッサシステム及びマルチグレイン並列化コンパイラ |
| US7644148B2 (en) * | 2005-05-16 | 2010-01-05 | Hewlett-Packard Development Company, L.P. | Historical data based workload allocation |
| JP2008026948A (ja) * | 2006-07-18 | 2008-02-07 | Renesas Technology Corp | 半導体集積回路 |
| US7694160B2 (en) | 2006-08-31 | 2010-04-06 | Ati Technologies Ulc | Method and apparatus for optimizing power consumption in a multiprocessor environment |
| US8954045B2 (en) * | 2006-09-29 | 2015-02-10 | Qualcomm Incorporated | Method and apparatus for managing resources at a wireless device |
| US20080172398A1 (en) | 2007-01-12 | 2008-07-17 | Borkenhagen John M | Selection of Processors for Job Scheduling Using Measured Power Consumption Ratings |
| US8984520B2 (en) * | 2007-06-14 | 2015-03-17 | Microsoft Technology Licensing, Llc | Resource modeling and scheduling for extensible computing platforms |
| JP2009025939A (ja) * | 2007-07-18 | 2009-02-05 | Renesas Technology Corp | タスク制御方法及び半導体集積回路 |
| US8892916B2 (en) * | 2008-08-06 | 2014-11-18 | International Business Machines Corporation | Dynamic core pool management |
-
2008
- 2008-12-03 US US12/327,241 patent/US9323306B2/en active Active
-
2009
- 2009-12-01 WO PCT/EP2009/066128 patent/WO2010063706A1/en not_active Ceased
- 2009-12-01 CN CN2009801489845A patent/CN102239473A/zh active Pending
- 2009-12-01 EP EP09760898A patent/EP2361405A1/en not_active Withdrawn
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI482006B (zh) * | 2011-12-21 | 2015-04-21 | Mediatek Inc | 基於使用情形之電壓調整方法及其裝置 |
Also Published As
| Publication number | Publication date |
|---|---|
| EP2361405A1 (en) | 2011-08-31 |
| US9323306B2 (en) | 2016-04-26 |
| US20100138837A1 (en) | 2010-06-03 |
| WO2010063706A1 (en) | 2010-06-10 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN102239473A (zh) | 用于并行计算系统的基于能量的时间调度器 | |
| US10551896B2 (en) | Method and apparatus for dynamic clock and voltage scaling in a computer processor based on program phase | |
| US9378536B2 (en) | CPU/GPU DCVS co-optimization for reducing power consumption in graphics frame processing | |
| CN101937363B (zh) | 移动终端的工作模式切换方法及移动终端 | |
| TWI425422B (zh) | 多cpu領域行動電子裝置與其操作方法 | |
| US20140047256A1 (en) | Terminal device and method for operating the same | |
| US9128705B2 (en) | System and method for controlling central processing unit power with reduced frequency oscillations | |
| US20150160715A1 (en) | Power gating functional units of a processor | |
| CN103207773A (zh) | 使用标量/向量指令处理数据的系统和方法 | |
| US20110075598A1 (en) | Method and apparatus to shorten the time to connect to a network | |
| US8205196B2 (en) | Systems and methods for using operating system (OS) virtualisation for minimizing power consumption in mobile phones | |
| JP2004252937A (ja) | アプリケーション実行のエネルギーを重視したスケジューリング | |
| US20170168853A1 (en) | Dynamic predictive wake-up techniques | |
| CN103189853A (zh) | 用于提供高效情境分类的方法和装置 | |
| JP2018527676A (ja) | メモリ状態遷移タイマを動的に調整するためのシステムおよび方法 | |
| CN101685338B (zh) | 一种节省笔记本电脑的系统资源的方法和笔记本电脑 | |
| CN102226894A (zh) | 一种移动设备内存管理方法及装置 | |
| KR101826088B1 (ko) | 프로세서 코어들의 전력 모드들을 제어하기 위한 레이턴시-기반 전력 모드 유닛들, 및 관련 방법들 및 시스템들 | |
| CN101778157B (zh) | 一种手机sp菜单的管理方法 | |
| CN104808767A (zh) | 一种终端控制方法 | |
| US20170249008A1 (en) | Techniques for entering a low power state | |
| CN103092703A (zh) | Java资源访问的同步方法和装置 | |
| CN104808766A (zh) | 一种终端 | |
| JP2008077563A (ja) | 電子機器およびcpu動作環境制御プログラム | |
| US20090319988A1 (en) | Software optimization device and software optimization method |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C06 | Publication | ||
| PB01 | Publication | ||
| C10 | Entry into substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| C12 | Rejection of a patent application after its publication | ||
| RJ01 | Rejection of invention patent application after publication |
Application publication date: 20111109 |