CN104111722B - 利用跟踪数据的电源管理的方法和系统 - Google Patents
利用跟踪数据的电源管理的方法和系统 Download PDFInfo
- Publication number
- CN104111722B CN104111722B CN201410319755.8A CN201410319755A CN104111722B CN 104111722 B CN104111722 B CN 104111722B CN 201410319755 A CN201410319755 A CN 201410319755A CN 104111722 B CN104111722 B CN 104111722B
- Authority
- CN
- China
- Prior art keywords
- detector
- hardware
- tracking
- tracking data
- data
- 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.)
- Active
Links
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/348—Circuit details, i.e. tracer hardware
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3495—Performance evaluation by tracing or monitoring for systems
-
- 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)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Power Sources (AREA)
- Debugging And Monitoring (AREA)
Abstract
本公开涉及利用跟踪数据的电源管理的方法和系统。一种对硬件进行电源管理的方法包括确定要进行电源管理的硬件,从电源管理控制器向跟踪框架发送跟踪请求,以获得硬件的使用数据,和识别第一硬件控制软件组件中的获得与使用数据对应的第一跟踪数据的第一探测器,其中第一硬件控制软件被配置成与所述硬件交互作用。所述方法还包括开启第一探测器,从第一探测器获得第一跟踪数据,其中第一跟踪数据是当在第一硬件控制软件的执行过程中,遇到第一探测器时获得的,和利用第一跟踪数据修改硬件的操作。
Description
本申请是申请日为2009年6月18日、题为“利用跟踪数据的电源管理的方法和系统”的发明专利申请No.200980128626.8的分案申请。
技术领域
本发明总体上涉及利用跟踪数据的电源管理的方法和系统。
背景技术
现代计算机系统可被大致划分成三个概念要素:硬件、操作系统和应用程序。硬件,例如中央处理单元(CPU)、存储器、持久性存储装置和输入/输出装置提供基本的计算资源。应用程序,比如编译器、数据库系统、软件和商业程序,定义这些资源被用于解决用户的计算问题的方式。用户可包括人、机器、和使用应用程序的其它计算机,所述应用程序又采用硬件来解决多种问题。
操作系统(“OS”)是充当计算机系统的用户和计算机硬件之间的媒介的程序。操作系统的用途是提供一种环境,在所述环境中,用户能够方便并且高效地执行应用程序。计算机系统具有为解决问题而需要的许多资源(硬件和软件),例如中央处理单元(“CPU”)时间、存储空间、输入/输出(“I/O”)装置,等等。操作系统充当这些资源的管理者,并根据需要把它们分配给具体的程序和用户。由于可能存在许多可能冲突的资源请求,操作系统必须决定哪些请求被分配资源,以高效并且公平地运转计算机系统。
此外,操作系统可被表征为控制程序。控制程序控制用户程序的执行,以避免计算机的错误和不正确使用。控制程序尤其关注I/O装置的操作。通常,操作系统因其是一种解决建立可用计算系统的问题的合理途径而存在。计算机系统的基本目标是执行用户程序,和使解决用户问题变得更容易。朝着这个目标,构成了计算机硬件。由于单独的裸硬件不是特别易于使用,因此开发了应用程序。这些各种程序需要某些公共的操作,例如控制I/O操作的那些操作。从而使控制和分配资源的公共功能集合成一个软件:操作系统。
为了节能,一些计算机系统包含电力控制机制。例如,能源之星(“E*”)电源要求需要当系统处于空闲状态时,系统功耗降低到正常工作功耗水平的15%。为了节能,操作系统关闭不活动的装置,比如硬盘和监视器(或者降低其工作频率)。操作系统还可通过调整CPU的运行来节能。
发明内容
在一个方面,本发明涉及一种对硬件进行电源管理的方法。该方法包括:确定要进行电源管理的硬件,从电源管理控制器向跟踪框架发送跟踪请求,以获得硬件的使用数据,识别第一硬件控制软件组件中的获得与使用数据对应的第一跟踪数据的第一探测器,其中第一硬件控制软件被配置成与所述硬件交互作用,开启第一探测器,从第一探测器获得第一跟踪数据,其中第一跟踪数据是当在第一硬件控制软件的执行过程中遇到第一探测器时获得的;和利用第一跟踪数据进一步修改所述硬件的操作。
在一个方面,本发明涉及一种对应用进行电源管理的方法。该方法包括:识别所述应用中的性能关键部分,在所述性能关键部分之前,在所述应用中插入开始探测器,在所述性能关键部分之后,在所述应用中插入结束探测器,在所述性能关键部分中插入多个资源利用探测器,其中每个资源利用探测器与硬件相关联,所述硬件与该应用运行于其上的系统相关联,其中所述多个资源利用探测器中的每个资源利用探测器在应用的执行过程中遇到开始探测器之后被开启,并在应用的执行过程中遇到结束探测器之后被禁用,开启所述开始探测器和结束探测器,执行所述应用,其中执行所述应用包括遇到开始探测器、所述多个资源利用探测器中的至少一个,和结束探测器,其中当在执行应用的过程中遇到至少一个资源利用探测器时获得使用数据,和利用所述使用数据修改所述硬件的操作。
本发明的实施例涉及一种对软件进行电源管理的系统。该系统包括:硬件,和电源管理控制器,其中电源管理控制器被配置成:从电源管理控制器向跟踪框架发送跟踪请求,以获得硬件的使用数据,识别第一硬件控制软件组件中的获得与使用数据对应的第一跟踪数据的第一探测器,其中第一硬件控制软件被配置成与所述硬件交互作用,开启第一探测器,从第一探测器获得第一跟踪数据,其中第一跟踪数据是当在第一硬件控制软件的执行过程中遇到第一探测器时获得的,和利用第一跟踪数据修改所述硬件的操作。
根据下面的说明书和附加权利要求,本发明的其它方面将是显而易见的。
附图说明
图1表示按照本发明的一个或多个实施例的系统。
图2表示按照本发明的一个或多个实施例的流程图。
图3表示按照本发明的一个或多个实施例的示例流程图。
图4表示按照本发明的一个或多个实施例的计算机系统。
具体实施方式
现在参考附图,仅以示例的方式详细说明本发明的具体实施例。考虑到一致性,各个图中的相同元件用相同的附图标记表示。
在本发明的实施例的下述详细说明中,陈述了众多的具体细节,以便更透彻地理解本发明。不过,对本领域的普通技术人员来说,显然可在没有这些具体细节的情况下实践本发明。在其它情况下,未详细说明公知的特征,以避免不必要地使说明变复杂。
一般而言,本发明的实施例提供一种利用跟踪数据管理系统中的电源的方法和系统。更具体地说,本发明的实施例提供一种用于跟踪硬件使用、收集跟踪数据,并利用收集的跟踪数据改变硬件使用的方法和系统。按照本发明的一个或多个实施例,利用跟踪数据以及电源管理策略修改硬件使用。
图1表示按照本发明的一个或多个实施例的系统。所述系统可被看作三层:用户层,内核层和硬件层。用户层使用户能够通过一系列的应用与系统交互作用。从用户层,用户可通过内核层与底层硬件交互作用。系统的内核层管理系统资源,并且充当用户层和底层的硬件层之间的媒介。
硬件层内是一组硬件(114A-114N)。按照本发明的一个或多个实施例,硬件(114A-114N)可包括各种各样的装置,比如处理器、物理存储器和/或输入/输出(I/O)装置。在执行过程中,运行于系统上的应用依赖于这些资源。不过,对每种资源的需要会因应用而异。
硬件(114A-114N)直接由一组硬件控制软件(112A-112N)控制。硬件控制软件(112A-112N)一般位于系统的内核层中。按照本发明的一个或多个实施例,硬件控制软件(112A-112N)嵌入有一系列的探测器(110A-110N)。这些探测器(110A-110N)是嵌入硬件控制软件中的多组代码,当在硬件控制软件(112A-112N)的执行期间被开启和遭遇时,所述探测器具有向探测器提供器(108)回送信号的能力。按照本发明的一个或多个实施例,收集的数据可对应于电源使用信息或者代表电源使用信息。
嵌入硬件控制软件(112A-112N)内的探测器(110A-110N)由同样位于系统的内核层内的探测器提供器(108)开启。按照本发明的一个或多个实施例,这些探测器提供器(112A-112N)根据为了对硬件进行电源管理而向硬件控制软件要求的数据,管理探测器(110A-110N)。
探测器提供器(108)根据从跟踪框架(106)接收的请求,开启一组探测器(110A-110N)。跟踪框架(106)通过接收对需要从硬件控制软件(112A-112N)获得的数据的请求、确定为了取回必需的数据应开启哪些探测器,和开启选择的探测器提供器(108),来充当电力管理控制器(102)和探测器提供器(108)之间的媒介。在美国专利No.7,194,731和7,350,196中描述了跟踪框架的一个或多个实施例,这些美国专利被包括在此。
如图1中所示,通过内核接口(104)与内核层交互作用的电源管理控制器(102)位于用户层中。按照本发明的一个或多个实施例,该电源管理控制器通过用户层中的应用(未示出)接收对硬件使用进行电源管理的请求。该电源管理控制器还可包括确定如何修改硬件使用以管理系统的电源使用的电源管理策略。
图2表示按照本发明的一个或多个实施例的流程图。更具体地说,图2表示按照本发明的一个或多个实施例的对硬件进行电源管理的方法。在步骤202,电源管理控制器识别要进行电源管理的硬件。按照本发明的一个或多个实施例,电源管理控制器从在系统的用户层中的应用处接收对硬件进行电源管理的请求。作为替代地,电源管理控制器可被配置成自发对硬件进行电源管理。
在步骤204,电源管理控制器确定为了对所选硬件进行电源管理需要什么数据,并向跟踪框架发送对所述数据的请求。电源管理所需的数据可与所选硬件的电源使用情况、可进行电源管理的系统资源的软件利用情况,和可进行电源管理的资源状态与它们对应用性能的影响之间的映射有关。
在步骤206,跟踪框架识别为了从硬件控制软件收集所需数据而必需的探测器和探测器提供器。每个探测器与一个探测器提供器关联,并且跟踪框架识别所述提供器,以发送开启所选探测器的请求。在步骤208,探测器提供器开启必要的探测器。
在步骤210,在硬件控制软件执行的时候,当遇到开启的探测器时,开启的探测器产生跟踪数据,并把数据传回给跟踪框架。在本发明的一个实施例中,跟踪数据可包括与在应用进行一项关键工作单位之前和之后的进入-退出次数有关的信息,和在给定处理器上运行的线程的数目有关的信息,等等。
在步骤212,跟踪框架把跟踪数据发给电源管理控制器。按照本发明的一个或多个实施例,产生的数据可以编译自在硬件控制软件中开启和遇到的一个或多个探测器。此外,跟踪数据可以来自与作为电源管理控制器的目标的硬件相关联的一个或多个硬件控制软件程序。
在步骤214,电源管理控制器利用来自于步骤212的跟踪数据确定如何修改硬件的使用。按照本发明的一个或多个实施例,可利用跟踪数据和与电源管理控制器关联的电源管理策略来确定硬件的修改的使用。在本发明的一个实施例中,电源管理策略可指出硬件使用将被修改为降低功耗,或者修改为提高硬件的性能(例如,增大单位时间处理的指令的数目,等等)。在步骤216,电源管理控制器向硬件控制软件发送请求以运行所确定的硬件控制软件。
尽管给出并顺序说明了该流程图中的各个步骤,不过本领域的技术人员会认识到一些或者所有的步骤可按照不同的顺序执行,可被组合或省略,一些或者所有的步骤可被并行执行。另外,为了简化说明,省略了诸如保存确认之类的步骤。
图3表示按照本发明的一个或多个实施例的流程图。具体地说,图3中的流程图详细说明了为了对硬件进行电源管理,在系统内传送数据的例子。该例子并不意图限制本发明的范围。
参见所述例子,在302,探测器提供器(108)向跟踪框架(106)发送登记,从而确定哪个探测器提供器(108)控制哪个探测器(110A-110N)。利用该信息,跟踪框架(106)建立探测器提供器(108)和探测器(110)的映射,以使跟踪框架(106)能接收来自电源管理控制器(102)的请求并确定如何开启正确的探测器。
在304,从电源管理控制器(102)向跟踪框架(106)发送跟踪请求。按照本发明的一个或多个实施例,发送给跟踪框架的请求识别硬件(未示出)和与硬件有关的请求使用数据。使用数据的例子包括但不限于单位时间的I/O请求的数目,给定处理器保持空闲状态的时间,等等。
在收到该请求之后,跟踪框架(106)选择哪些探测器(110)应被开启,以获得电源管理控制器(102)请求的数据。如果电源管理控制器(108)在对I/O装置进行电源管理,那么跟踪框架(106)可选择当I/O请求启动和结束时会向跟踪框架提供数据的探测器。在(306),跟踪框架向对应的探测器提供器(108)发送请求,以开启选择的探测器(110)。在(308),探测器提供器开启选择的探测器(110)。
在探测器被开启之后,探测器可被用于跟踪与所请求的使用数据对应的数据。换句话说,探测器收集的跟踪数据对应于电源管理控制器请求的使用数据。具体地说,当在硬件控制软件(112)的执行期间遇到探测器时,硬件控制软件(112)暂停执行,并且控制被转移给跟踪框架(310)。跟踪框架(106)通过应用与触发了控制的转移的所述探测器相关的一个或多个动作,获得必需的数据。一旦从探测器获得数据,控制就被转移回硬件控制软件(112),以便继续执行(312)。
返回参见对I/O装置进行电源管理的例子,会在I/O请求完成之前和之后遇到探测器,因此探测器生成跟踪数据。该数据可包括和I/O请求、所使用的I/O装置,和作为I/O请求的一部分传送的数据有关的信息。
在硬件控制软件的执行结束之后,在(314),跟踪框架把收集的数据发给电源管理控制器。电源管理控制器可根据跟踪数据和电源管理策略修改使用硬件的方式。修改硬件使用所必需的信息/指令随后被发给硬件控制软件。在对I/O装置进行电源管理的例子中,电源管理控制器(102)可确定电源效率更高的方式来利用I/O装置。例如,I/O装置可被部分停转,而不导致I/O装置性能的任何下降。这种情况下,电源管理控制器可请求硬件控制软件部分停转(例如,半速)I/O装置。
对系统中的I/O装置进行电源管理只是如何对系统中的资源进行电源管理的一个例子。另一个例子是对处理器进行电源管理。按照本发明的一个或多个实施例,跟踪技术可被用于通过补充来自CPU性能计数器(即,被编程为对在一段时间内,特定一组“事件”的发生进行计数的一组寄存器)的数据,对处理器进行电源管理。在一些情况下,收集更多的数据,以确定CPU性能是有益的。一个例子是当经历了预定计数的特定类型的事件时遇到探测器,或者利用探测器确定应用中的关键路径的资源利用情况,其中所述关键路径是执行中使用的资源的顺序和功能。
类似地,通过利用跟踪框架,也可对存储装置进行电源管理。一个例子是开启探测器,以跟踪和在一段时间内访问的物理存储地址有关的信息。另外,可利用一系列的探测器收集关于存储器的更多数据,比如物理存储地址是否导致高速缓存未中,并且该数据被返回给跟踪框架,使得电源管理控制器可利用该数据以及电源管理策略修改存储器使用。在本发明的一个实施例中,这使电源管理子系统可以了解哪个物理存储器正被使用。
此外,可按照划分应用的性能关键部分的方式,在应用中开启探测器(例如,可在执行应用的线程进入该应用的关键部分时,和在所述线程退出该应用的关键部分时遇到探测器)。例如,当在I/O请求前后开启探测器时,关于存储位置的数据可被返回给跟踪框架。利用该数据,跟踪框架可通过停转未被使用的磁盘来对硬件进行电源管理。
下面是本发明的一个或多个实施例的例子,该例子并不意图限制本申请的范围。返回所述例子,考虑其中使用探测器获得与web服务应用有关的信息的场景。在这种情况下,web服务应用的性能关键部分是所述web服务应用的执行过程中的通过网络连接接收对文件的请求,和通过网络连接向远程请求者提供响应(所述响应包括请求的数据)的部分。该关键部分的性能可至少部分取决于该应用运行于的机器的处理器速度,连网速度的速度,和主存储器的速度和/或对应于文件的数据所位于的永久性存储装置(例如,硬盘、磁带驱动器等)的速度。
为了划分性能关键部分,跟踪框架可开启在性能关键部分开始和结束时遇到的(即,启动的)探测器(开始探测器和结束探测器)。从而通过测量在执行所述应用的线程的开始/结束探测器的启动之间过去的时间,可表征应用服务于请求的等待时间。此外,通过集合地计数单位时间(可能由系统中的多个并发的应用线程)启动的开始/结束探测器对的数目,可测量服务吞吐量。
在内核中,可存在当利用给定的可进行电源管理的资源时启动的各种探测器(称为“资源利用探测器”)。例如,当发起对磁盘或连网装置的I/O请求时,或者当应用开始在处理器上运行时(或者当为已运行的应用开启探测器时),探测器可启动。在探测器的启动过程中收集的信息可包括哪个或哪些装置正在被使用,和其它的使用细节。
通过使这些“资源利用”探测器的启动以应用中的“开始”探测器的启动为基础(和当遇到“结束”探测器时,禁止这些探测器的启动)(即,在开始探测器被启动之前,资源利用探测器不被开启,并且一旦结束探测器被启动,资源利用探测器就被禁用),跟踪框架可收集和向电源管理控制器返回与在应用的性能关键部分期间哪些资源被使用有关的信息。通过改变所利用的装置的电源状态,以及随后测量观测的延迟和/或吞吐量的变化,电源管理控制器还可表征和了解对关键部分的性能影响。在本发明的一个实施例中,利用断言(predicate)来启用和/或禁用探测器是在美国专利7,281,240中说明的,该专利被包括在此引为参考。
实质上,可在任意类型的计算机上实现本发明的实施例,与使用的平台无关。例如,如图4中所示,计算机系统(400)包括一个或多个处理器(402)、相关的存储器(404)(例如,随机存取存储器(RAM)、高速缓冲存储器、闪速存储器等)、存储装置(406)(例如,硬盘,诸如压缩盘驱动器或数字视频光盘(DVD)驱动器之类的光学驱动器,闪速记忆棒等),和目前的计算机典型特有的众多其它元件和功能(未示出)。计算机(400)还可包括输入装置,比如键盘(408)、鼠标(410)或麦克风(未示出)。此外,计算机(400)可包括输出装置,比如监视器(412)(例如,液晶显示器(LCD)、等离子显示器,或者阴极射线管(CRT)监视器)。计算机系统(400)可经网络接口连接(未示出),连接到网络(514)(例如,局域网(LAN),诸如因特网之类的广域网(WAN),或者任何其它类似种类的网络)。本领域的技术人员会认识到存在许多不同种类的计算机系统,并且上面提及的输入和输出装置可以采取其它形式。一般来说,计算机系统(400)至少包括为实践本发明的实施例而需要的最少的处理、输入和/或输出装置。
此外,本领域的技术人员会认识到上述计算机系统(400)的一个或多个元件可以位于远程位置,并通过网络与其它元件连接。此外,可在具有多个节点的分布式系统上实现本发明的实施例,这种情况下,本发明的每个部分可以位于分布式系统内的不同节点上。在本发明的一个实施例中,所述节点对应于计算机系统。另一方面,所述节点可对应于具有相关物理存储器的处理器。作为替代地,所述节点可对应于具有共享存储器和/或资源的处理器。此外,实现本发明的实施例的软件指令可保存在计算机可读介质,比如压缩盘(CD)、磁盘、磁带、文件或者任何其它计算机可读存储装置上。
按照本发明的一个或多个实施例,一些优点包括提供一种评估电源管理的关键路径的方法和机构,提供一种评估电源管理技术的结果的方法和机制,和允许修改电源管理策略,以便更有效地进行电源管理。
尽管关于数目有限的实施例说明了本发明,不过在受益于本公开内容的情况下,本领域的技术人员会认识到可以设计出不脱离这里公开的本发明的范围的其它实施例。因此,本发明的范围只由附加的权利要求限定。
Claims (12)
1.一种用于对硬件进行电源管理的方法,包括:
确定要进行电源管理的处理器;
从电源管理控制器向跟踪框架发送跟踪请求,以获得所述处理器的使用数据;
识别第一硬件控制软件中的获得与所述使用数据对应的第一跟踪数据的第一探测器,其中所述第一硬件控制软件配置为与所述处理器交互作用;
开启所述第一探测器;
从所述第一探测器获得第一跟踪数据,其中所述第一跟踪数据是当在所述第一硬件控制软件的执行过程中遇到所述第一探测器时获得的;
将所述第一跟踪数据从所述跟踪框架发送到所述电源管理控制器;以及
由所述电源管理控制器至少部分地基于所述第一跟踪数据提高所述处理器的性能。
2.如权利要求1所述的方法,还包括:
识别所述第一硬件控制软件中的获得与所述使用数据对应的第二跟踪数据的第二探测器;
开启所述第二探测器;
从所述第二探测器获得所述第二跟踪数据,其中所述第二跟踪数据是当在所述第一硬件控制软件的执行过程中遇到所述第二探测器时获得的;
将所述第二跟踪数据从所述跟踪框架发送到所述电源管理控制器;以及
由所述电源管理控制器至少部分地基于所述第二跟踪数据改变所述处理器的电源状态。
3.如权利要求1或2所述的方法,还包括:
识别第二硬件控制软件中的获得与所述使用数据对应的另外的跟踪数据的另一个探测器,其中所述第二硬件控制软件配置为与所述处理器交互作用;
开启所述另一个探测器;
从所述另一个探测器获得所述另外的跟踪数据,其中所述另外的跟踪数据是当在所述第二硬件控制软件的执行过程中遇到所述另一个探测器时获得的;
将所述另外的跟踪数据从所述跟踪框架发送到所述电源管理控制器;以及
由所述电源管理控制器至少部分地基于所述另外的跟踪数据改变所述处理器的电源状态。
4.如权利要求1或2所述的方法,其中,所述处理器的电源状态是利用电源管理策略来改变的。
5.如权利要求1或2所述的方法,其中,所述电源管理控制器位于用户层。
6.如权利要求1或2所述的方法,其中,所述跟踪框架位于内核层。
7.一种用于对软件进行电源管理的系统,包括:
用于从电源管理控制器向跟踪框架发送跟踪请求以获得处理器的使用数据的装置;
用于识别第一硬件控制软件中的获得与所述使用数据对应的第一跟踪数据的第一探测器的装置,其中所述第一硬件控制软件配置为与所述处理器交互作用;
用于开启所述第一探测器的装置;
用于从所述第一探测器获得所述第一跟踪数据的装置,其中所述第一跟踪数据是当在所述第一硬件控制软件的执行过程中遇到所述第一探测器时获得的;
用于将所述第一跟踪数据从所述跟踪框架发送到所述电源管理控制器的装置;以及
用于由所述电源管理控制器至少部分地基于所述第一跟踪数据提高所述处理器的性能的装置。
8.如权利要求7所述的系统,还包括:
用于识别所述第一硬件控制软件中的获得与所述使用数据对应的第二跟踪数据的第二探测器的装置;
用于开启所述第二探测器的装置;
用于从所述第二探测器获得所述第二跟踪数据的装置,其中所述第二跟踪数据是当在所述第一硬件控制软件的执行过程中遇到所述第二探测器时获得的;
用于将所述第二跟踪数据从所述跟踪框架发送到所述电源管理控制器的装置;以及
用于由所述电源管理控制器至少部分地基于所述第二跟踪数据改变所述处理器的电源状态的装置。
9.如权利要求7或8所述的系统,还包括:
用于识别第二硬件控制软件中的获得与所述使用数据对应的另外的跟踪数据的另一个探测器的装置,其中所述第二硬件控制软件配置为与所述处理器交互作用;
用于开启所述另一个探测器的装置;
用于从所述另一个探测器获得所述另外的跟踪数据的装置,其中所述另外的跟踪数据是当在所述第二硬件控制软件的执行过程中遇到所述另一个探测器时获得的;
用于将所述另外的跟踪数据从所述跟踪框架发送到所述电源管理控制器的装置;以及
用于由所述电源管理控制器至少部分地基于所述另外的跟踪数据改变所述处理器的电源状态的装置。
10.如权利要求7或8所述的系统,其中,所述处理器的电源状态是利用电源管理策略来改变的。
11.如权利要求7或8所述的系统,其中,所述电源管理控制器位于用户层。
12.如权利要求7或8所述的系统,其中,所述跟踪框架位于内核层。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/142,676 US8205100B2 (en) | 2008-06-19 | 2008-06-19 | Method and system for power management using tracing data |
US12/142,676 | 2008-06-19 | ||
CN200980128626.8A CN102105847B (zh) | 2008-06-19 | 2009-06-18 | 利用跟踪数据的电源管理的方法和系统 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200980128626.8A Division CN102105847B (zh) | 2008-06-19 | 2009-06-18 | 利用跟踪数据的电源管理的方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104111722A CN104111722A (zh) | 2014-10-22 |
CN104111722B true CN104111722B (zh) | 2017-10-31 |
Family
ID=41432622
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200980128626.8A Active CN102105847B (zh) | 2008-06-19 | 2009-06-18 | 利用跟踪数据的电源管理的方法和系统 |
CN201410319755.8A Active CN104111722B (zh) | 2008-06-19 | 2009-06-18 | 利用跟踪数据的电源管理的方法和系统 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200980128626.8A Active CN102105847B (zh) | 2008-06-19 | 2009-06-18 | 利用跟踪数据的电源管理的方法和系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8205100B2 (zh) |
EP (1) | EP2300892A2 (zh) |
CN (2) | CN102105847B (zh) |
WO (1) | WO2009155449A2 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8635600B2 (en) * | 2009-11-24 | 2014-01-21 | International Business Machines Corporation | Systems and methods for virtual machine thread tracing |
US9280388B2 (en) | 2013-01-22 | 2016-03-08 | Oracle International Corporation | Method and apparatus for efficient scheduling of multithreaded programs |
US10360128B2 (en) * | 2017-01-23 | 2019-07-23 | American Express Travel Related Services Company, Inc. | System and method for dynamic scaling of concurrent processing threads |
JP6790913B2 (ja) * | 2017-02-24 | 2020-11-25 | 富士通株式会社 | 情報処理装置、情報処理方法及びプログラム |
CN111967062A (zh) * | 2020-08-21 | 2020-11-20 | 支付宝(杭州)信息技术有限公司 | 基于区块链的数据处理系统、方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5617572A (en) * | 1995-01-31 | 1997-04-01 | Dell Usa, L.P. | System for reducing power consumption in computers |
US7194731B1 (en) * | 2003-11-14 | 2007-03-20 | Sun Microsystems, Inc. | Method and apparatus for speculative tracing |
US7350196B1 (en) * | 2003-11-14 | 2008-03-25 | Sun Microsystems, Inc. | Mechanism for lossless function entry and return tracing |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69224661T2 (de) * | 1991-12-17 | 1998-08-27 | Compaq Computer Corp | Vorrichtung zur verminderung des energieverbrauchs eines rechnersystems |
US5666538A (en) | 1995-06-07 | 1997-09-09 | Ast Research, Inc. | Disk power manager for network servers |
US7251810B1 (en) | 2000-04-26 | 2007-07-31 | Microsoft Corporation | Minimal instrumentation for lossless call profiling |
US20020194511A1 (en) | 2001-06-18 | 2002-12-19 | Swoboda Gary L. | Apparatus and method for central processing unit power measurement in a digital signal processor |
WO2004051450A2 (en) * | 2002-12-04 | 2004-06-17 | Koninklijke Philips Electronics N.V. | Software-based control of microprocessor power dissipation |
US20050071688A1 (en) | 2003-09-25 | 2005-03-31 | International Business Machines Corporation | Hardware CPU utilization meter for a microprocessor |
US7281240B1 (en) | 2003-11-14 | 2007-10-09 | Sun Microsystems, Inc. | Mechanism for lossless, lock-free buffer switching in an arbitrary-context tracing framework |
US7617488B2 (en) * | 2003-12-30 | 2009-11-10 | Intel Corporation | Method and apparatus and determining processor utilization |
US20060177004A1 (en) * | 2005-01-26 | 2006-08-10 | N-Able Technologies International, Inc. | Apparatus and method for monitoring network resources |
US20070192431A1 (en) * | 2006-02-10 | 2007-08-16 | Sun Microsystems, Inc. | Method and apparatus for service oriented architecture infrastructure switch |
US8286135B2 (en) | 2006-10-17 | 2012-10-09 | Cray Inc. | Performance visualization including hierarchical display of performance data |
US8302098B2 (en) * | 2007-12-06 | 2012-10-30 | Oracle America, Inc. | Hardware utilization-aware thread management in multithreaded computer systems |
-
2008
- 2008-06-19 US US12/142,676 patent/US8205100B2/en active Active
-
2009
- 2009-06-18 WO PCT/US2009/047843 patent/WO2009155449A2/en active Application Filing
- 2009-06-18 CN CN200980128626.8A patent/CN102105847B/zh active Active
- 2009-06-18 EP EP09767758A patent/EP2300892A2/en not_active Ceased
- 2009-06-18 CN CN201410319755.8A patent/CN104111722B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5617572A (en) * | 1995-01-31 | 1997-04-01 | Dell Usa, L.P. | System for reducing power consumption in computers |
US7194731B1 (en) * | 2003-11-14 | 2007-03-20 | Sun Microsystems, Inc. | Method and apparatus for speculative tracing |
US7350196B1 (en) * | 2003-11-14 | 2008-03-25 | Sun Microsystems, Inc. | Mechanism for lossless function entry and return tracing |
Also Published As
Publication number | Publication date |
---|---|
WO2009155449A3 (en) | 2010-04-15 |
CN102105847A (zh) | 2011-06-22 |
CN102105847B (zh) | 2014-07-30 |
US20090320000A1 (en) | 2009-12-24 |
CN104111722A (zh) | 2014-10-22 |
US8205100B2 (en) | 2012-06-19 |
EP2300892A2 (en) | 2011-03-30 |
WO2009155449A2 (en) | 2009-12-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Novaković et al. | {DeepDive}: Transparently identifying and managing performance interference in virtualized environments | |
US8527997B2 (en) | Energy-aware job scheduling for cluster environments | |
US20200028935A1 (en) | Workload rebalancing in heterogeneous resource environments | |
CN103780655B (zh) | 一种消息传递接口任务和资源调度系统及方法 | |
CN104111722B (zh) | 利用跟踪数据的电源管理的方法和系统 | |
US20100218170A1 (en) | Method System and Computer Program for Metering Usage of Software Products Based on Real-Time Benchmarking of Processing Power | |
Miller et al. | IPS: An Interactive and Automatic Performance Measurement Tool for Parallel and Distributed Programs. | |
WO2020068232A1 (en) | Methods for automatic selection of degrees of parallelism for efficient execution of queries in a database system | |
CN108965916A (zh) | 一种直播视频评估的方法、模型建立的方法、装置及设备 | |
Wildstrom et al. | Towards self-configuring hardware for distributed computer systems | |
CN103592997A (zh) | 用于在时钟源的时钟网格的自动时钟门控的方法和系统 | |
CN113064744A (zh) | 任务处理方法、装置、计算机可读介质及电子设备 | |
Wu et al. | A reference model for virtual machine launching overhead | |
US7747726B2 (en) | Method and apparatus for estimating a local performance index to measure the performance contribution of a single server in a multi-tiered environment | |
CN103597453A (zh) | 用于测试耦合设施的操作员消息命令 | |
Torquato et al. | Availability and reliability modeling of VM migration as rejuvenation on a system under varying workload | |
Banerjee et al. | Inductive-bias-driven reinforcement learning for efficient schedules in heterogeneous clusters | |
US8261274B2 (en) | Method and system for managing a task | |
Fourati et al. | Epma: Elastic platform for microservices-based applications: Towards optimal resource elasticity | |
Liu et al. | LPM: A systematic methodology for concurrent data access pattern optimization from a matching perspective | |
Liu et al. | A study on modeling and optimization of memory systems | |
Takouna et al. | A robust optimization for proactive energy management in virtualized data centers | |
Lim | Managing performance and energy in large scale data centers | |
US20230418688A1 (en) | Energy efficient computing workload placement | |
EP4113283A1 (en) | Compilation system and 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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |