US20110112798A1 - Controlling performance/power by frequency control of the responding node - Google Patents

Controlling performance/power by frequency control of the responding node Download PDF

Info

Publication number
US20110112798A1
US20110112798A1 US12623997 US62399709A US2011112798A1 US 20110112798 A1 US20110112798 A1 US 20110112798A1 US 12623997 US12623997 US 12623997 US 62399709 A US62399709 A US 62399709A US 2011112798 A1 US2011112798 A1 US 2011112798A1
Authority
US
Grant status
Application
Patent type
Prior art keywords
probe
activity level
performance state
probe activity
threshold
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.)
Abandoned
Application number
US12623997
Inventor
Alexander Branover
Maurice B. Steinman
Jonathan D. Hauke
Jonathan M. Owen
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.)
Advanced Micro Devices Inc
Original Assignee
Advanced Micro Devices 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

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0808Multiuser, multiprocessor or multiprocessing cache systems with cache invalidating means
    • GPHYSICS
    • G06COMPUTING; CALCULATING; 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 power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0831Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1028Power efficiency
    • 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 THIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing
    • Y02D10/10Reducing energy consumption at the single machine level, e.g. processors, personal computers, peripherals or power supply
    • Y02D10/12Reducing energy consumption at the single machine level, e.g. processors, personal computers, peripherals or power supply acting upon the main processing unit
    • Y02D10/126Frequency modification
    • 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 THIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing
    • Y02D10/10Reducing energy consumption at the single machine level, e.g. processors, personal computers, peripherals or power supply
    • Y02D10/13Access, addressing or allocation within memory systems or architectures, e.g. to reduce power consumption or heat production or to increase battery life

Abstract

A processing node tracks probe activity level associated with its internal caching or memory system. If the probe activity level increases above a threshold probe activity level, the performance state of the processing node is increased above its current performance state to provide enhanced performance capability in responding to the probe requests. After entering the higher performance state in response to the probe activity level being above the threshold probe activity level, the processing nodes returns to a lower performance state in response to a reduction in probe activity. There may be multiple threshold probe activity levels and associated performance states.

Description

    CROSS-REFERENCE TO RELATED APPLICATION(S)
  • This application claims the benefit of U.S. provisional application No. 61/258,798, filed Nov. 6, 2009, entitled “Controlling Performance/Power by Frequency Control of the Responding Node,” naming inventors Alexander Branover et al., which application is hereby incorporated by reference.
  • BACKGROUND
  • 1. Field of the Invention
  • This invention relates to performance of computer systems and more particularly to performance associated with cache probes.
  • 2. Description of the Related Art
  • A processing node in a computer system may be placed in any of multiple performance states (or operational states) Pn, where the particular performance state (or P-state) is characterized by an associated voltage and frequency. One factor for determining the appropriate performance state of a node is its utilization. Utilization is the ratio of the time spent by the processing node in the active (execution) state to the overall time interval over which the execution time was tracked or measured. For example, if the overall time interval was 10 milliseconds (ms) and the processor node spent 6 ms in the active (C0) state, then the utilization of the processor node is 6/10=60%. The processor node spends the remaining 4 ms in the idle (non-C0) state where code execution is suspended. A higher node utilization triggers the selection of a higher performance state P higher voltage and frequency to better address performance/watt requirements. Normally the decision to transition the processing node between performance states is made by either the operating system (OS), or high-level software, a driver, or some hardware controller. For example, if the processing node runs at a low performance state resulting in longer code execution time, the system perceives the need for a higher utilization and triggers software or hardware to transition the processing node to a higher performance state where it can complete code execution faster and spend more time in the idle state. That allows increased power savings from an overall better performance per watt. While using utilization as a trigger can provide increased performance per watt in some situations, it fails to address some issues associated with better performance per watt or preventing its degradation.
  • SUMMARY OF EMBODIMENTS OF THE INVENTION
  • Accordingly, in one embodiment a method is provided that includes tracking probe activity level in a processing node. The probe activity level is compared to a threshold probe activity level. In an embodiment, if the probe activity level is above the threshold probe activity level, the performance state of the processing node is increased above its current performance level. In an embodiment, if the probe activity level is above the first threshold probe activity level threshold and a predicted idle duration of the processing node is greater than an idle threshold, the cache memory in the processing node is flushed. In an embodiment, after entering the first performance state in response to the probe activity level being above the threshold probe activity level, the processing nodes returns to the lower performance state from which it started in response to a sufficient reduction in probe activity. In an embodiment, the sufficient reduction is to a level that is the first threshold less a hysteresis factor. In embodiments there may be multiple threshold probe activity levels and associated performance states.
  • In another embodiment, an apparatus includes a probe tracker to track probe activity level in a processing node. The apparatus responds to the probe activity level increasing above a first threshold probe activity level to increase a performance state of the processing node from a current performance state to a first performance state. In an embodiment, the apparatus responds to the probe activity level falling a predetermined level below the first threshold probe activity level to cause the processing node to enter a second performance state lower than the first performance state.
  • In an embodiment, the probe tracker includes a queue into which probe request is entered and from which a probe request in the queue is retired after the processing node responds to the probe request with at least one of a data movement and a response. In another embodiment, the probe tracker includes a counter having a count value representing probe activity level. The counter increments a count value by a predetermined amount in response to probe activity and decrements the count value by another predetermined amount in response to a passage of a predetermined period of time.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The present invention may be better understood, and its numerous objects, features, and advantages made apparent to those skilled in the art by referencing the accompanying drawings.
  • FIG. 1 illustrates a multi-core processor according to an embodiment of the present invention.
  • FIG. 2 illustrates a flow diagram of an embodiment of the invention having a single threshold.
  • FIG. 3A illustrates a state diagram of an embodiment of the invention having multiple thresholds.
  • FIG. 3B illustrates a state diagram of an embodiment of the invention having multiple thresholds.
  • FIG. 4 illustrates an embodiment of the invention in which the node's caches are flushed to save power.
  • FIG. 5 illustrates an embodiment for tracking probe activity using an In-Flight Queue (IFQ) structure having a single threshold.
  • FIG. 6 illustrates an embodiment for tracking probe activity using an IFQ having multiple thresholds.
  • FIG. 7 illustrates another embodiment for tracking probe activity using a counter having different increment and decrement criteria.
  • Note that the use of the same reference symbols in different drawings indicates similar or identical items.
  • DESCRIPTION OF THE PREFERRED EMBODIMENT(S)
  • Referring to FIG. 1, a high-level block diagram illustrates a multi-core processor embodiment where each core or node includes cache memory 102 and probe control 103, which is described further herein. In the caching system of FIG. 1, each processing node in the system needs to maintain coherency in the memory by responding to probing requests (providing dirty data from cache, cache line invalidation, etc.) coming from other nodes or the input/output (I/O) domain, even if the processing node is in a low performance state or idle state. Thus, even though local copies of memory locations may be maintained in the various caches, coherency is maintained in the memory system. However, while the performance state of requesting nodes of a probe operation may be effectively controlled by evaluating utilization, that approach does not increase the performance state P of responding nodes in a direct way. The utilization-based performance control applicable to the requesting nodes leaves overall system performance vulnerable in cases where the responding node is a bottleneck.
  • The coherent activity in the responding node does not contribute to increased utilization of the node itself (based on the node's execution stream) since the node can be in the idle state but still respond to probe requests. Additionally, a node's execution stream can be totally independent of probe responses, and therefore coherent activity in a responding node does not lead to a higher execution utilization that normally triggers the increase of the performance state. If a responding node is in a low performance state and is probed by numerous requesting nodes, its probe responding ability (probing bandwidth), which is dependent on the clock frequency of the responding node, may turn into a performance bottleneck and start causing performance loss with respect to application threads running on requesting processing nodes. Accordingly, it is useful to identify scenarios where the probing bandwidth of a responding processing node is insufficient and to address the lack of bandwidth by prompt and controllable transition of the responding node to a higher performance state. Once the burst of probing activity is finished and extra bandwidth is no longer needed, the responding node may be transitioned back to its previous performance state dictated by its execution utilization.
  • One approach to addressing potential probing response bottlenecks is a software-based solution in those systems where the operating system (OS) or high-level software handling of system devices can properly tune the processor P-state. One software-based solution requires the OS or higher-level software to re-evaluate the processor P-state more frequently (in order to properly respond to a burst of activity) and thus wakes up the processor more frequently for this re-evaluation with any application. This approach likely leads to higher power consumption with an application where such frequent re-evaluation is unnecessary. Making the OS or higher-level behavior more sophisticated and not application-invariant leads to additional overhead in the idle handlers or routines (where P-state re-evaluation happens as a rule) and therefore to a higher power consumption as well. Generally speaking, the granularity of the software-based solution provides no match with a hardware-based approach and is not able to promptly identify both the start of probing activity and the end of probing activity. The latter (end of probing activity) is equally important to identify for power savings, as a processor should not be left in a higher performance state for extra time since that also leads to extra power consumption, which degrades the performance/watt.
  • Another solution is a hardware-based solution that provides shared voltage/clock planes for all requesting and responding nodes. Such a hardware configuration increases the frequency of the responding node (core) when the requesting node (core) increases its frequency. Slow responses of the responding node will contribute to the increased utilization of the requesting node (core). Thus, software controlling the performance state of the requesting node will increase the performance state of the requesting node, and the responding node performance state will be increased as well (due to the shared frequency and voltage planes), thus eventually increasing the probing bandwidth of the responding core. However, this approach consumes extra power in multi-core processors in situations where applications are running on only a single or a few of the nodes (cores), which is the most typical type of workload in the mobile or ultra-mobile market segments. Further, the software usually fails to respond immediately to the need for a higher clock frequency due to a utilization increase of the requesting node (core), with the time interval typically ranging from a few hundreds of microseconds to milliseconds, which can lead to performance loss over this interval.
  • Thus, in an embodiment of the invention, each processing node tracks its probing activity. If the level of probing activity exceeds a threshold, the performance state of the processing node is elevated to a minimal performance floor—MinPstateLimit, to address the increased requirement for probing activity bandwidth. After probing activity goes below the threshold minus associated hysteresis, the processing node transitions back to its previous performance state (P-state) in situations where its previous P-state is lower (from the performance standpoint) than the MinPstateLimit. Note that in some embodiments, the hysteresis value may be zero and in other embodiment may be fixed or programmable.
  • The flowchart of FIG. 2 illustrates an exemplary decision process that may operate in probe control logic 103 (see FIG. 1) according to an embodiment of the invention. In 201, the node determines if the processing unit is in a performance state that is lower than the MinPstateLimit. If it is not in a lower state, then the current performance state is sufficient to handle probing activity and the flow remains in 201. If the current performance state is lower, then in 203 the node tracks probing activity. In 205, if the probing activity is greater than the threshold, then the node elevates the performance state to MinPstateLimit in 207 and continues to track the probing activity in 208. Note that the control logic to adjust performance states is assumed, for ease of illustration, to be part of the probe control logic 103. In some embodiments, it may be separate from the probe control logic. Controlling performance states of processing nodes using voltage and frequency is well known in the art and will not be described in detail herein. If the probing activity remains above the threshold minus a hysteresis factor, the node stays in the MinPstateLimit to address the probing activity. If, however, the probing activity goes back down to a level below the threshold minus a hysteresis factor in 209, the node determines in 211 whether the prior performance state (in steps 201 and 203) was less than the MinPstateLimit. If so, the node transitions to the previous lower performance state in 213 and then returns to 201 to determine whether the current performance state is adequate to address a probe activity increase above the threshold level. Note that transition to the lower performance state does not happen in 211 if the current performance state of the processing node has been increased to MinPstateLimit or higher by the normal flow managed by software (or hardware) based on the processing node utilization factor.
  • The embodiment illustrated in FIG. 2 includes only one probe performance threshold addressed by the performance state MinPstateLimit. Any performance state (P-state) higher than MinPstateLimit is assumed to satisfy worst case probe bandwidth requirements. However, other embodiments can have more than one threshold associated with probe bandwidth. A higher probe bandwidth requirement requires a higher operational P-state to address the probe bandwidth limitation. Table 1 illustrates an embodiment having three performance states (P-states) corresponding to different requirements for probing bandwidth:
  • TABLE 1
    P-state Probing Activity Threshold Hysteresis
    Pm ProbActM HystM
    Pn ProbActN HystN
    Pk ProbActK HystK
  • For the P-states, Pm>Pn>Pk. From the performance standpoint, PrbActM>PrbActN>PrbActK. The hysteresis values, HystM, HystN, and HystK may be identical, or may be different for each threshold. The hysteresis values may be configurable, along with the thresholds.
  • The processing node remains in P-state Pm as long as probing activity remains above (ProbeActivityM-HysteresisM). Once the probing activity drops below (ProbeActivityM-HysteresisM) and if the earlier performance state (before the increase in probe activity) is lower than Pm, the processing node transitions to a lower performance state. Note that the transition to a lower performance state does not happen if the current performance state of the processing node has been increased to Pm or higher by normal flow managed by software (or hardware) based on the processing node utilization factor.
  • FIGS. 3A and 3B illustrate the inter-state transitions for embodiments with more than one probe performance threshold, with each performance threshold corresponding to a different level of probing activity. The state transitions may be implemented in probe control logic 103 (FIG. 1). Once the probe activity exceeds one of the thresholds, the responding node is transitioned to the P-state corresponding to the level of probing activity. That helps to ensure that a responding node in idle state will reside in the minimal performance state (or even in the retention state) for all the time except for periods of increased probing activity where a higher performance state (P-state) is required. Referring to FIG. 3A, assume Pm (301)>Pn (303)>Pk (305)>Current P-state (307) from the frequency standpoint. Then, if an increase in probe activity occurs while in P-state 307 to a higher probe activity (Prob_Act) level, then the node may enter one of the P-states Pk, Pm, or Pn depending on the level of probe activity as described below. The following describes the transition-up of the processing node assuming the node is currently in a low power state 307.
  • If (Prob_Act > PrbActM), then P-state = Pm
    Else If (Prob_Act > PrbActN), then P-state = Pn
    Else If (Prob_Act > PrbActK), then P-state = Pk
  • In addition, in an embodiment, the node may transition up to a next higher-level P-state when in P-state Pn 303 or Pk 305 as shown in FIG. 3B. If the node detects increase probe activity while in P-state Pn 303, (Prob_Act>PrbActM), the node transitions via 306 to P-state Pm 301. If the node detects an increase in probe activity while in P-state Pk 305 (PrbActM>Prob_Act>PrbActN), the node transitions to P-state Pn 303 via transition 308. If the node detects an increase in probe activity while in P-state Pk 303 (Prob_Act>PrbActM), the node transitions to P-state Pm 301 via transition 310.
  • An additional aspect in an embodiment is to lower the P-state of the idle node to the minimal P-state if the probing activity is below the threshold. If software or hardware, responsible for utilization-based setting of the P-state of the processing node, has left it in sub-optimally high P-state (higher than MinPstateLimit), the probing P-state control function can lower the node P-state to Pmin (minimal operational P-state) or even to the retention power state so that the node can still respond to the non-bursty or lower level probing activity while saving power. The following describes the transitioning down shown in FIG. 3A based on decreased levels of probe activity (Prob_Act):
  • If (Prob_Act < (PrbActM-HystM) AND Prob_Act > PrbActN AND
    Current P-state <Pm), then P-state = Pn
    Else If (Prob_Act < (PrbActN-HystN) AND Prob_Act > PrbActK AND
    Current P-state <Pn),
    then P-state = Pk
    Else If (Prob_Act < PrbActK-HystK AND Current P-state <Pk), then
    P-state = Current P-state
  • Similarly, as shown in FIG. 3B, in an embodiment, the node may transition down from one P-state 303 or 305 to the appropriate P-state to reflect a decrease in probe activity. For example, while in P-state Pn 303, the node may transition to either P-state Pk 305 or the current P-state 307 depending upon probe activity. If the probe activity decreases such that (Prob_Act<PrbActN-HystN AND Prob_Act>PrbActK), the node transitions to P-state Pk 305. If the probe activity decreases while in P-state Pn 303, such that Prob_Act<PrbActK-HystK, then the node transitions to the current P-state 307. Similarly, if probe activity decreases while in P-state Pk 305, such that Prob_Act<PrbActK-HystK, then the node transitions to the P-state 307.
  • Thus, the control logic will transition the power state up or down based on the current probe activity level to try to match the current power state the probe activity needs. That can help avoid bottlenecks in the responding nodes while still striving to achieve power savings where available.
  • In another embodiment, the probing activity can trigger the flushing (write-back invalidate and disabling) of the node's caching system when the node is idle and its probing activity exceeds a threshold. That approach may be useful for multi-node systems or for nodes with relatively short cache flushing time. The decision to flush may be based on factors such as probing activity exceeding the threshold (meaning that power consumed by the responding node on the cache probing is getting higher than power associated with flushing the caching system) and node is predicted to remain idle for sufficient time. Approaches to predicting idleness include making predictions based on internal trackers and activity trackers typically in the North-Bridge (or more generally in those parts of the processor integrated circuit (the Uncore), that are not the processor cores, which typically includes such functionality as the memory controller and power management). Additionally, I/O subsystem activity predictions, e.g., interrupts, incoming or outgoing transfers, and timer-ticks, may also be utilized in the prediction of idleness and based in a separate integrated circuit (e.g., the South-Bridge). Additional details on approaches to predicting node idleness have been described, e.g., in NORTH-BRIDGE TO SOUTH-BRIDGE PROTOCOL FOR PLACING PROCESSOR IN LOW POWER STATE, naming Alexander Branover et al. as inventors, application Ser. No. 12/436,439, filed May 6, 2009, which application is incorporated herein by reference in its entirety.
  • FIG. 4 illustrates an exemplary flow diagram of an embodiment for cache flushing based on probe activity and node idleness prediction. In 401, if the processing node is in the idle state, then the processing node tracks probing activity in 402, and in 403, the node checks for probe activity being greater than the probe threshold. If it is, then in 405, the flow checks if the processing node idleness is predicted to be greater than an idle threshold. If so, then in 407 the processing node flushes its cache, disables its caching system, applies a retention voltage or other appropriate power savings voltage, and the system stops probing the node. If, however, the predicted duration of the node idleness is below the threshold, thus making cache flushing unattractive since it does not save power or save sufficient power, the P-state control algorithm (described above) may be applied in 409 and the node continues to track probing activity and adjust the P-state, if necessary, according to the level of probing activity.
  • One embodiment for tracking probe activity utilizes a queue structure referred to herein as an In-Flight Queue (IFQ) as shown in FIG. 5. The IFQ structure 500 is a multi-entry array that logically reflects the level of the probing activity. Any transaction (coherent or non-coherent) 501 is placed into an available entry of the IFQ and resides there until the eviction point. The transaction is de-allocated (evicted) from the IFQ at 503 after a response by the responding node. The response may be either the data phase (i.e. data movement from the processing node to shared memory or from shared memory to the processing node) for transactions involving data movement or after the response phase for transactions with no data movement (i.e. a request to invalidate cache entry in the local cache or memory of the processing node). The IFQ structure can be shared between processing nodes or be instantiated per processing node. The level of probing activity is represented by the number of active IFQ entries (entries which are populated with outstanding coherent requests pending completion).
  • In one embodiment, the node (or wherever the control functionality resides) compares the number of active IFQ entries with a single threshold 502. Note that the control functionality can reside internal or external to the node. If external to the node, it may still reside on the same die in the Uncore portion of the die as described above. If the number of entries exceeds the threshold, the transition to a higher P-state (MinPstateLimit) occurs. After the number of active IFQ entries drops to the level lower than the threshold minus hysteresis, the MinPstateLimit performance floor is cancelled and the processing node is transitioned back to the current P-state where the lower probing bandwidth can be addressed while running at lower power.
  • Other embodiments may utilize a multi-level IFQ-based approach shown in FIG. 6 wherein each level has an associated minimal performance level (P-state threshold) associated with a different probing bandwidth. For example, 16-entry IFQ structure 600, may have two thresholds 602 and 604 corresponding to P-states Pm and Pk, respectively, representing an increased need in probing bandwidth. The inter-state transition may be accomplished as shown in FIGS. 3A and 3B.
  • In other embodiments, different approaches to tracking probing activity may be used. For example, in systems having hidden, unavailable or a difficult-to-track completion phase for the probing requests, the tracking approach can be predicated on a probe-count mechanism with different increment and decrement rates. For example, referring to FIG. 7, counter 701 incremented (CNT=CNT+w_inc) every time a new probing request 703 dispatched to the processing node is identified. The count value is decremented (CNT=CNT−w_dec) every configurable time interval (IntervalTolerated) that matches the probing rate (bandwidth) associated with the specific P-state of the processing node. In an embodiment, the configurable time interval matches the maximum probing bandwidth associated with the specific P-state. Thus, it is assumed that the probing requests are serviced at a particular rate even if the actual response (data movement, response phase for transactions with no data movement) is not tracked.
  • Any new probing request causes counter to increment (CNT=CNT+w_inc) where w_inc is a configurable weight added to the current value of the counter. In some embodiments, the increment/decrement values may be configurable and their settings dependent on customer or higher-level software preference (performance biased, balanced or power biased). For a performance biased setting, w_inc (increment weight) is set to higher value and w_dec (decrement weight) is set to lower value. For a power savings biased setting, these parameters may be set in the opposite way. Also, the IntervalTolerated value may be configurable depending on performance/power preference of the customer or high-level software. The counter value represents the level of probing activity and is compared with ProbeActivity thresholds to figure out an optimal P-state. A higher counter value requires a higher operational P-state in order to match an increased probing bandwidth that the current P-state cannot satisfy.
  • A low pass filter (LPF) 705 may be used to filter out bursts of probing activity, not properly representing the workload uniformity and leading to the over-increments of the counter and choice of the performance state (P-state) that may be sub-optimal from the performance/watt standpoint. Depending on the particular embodiment, a configurable (from 1 to N) number of probe requests is tracked over configurable interval T. The low pass filter may be designed in different ways to avoid over-counting of the probing requests in case the frequency of their appearance exceeds some configurable limit over time-interval. For example, the low pass filter may be implemented to track no more than n (where 1≦n≦N) probing events over interval T. Thus, if the number of probing events >n, the counter only counts n. The low pass filter supplies the filtered probing requests to the counter.
  • Alternatively, the low pass filter 705 may be implemented to average the number of probing events over multiple intervals T so that if a particular interval T happens to have a high burst of activity, that high burst is limited by the average over multiple intervals. The average may be implemented, e.g., as a moving average. In one implementation, probe requests are not supplied to the counter at a higher rate than the moving average.
  • The implementation of the low pass filter may of course influence how the weight w_inc is determined. Thus, for example, if the average over a number of time intervals is utilized, the weight may be scaled to reflect the time interval. In other embodiments, the counter may be supplied directly with probing requests with no filtering.
  • Aspects of the embodiments herein may be partially implemented in software stored in volatile or non-volatile memory associated with the processor shown in FIG. 1. Software may be stored in non-volatile portions of a computer system, loaded into volatile memory and executed. Thus, embodiments of the present invention may include features or processes embodied within machine-executable instructions provided by a machine-readable medium such as nonvolatile memory. Such a medium may include any mechanism which stores data in a form accessible by a machine, such as a microprocessor or, more generally, a computer system. A machine readable medium may include volatile and/or non-volatile memory, such as read only memory (ROM); random access memory (RAM); magnetic disk storage media; optical storage media; flash memory devices; tape, or other magnetic, optical or electronic storage medium. Such stored instructions can be used to cause a general or special purpose processor, programmed with the instructions, to perform processes of the present invention.
  • Note that some of the processes of the present invention may include hardware operating in response to programmed instructions. Alternatively, processes of the present invention may be performed by specific hardware components containing hard-wired logic such as state machines to perform operations or by any combination of programmed data processing components and hardware components. Thus, embodiments of the present invention may include software, data processing hardware, data processing system-implemented methods, and various processing operations, as described herein.
  • Thus, various embodiments have been described. Note that the description of the invention set forth herein is illustrative, and is not intended to limit the scope of the invention as set forth in the following claims. Variations and modifications of the embodiments disclosed herein may be made based on the description set forth herein, without departing from the scope of the invention as set forth in the following claims.

Claims (20)

  1. 1. A method comprising:
    tracking probe activity level in a processing node; and
    comparing the probe activity level to a first threshold probe activity level.
  2. 2. The method as recited in claim 1 further comprising:
    increasing a performance state of the processing node to a first performance state higher than a current performance state if the probe activity level is above the first threshold probe activity level.
  3. 3. The method as recited in claim 2 further comprising after entering the first performance state in response to the probe activity level being above the threshold probe activity level, entering a second performance state lower than the first performance state when the probe activity level falls below a predetermined level below the first threshold probe activity.
  4. 4. The method as recited in claim 3 further comprising entering the second performance state when the probe activity level is less than the first threshold less a hysteresis factor.
  5. 5. The method as recited in claim 3 wherein the second performance state is a performance state from which the processing node entered the first performance state.
  6. 6. The method as recited in claim 3 wherein the first and second performance states are defined by at least one of voltage and frequency.
  7. 7. The method as recited in claim 2 further comprising increasing the performance state of the processing node to a third performance state in response to the probe activity level increasing above a second threshold probe activity level, the second threshold probe activity level being higher than the first threshold probe activity level, and wherein the third performance state is higher than the first performance state.
  8. 8. The method as recited in claim 7 further comprising after increasing the performance state of the processing node to the third performance state in response to the probe activity level increasing above the second threshold probe activity level, reducing the performance state.
  9. 9. The method as recited in claim 1 further comprising beginning the tracking of the probe activity level when the processing node is in a performance state lower than the first performance state.
  10. 10. The method as recited in claim 1 wherein tracking the probe activity further comprises entering each probe request into a queue and retiring a probe request from the queue after the processing node responds to the probe request with at least one of a data movement and a response.
  11. 11. The method as recited in claim 10 further comprising comparing a number of entries in the queue to the first threshold probe activity level to determine if the probe activity level is above the first threshold probe activity level.
  12. 12. The method as recited in claim 1 wherein tracking the probe activity further comprises incrementing a count value indicative of a level of probe activity in response to occurrence of probe activity and decrementing the count value based on passage of a predetermined amount of time.
  13. 13. An apparatus comprising:
    a probe tracker to track probe activity level in a processing node;
    wherein the apparatus is responsive to increase a performance state of the processing node from a current performance state to a first performance state if the probe activity level increases above a first threshold probe activity level.
  14. 14. The apparatus as recited in claim 13 wherein the apparatus is responsive to the probe activity level falling a predetermined level below the first threshold probe activity level to cause the processing node to enter a second performance state lower than the first performance state.
  15. 15. The apparatus as recited in claim 14 wherein the first and second performance states are defined by at least one of voltage and frequency.
  16. 16. The apparatus as recited in claim 13 wherein the apparatus is further operable to increase the performance state of the processing node to a third performance state in response to the probe activity level increasing above a second threshold probe activity level, the second threshold probe activity level being higher than the first threshold probe activity level, and wherein the third performance state is higher than the first performance state.
  17. 17. The apparatus as recited in claim 13 wherein the probe tracker is responsive to the node being in a performance state below the first performance state to begin the tracking of the probe activity level.
  18. 18. The apparatus as recited in claim 13 wherein the probe tracker further comprises a queue into which probe request is entered and from which a probe request in the queue is retired after the processing node responds to the probe request with at least one of a data movement and a response.
  19. 19. The apparatus recited in 18 further wherein the apparatus is operable to compare a number of entries in the queue to the first threshold probe activity level to determine if the probe activity level is above a first threshold probe activity level.
  20. 20. The apparatus as recited in claim 13 wherein the probe tracker comprises a counter responsive to probe activity to increment a count value indicative of a level of probe activity and responsive to a passage of a predetermined period of time to decrement the count value.
US12623997 2009-11-06 2009-11-23 Controlling performance/power by frequency control of the responding node Abandoned US20110112798A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US25879809 true 2009-11-06 2009-11-06
US12623997 US20110112798A1 (en) 2009-11-06 2009-11-23 Controlling performance/power by frequency control of the responding node

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US12623997 US20110112798A1 (en) 2009-11-06 2009-11-23 Controlling performance/power by frequency control of the responding node
US12702085 US9021209B2 (en) 2009-11-06 2010-02-08 Cache flush based on idle prediction and probe activity level
JP2012538025A JP2013510376A (en) 2009-11-06 2010-11-05 Control of performance state by tracking probe activity level
PCT/US2010/055598 WO2011057059A1 (en) 2009-11-06 2010-11-05 Controlling performance state by tracking probe activity level
KR20127011940A KR20120102629A (en) 2009-11-06 2010-11-05 Controlling performance state by tracking probe activity level
EP20100784608 EP2497001A1 (en) 2009-11-06 2010-11-05 Controlling performance state by tracking probe activity level
CN 201080048873 CN102667665A (en) 2009-11-06 2010-11-05 Controlling performance state by tracking probe activity level

Publications (1)

Publication Number Publication Date
US20110112798A1 true true US20110112798A1 (en) 2011-05-12

Family

ID=43536579

Family Applications (2)

Application Number Title Priority Date Filing Date
US12623997 Abandoned US20110112798A1 (en) 2009-11-06 2009-11-23 Controlling performance/power by frequency control of the responding node
US12702085 Active 2031-06-07 US9021209B2 (en) 2009-11-06 2010-02-08 Cache flush based on idle prediction and probe activity level

Family Applications After (1)

Application Number Title Priority Date Filing Date
US12702085 Active 2031-06-07 US9021209B2 (en) 2009-11-06 2010-02-08 Cache flush based on idle prediction and probe activity level

Country Status (6)

Country Link
US (2) US20110112798A1 (en)
EP (1) EP2497001A1 (en)
JP (1) JP2013510376A (en)
KR (1) KR20120102629A (en)
CN (1) CN102667665A (en)
WO (1) WO2011057059A1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100287394A1 (en) * 2009-05-06 2010-11-11 Alexander Branover North-bridge to south-bridge protocol for placing processor in low power state
US20110113202A1 (en) * 2009-11-06 2011-05-12 Alexander Branover Cache flush based on idle prediction and probe activity level
US20120102344A1 (en) * 2010-10-21 2012-04-26 Andrej Kocev Function based dynamic power control
US9043631B2 (en) 2011-09-22 2015-05-26 Kabushiki Kaisha Toshiba Power supply control system, method, and computer program product
US20150370304A1 (en) * 2014-06-24 2015-12-24 Hisham Abu Salah Enhancing power-performance efficiency in a computer system

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8930589B2 (en) * 2010-08-26 2015-01-06 International Business Machines Corporation System, method and computer program product for monitoring memory access
US8635381B2 (en) * 2010-08-26 2014-01-21 International Business Machines Corporation System, method and computer program product for monitoring memory access
US20120166731A1 (en) * 2010-12-22 2012-06-28 Christian Maciocco Computing platform power management with adaptive cache flush
US9110671B2 (en) * 2012-12-21 2015-08-18 Advanced Micro Devices, Inc. Idle phase exit prediction
US20160116954A1 (en) * 2014-10-28 2016-04-28 Linkedln Corporation Dynamic adjustment of cpu operating frequency
US20170337102A1 (en) * 2014-12-19 2017-11-23 Hewlett Packard Enterprise Development Lp Flushing data content in response to a power loss event to a processor
US9785223B2 (en) * 2014-12-25 2017-10-10 Intel Corporation Power management in an uncore fabric
US9690708B2 (en) 2015-05-19 2017-06-27 Qualcomm Incorporated Real-time cache behavior forecast using hypothetical cache
CN105068639B (en) * 2015-07-29 2018-06-19 Tcl移动通信科技(宁波)有限公司 Type of dynamic frequency control method and system processor
US20170371399A1 (en) * 2016-06-23 2017-12-28 Eliezer Weissmann Controlling Forced Idle State Operation In A Processor
US20170371795A1 (en) * 2016-06-27 2017-12-28 Intel Corporation Multi-Level System Memory With Near Memory Scrubbing Based On Predicted Far Memory Idle Time

Citations (78)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5530932A (en) * 1994-12-23 1996-06-25 Intel Corporation Cache coherent multiprocessing computer system with reduced power operating features
US5541850A (en) * 1994-05-17 1996-07-30 Vlsi Technology, Inc. Method and apparatus for forming an integrated circuit including a memory structure
US5628020A (en) * 1993-12-01 1997-05-06 Advanced Micro Devices System oscillator gating technique for power management within a computer system
US5737615A (en) * 1995-04-12 1998-04-07 Intel Corporation Microprocessor power control in a multiprocessor computer system
US5740417A (en) * 1995-12-05 1998-04-14 Motorola, Inc. Pipelined processor operating in different power mode based on branch prediction state of branch history bit encoded as taken weakly not taken and strongly not taken states
US5813022A (en) * 1994-10-14 1998-09-22 Compaq Computer Corporation Circuit for placing a cache memory into low power mode in response to special bus cycles executed on the bus
US5884088A (en) * 1995-12-29 1999-03-16 Intel Corporation System, apparatus and method for managing power in a computer system
US6125450A (en) * 1996-12-19 2000-09-26 Intel Corporation Stop clock throttling in a computer processor through disabling bus masters
US6141283A (en) * 1999-04-01 2000-10-31 Intel Corporation Method and apparatus for dynamically placing portions of a memory in a reduced power consumption state
US6282662B1 (en) * 1995-08-04 2001-08-28 Dell Usa, L.P. Power management override for portable computers
US6360337B1 (en) * 1999-01-27 2002-03-19 Sun Microsystems, Inc. System and method to perform histogrammic counting for performance evaluation
US20020103976A1 (en) * 2001-01-26 2002-08-01 Steely Simon C. Adaptive dirty-block purging
US6480965B1 (en) * 1999-10-07 2002-11-12 Intel Corporation Power management method for a computer system having a hub interface architecture
US6496895B1 (en) * 1999-11-01 2002-12-17 Intel Corporation Method and apparatus for intializing a hub interface
US6510525B1 (en) * 1999-04-26 2003-01-21 Mediaq, Inc. Method and apparatus to power up an integrated device from a low power state
US6553501B1 (en) * 1998-11-27 2003-04-22 International Business Machines Corporation Predictive power saving method and apparatus for a device based on computed amount of power saving and time at which the device should transition from first state to second state
US20030204760A1 (en) * 2002-04-29 2003-10-30 Youngs Lynn R. Conserving power by reducing voltage supplied to an instruction-processing portion of a processor
US20030229821A1 (en) * 2002-05-15 2003-12-11 Kenneth Ma Method and apparatus for adaptive power management of memory
US6711691B1 (en) * 1999-05-13 2004-03-23 Apple Computer, Inc. Power management for computer systems
US6760852B1 (en) * 2000-08-31 2004-07-06 Advanced Micro Devices, Inc. System and method for monitoring and controlling a power-manageable resource based upon activities of a plurality of devices
US20050028015A1 (en) * 2003-07-31 2005-02-03 International Business Machines Corporation Method and apparatus for managing the power consumption of a data processing system
US20050039063A1 (en) * 2003-08-14 2005-02-17 Ming-Wei Hsu Computer system with power management and method thereof
US20050144487A1 (en) * 2003-12-30 2005-06-30 Puffer David M. Optimizing exit latency from an active power management state
US6954864B2 (en) * 2002-03-29 2005-10-11 Intel Corporation Method and apparatus for remotely placing a computing device into a low power state
US20050273633A1 (en) * 2004-06-02 2005-12-08 Intel Corporation Hardware coordination of power management activities
US20050273635A1 (en) * 2004-06-02 2005-12-08 Wilcox Jeffrey R Power state coordination between devices sharing power-managed resources
US6976181B2 (en) * 2001-12-20 2005-12-13 Intel Corporation Method and apparatus for enabling a low power mode for a processor
US20050289369A1 (en) * 2004-06-25 2005-12-29 Chien-Ping Chung System and method of real-time power management
US6988214B1 (en) * 2000-11-06 2006-01-17 Dell Products L.P. Processor power state transistions using separate logic control
US20060031692A1 (en) * 2004-08-05 2006-02-09 Kazuomi Kato Power-saving processing unit, power-saving processing method and program record medium
US20060047987A1 (en) * 2004-08-31 2006-03-02 Rajeev Prabhakaran Dynamic clock frequency adjustment based on processor load
US20060053326A1 (en) * 2004-09-03 2006-03-09 Intel Corporation Coordinating idle state transitions in multi-core processors
US7051218B1 (en) * 2001-07-18 2006-05-23 Advanced Micro Devices, Inc. Message based power management
US20060143409A1 (en) * 2004-12-29 2006-06-29 Merrell Quinn W Method and apparatus for providing a low power mode for a processor while maintaining snoop throughput
US20060174142A1 (en) * 2005-02-01 2006-08-03 Via Technologies Inc. Power management method of north bridge
US7152169B2 (en) * 2002-11-29 2006-12-19 Intel Corporation Method for providing power management on multi-threaded processor by using SMM mode to place a physical processor into lower power state
US20060294406A1 (en) * 2005-06-23 2006-12-28 Intel Corporation Reducing storage data transfer interference with processor power management
US7162404B2 (en) * 2003-04-28 2007-01-09 International Business Machines Corporation Method, system and program product for configuring a simulation model of a digital design
US7159766B2 (en) * 2004-01-20 2007-01-09 Standard Microsystems Corporation Peripheral device feature allowing processors to enter a low power state
US20070011480A1 (en) * 2005-06-29 2007-01-11 Rajesh Banginwar Processor power management
US7174467B1 (en) * 2001-07-18 2007-02-06 Advanced Micro Devices, Inc. Message based power management in a multi-processor system
US7200762B2 (en) * 2003-09-30 2007-04-03 Intel Corporation Providing a low-power state processor voltage in accordance with a detected processor type
US7200544B1 (en) * 2001-10-26 2007-04-03 National Semiconductor Corporation Systems for selectively disabling timing violations in hardware description language models of integrated circuits and methods of operating the same
US20070115290A1 (en) * 2005-11-23 2007-05-24 Advanced Micro Devices, Inc. Integrating display controller into low power processor
US7231534B2 (en) * 2003-01-10 2007-06-12 Broadcom Corporation Method and apparatus for improving bus master performance
US20070143640A1 (en) * 2005-12-16 2007-06-21 Simeral Brad W Data path controller with integrated power management to manage power consumption of a computing device and its components
US20070157042A1 (en) * 2005-12-30 2007-07-05 Intel Corporation Method, apparatus and system to dynamically choose an optimum power state
US7299370B2 (en) * 2003-06-10 2007-11-20 Intel Corporation Method and apparatus for improved reliability and reduced power in a processor by automatic voltage control during processor idle states
US20080005596A1 (en) * 2006-06-29 2008-01-03 Krishnakanth Sistla Method and apparatus for dynamically controlling power management in a distributed system
US20080028240A1 (en) * 2006-07-31 2008-01-31 Susumu Arai System and method for controlling processor low power states
US20080077813A1 (en) * 2006-09-22 2008-03-27 P.A. Semi, Inc. Fast L1 flush mechanism
US20080082769A1 (en) * 2006-10-03 2008-04-03 Bull S.A.S. Mass storage system and method
US20080141265A1 (en) * 2004-12-08 2008-06-12 Electronics And Telecommunications Research Instit Power Management Method for Platform and that Platform
US20080235364A1 (en) * 2006-03-07 2008-09-25 Eugene Gorbatov Method and apparatus for using dynamic workload characteristics to control CPU frequency and voltage scaling
US7444526B2 (en) * 2005-06-16 2008-10-28 International Business Machines Corporation Performance conserving method for reducing power consumption in a server system
US7454632B2 (en) * 2005-06-16 2008-11-18 Intel Corporation Reducing computing system power through idle synchronization
US7469349B2 (en) * 2005-03-15 2008-12-23 Nvidia Corporation Computer system and method of signal transmission via a PCI-Express bus
US7472299B2 (en) * 2005-09-30 2008-12-30 Intel Corporation Low power arbiters in interconnection routers
US7475263B2 (en) * 2005-09-06 2009-01-06 Via Technologies Inc. Method for power management of central processor unit
US20090150696A1 (en) * 2007-12-10 2009-06-11 Justin Song Transitioning a processor package to a low power state
US20090164814A1 (en) * 2007-12-19 2009-06-25 Arm Limited Hardware driven processor state storage prior to entering a low power mode
US20090235105A1 (en) * 2008-03-11 2009-09-17 Alexander Branover Hardware Monitoring and Decision Making for Transitioning In and Out of Low-Power State
US20090259862A1 (en) * 2008-04-10 2009-10-15 Nvidia Corporation Clock-gated series-coupled data processing modules
US7613934B2 (en) * 2004-04-13 2009-11-03 Acer Incorporated Method and apparatus for monitoring the power state of computer system
US20100058000A1 (en) * 2008-08-29 2010-03-04 Moyer William C Snoop request arbitration in a data processing system
US20100162014A1 (en) * 2008-12-24 2010-06-24 Mazhar Memon Low power polling techniques
US20100185821A1 (en) * 2009-01-21 2010-07-22 Arm Limited Local cache power control within a multiprocessor system
US20100185820A1 (en) * 2009-01-21 2010-07-22 Advanced Micro Devices, Inc. Processor power management and method
US7788516B2 (en) * 2005-08-25 2010-08-31 Apple Inc. Methods and apparatuses for dynamic power control
US20110022857A1 (en) * 2009-07-24 2011-01-27 Sebastien Nussbaum Throttling computational units according to performance sensitivity
US20110113202A1 (en) * 2009-11-06 2011-05-12 Alexander Branover Cache flush based on idle prediction and probe activity level
US7949887B2 (en) * 2006-11-01 2011-05-24 Intel Corporation Independent power control of processing cores
US7966506B2 (en) * 2007-12-12 2011-06-21 Intel Corporation Saving power in a computer system
US20110148887A1 (en) * 2009-12-22 2011-06-23 Lai Kuan Chong Graphics render clock throttling and gating mechanism for power saving
US20110264934A1 (en) * 2010-04-26 2011-10-27 Alexander Branover Method and apparatus for memory power management
US20110296222A1 (en) * 2010-06-01 2011-12-01 Tan Sin S Dynamic and idle power reduction sequence using recombinant clock and power gating
US8112651B2 (en) * 2008-09-25 2012-02-07 Intel Corporation Conserving power in a computer system
US8190939B2 (en) * 2009-06-26 2012-05-29 Microsoft Corporation Reducing power consumption of computing devices by forecasting computing performance needs

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10268963A (en) * 1997-03-28 1998-10-09 Mitsubishi Electric Corp Information processor
JP3570382B2 (en) * 2001-01-26 2004-09-29 日本電気株式会社 Power-saving graphics control circuit
KR20050120565A (en) 2004-06-17 2005-12-22 인텔 코오퍼레이션 Power state coordination between devices sharing power-managed resources
CN101479686A (en) 2006-06-27 2009-07-08 皇家飞利浦电子股份有限公司 A device and a method for managing power consumption of a plurality of data processing units
US7941683B2 (en) * 2007-05-02 2011-05-10 Advanced Micro Devices, Inc. Data processing device with low-power cache access mode
EP2157507B1 (en) * 2007-06-12 2013-05-01 Panasonic Corporation Multiprocessor control device, multiprocessor control method, and multiprocessor control circuit
US8566628B2 (en) * 2009-05-06 2013-10-22 Advanced Micro Devices, Inc. North-bridge to south-bridge protocol for placing processor in low power state
US8291249B2 (en) * 2009-09-25 2012-10-16 Advanced Micro Devices, Inc. Method and apparatus for transitioning devices between power states based on activity request frequency
US8352685B2 (en) * 2010-08-20 2013-01-08 Apple Inc. Combining write buffer with dynamically adjustable flush metrics

Patent Citations (89)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5628020A (en) * 1993-12-01 1997-05-06 Advanced Micro Devices System oscillator gating technique for power management within a computer system
US5541850A (en) * 1994-05-17 1996-07-30 Vlsi Technology, Inc. Method and apparatus for forming an integrated circuit including a memory structure
US5813022A (en) * 1994-10-14 1998-09-22 Compaq Computer Corporation Circuit for placing a cache memory into low power mode in response to special bus cycles executed on the bus
US5530932A (en) * 1994-12-23 1996-06-25 Intel Corporation Cache coherent multiprocessing computer system with reduced power operating features
US5737615A (en) * 1995-04-12 1998-04-07 Intel Corporation Microprocessor power control in a multiprocessor computer system
US6282662B1 (en) * 1995-08-04 2001-08-28 Dell Usa, L.P. Power management override for portable computers
US5740417A (en) * 1995-12-05 1998-04-14 Motorola, Inc. Pipelined processor operating in different power mode based on branch prediction state of branch history bit encoded as taken weakly not taken and strongly not taken states
US5884088A (en) * 1995-12-29 1999-03-16 Intel Corporation System, apparatus and method for managing power in a computer system
US6125450A (en) * 1996-12-19 2000-09-26 Intel Corporation Stop clock throttling in a computer processor through disabling bus masters
US6553501B1 (en) * 1998-11-27 2003-04-22 International Business Machines Corporation Predictive power saving method and apparatus for a device based on computed amount of power saving and time at which the device should transition from first state to second state
US6360337B1 (en) * 1999-01-27 2002-03-19 Sun Microsystems, Inc. System and method to perform histogrammic counting for performance evaluation
US6141283A (en) * 1999-04-01 2000-10-31 Intel Corporation Method and apparatus for dynamically placing portions of a memory in a reduced power consumption state
US6510525B1 (en) * 1999-04-26 2003-01-21 Mediaq, Inc. Method and apparatus to power up an integrated device from a low power state
US6711691B1 (en) * 1999-05-13 2004-03-23 Apple Computer, Inc. Power management for computer systems
US6480965B1 (en) * 1999-10-07 2002-11-12 Intel Corporation Power management method for a computer system having a hub interface architecture
US6496895B1 (en) * 1999-11-01 2002-12-17 Intel Corporation Method and apparatus for intializing a hub interface
US6760852B1 (en) * 2000-08-31 2004-07-06 Advanced Micro Devices, Inc. System and method for monitoring and controlling a power-manageable resource based upon activities of a plurality of devices
US6988214B1 (en) * 2000-11-06 2006-01-17 Dell Products L.P. Processor power state transistions using separate logic control
US20020103976A1 (en) * 2001-01-26 2002-08-01 Steely Simon C. Adaptive dirty-block purging
US7146510B1 (en) * 2001-07-18 2006-12-05 Advanced Micro Devices, Inc. Use of a signal line to adjust width and/or frequency of a communication link during system operation
US7051218B1 (en) * 2001-07-18 2006-05-23 Advanced Micro Devices, Inc. Message based power management
US7174467B1 (en) * 2001-07-18 2007-02-06 Advanced Micro Devices, Inc. Message based power management in a multi-processor system
US7200544B1 (en) * 2001-10-26 2007-04-03 National Semiconductor Corporation Systems for selectively disabling timing violations in hardware description language models of integrated circuits and methods of operating the same
US6976181B2 (en) * 2001-12-20 2005-12-13 Intel Corporation Method and apparatus for enabling a low power mode for a processor
US6954864B2 (en) * 2002-03-29 2005-10-11 Intel Corporation Method and apparatus for remotely placing a computing device into a low power state
US20030204760A1 (en) * 2002-04-29 2003-10-30 Youngs Lynn R. Conserving power by reducing voltage supplied to an instruction-processing portion of a processor
US7028200B2 (en) * 2002-05-15 2006-04-11 Broadcom Corporation Method and apparatus for adaptive power management of memory subsystem
US20030229821A1 (en) * 2002-05-15 2003-12-11 Kenneth Ma Method and apparatus for adaptive power management of memory
US7152169B2 (en) * 2002-11-29 2006-12-19 Intel Corporation Method for providing power management on multi-threaded processor by using SMM mode to place a physical processor into lower power state
US7523324B2 (en) * 2003-01-10 2009-04-21 Broadcom Corporation Method and apparatus for improving bus master performance
US7231534B2 (en) * 2003-01-10 2007-06-12 Broadcom Corporation Method and apparatus for improving bus master performance
US7162404B2 (en) * 2003-04-28 2007-01-09 International Business Machines Corporation Method, system and program product for configuring a simulation model of a digital design
US7299370B2 (en) * 2003-06-10 2007-11-20 Intel Corporation Method and apparatus for improved reliability and reduced power in a processor by automatic voltage control during processor idle states
US20050028015A1 (en) * 2003-07-31 2005-02-03 International Business Machines Corporation Method and apparatus for managing the power consumption of a data processing system
US20050039063A1 (en) * 2003-08-14 2005-02-17 Ming-Wei Hsu Computer system with power management and method thereof
US7200762B2 (en) * 2003-09-30 2007-04-03 Intel Corporation Providing a low-power state processor voltage in accordance with a detected processor type
US20050144487A1 (en) * 2003-12-30 2005-06-30 Puffer David M. Optimizing exit latency from an active power management state
US7159766B2 (en) * 2004-01-20 2007-01-09 Standard Microsystems Corporation Peripheral device feature allowing processors to enter a low power state
US7613934B2 (en) * 2004-04-13 2009-11-03 Acer Incorporated Method and apparatus for monitoring the power state of computer system
US20050273633A1 (en) * 2004-06-02 2005-12-08 Intel Corporation Hardware coordination of power management activities
US20050273635A1 (en) * 2004-06-02 2005-12-08 Wilcox Jeffrey R Power state coordination between devices sharing power-managed resources
US7315952B2 (en) * 2004-06-02 2008-01-01 Intel Corporation Power state coordination between devices sharing power-managed resources
US20050289369A1 (en) * 2004-06-25 2005-12-29 Chien-Ping Chung System and method of real-time power management
US20060031692A1 (en) * 2004-08-05 2006-02-09 Kazuomi Kato Power-saving processing unit, power-saving processing method and program record medium
US20060047987A1 (en) * 2004-08-31 2006-03-02 Rajeev Prabhakaran Dynamic clock frequency adjustment based on processor load
US20060053326A1 (en) * 2004-09-03 2006-03-09 Intel Corporation Coordinating idle state transitions in multi-core processors
US20080141265A1 (en) * 2004-12-08 2008-06-12 Electronics And Telecommunications Research Instit Power Management Method for Platform and that Platform
US20060143409A1 (en) * 2004-12-29 2006-06-29 Merrell Quinn W Method and apparatus for providing a low power mode for a processor while maintaining snoop throughput
US20060174151A1 (en) * 2005-02-01 2006-08-03 Via Technologies Inc. Traffic analyzer and power state management thereof
US7624286B2 (en) * 2005-02-01 2009-11-24 Via Technologies, Inc. Power management method of north bridge
US20060174142A1 (en) * 2005-02-01 2006-08-03 Via Technologies Inc. Power management method of north bridge
US7469349B2 (en) * 2005-03-15 2008-12-23 Nvidia Corporation Computer system and method of signal transmission via a PCI-Express bus
US7454632B2 (en) * 2005-06-16 2008-11-18 Intel Corporation Reducing computing system power through idle synchronization
US20080301475A1 (en) * 2005-06-16 2008-12-04 International Business Machines Corporation Performance conserving method for reducing power consumption in a server system
US8140868B2 (en) * 2005-06-16 2012-03-20 International Business Machines Corporation Performance conserving power consumption reduction in a server system
US7444526B2 (en) * 2005-06-16 2008-10-28 International Business Machines Corporation Performance conserving method for reducing power consumption in a server system
US20060294406A1 (en) * 2005-06-23 2006-12-28 Intel Corporation Reducing storage data transfer interference with processor power management
US20070011480A1 (en) * 2005-06-29 2007-01-11 Rajesh Banginwar Processor power management
US7788516B2 (en) * 2005-08-25 2010-08-31 Apple Inc. Methods and apparatuses for dynamic power control
US7475263B2 (en) * 2005-09-06 2009-01-06 Via Technologies Inc. Method for power management of central processor unit
US7472299B2 (en) * 2005-09-30 2008-12-30 Intel Corporation Low power arbiters in interconnection routers
US7750912B2 (en) * 2005-11-23 2010-07-06 Advanced Micro Devices, Inc. Integrating display controller into low power processor
US20070115290A1 (en) * 2005-11-23 2007-05-24 Advanced Micro Devices, Inc. Integrating display controller into low power processor
US20070143640A1 (en) * 2005-12-16 2007-06-21 Simeral Brad W Data path controller with integrated power management to manage power consumption of a computing device and its components
US20070157042A1 (en) * 2005-12-30 2007-07-05 Intel Corporation Method, apparatus and system to dynamically choose an optimum power state
US20080235364A1 (en) * 2006-03-07 2008-09-25 Eugene Gorbatov Method and apparatus for using dynamic workload characteristics to control CPU frequency and voltage scaling
US20080005596A1 (en) * 2006-06-29 2008-01-03 Krishnakanth Sistla Method and apparatus for dynamically controlling power management in a distributed system
US7644293B2 (en) * 2006-06-29 2010-01-05 Intel Corporation Method and apparatus for dynamically controlling power management in a distributed system
US20080028240A1 (en) * 2006-07-31 2008-01-31 Susumu Arai System and method for controlling processor low power states
US20080077813A1 (en) * 2006-09-22 2008-03-27 P.A. Semi, Inc. Fast L1 flush mechanism
US20080082769A1 (en) * 2006-10-03 2008-04-03 Bull S.A.S. Mass storage system and method
US7949887B2 (en) * 2006-11-01 2011-05-24 Intel Corporation Independent power control of processing cores
US20090150696A1 (en) * 2007-12-10 2009-06-11 Justin Song Transitioning a processor package to a low power state
US7966506B2 (en) * 2007-12-12 2011-06-21 Intel Corporation Saving power in a computer system
US20090164814A1 (en) * 2007-12-19 2009-06-25 Arm Limited Hardware driven processor state storage prior to entering a low power mode
US20090235105A1 (en) * 2008-03-11 2009-09-17 Alexander Branover Hardware Monitoring and Decision Making for Transitioning In and Out of Low-Power State
US20090259862A1 (en) * 2008-04-10 2009-10-15 Nvidia Corporation Clock-gated series-coupled data processing modules
US20100058000A1 (en) * 2008-08-29 2010-03-04 Moyer William C Snoop request arbitration in a data processing system
US8112651B2 (en) * 2008-09-25 2012-02-07 Intel Corporation Conserving power in a computer system
US8209559B2 (en) * 2008-12-24 2012-06-26 Intel Corporation Low power polling techniques
US20100162014A1 (en) * 2008-12-24 2010-06-24 Mazhar Memon Low power polling techniques
US20100185821A1 (en) * 2009-01-21 2010-07-22 Arm Limited Local cache power control within a multiprocessor system
US20100185820A1 (en) * 2009-01-21 2010-07-22 Advanced Micro Devices, Inc. Processor power management and method
US8190939B2 (en) * 2009-06-26 2012-05-29 Microsoft Corporation Reducing power consumption of computing devices by forecasting computing performance needs
US20110022857A1 (en) * 2009-07-24 2011-01-27 Sebastien Nussbaum Throttling computational units according to performance sensitivity
US20110113202A1 (en) * 2009-11-06 2011-05-12 Alexander Branover Cache flush based on idle prediction and probe activity level
US20110148887A1 (en) * 2009-12-22 2011-06-23 Lai Kuan Chong Graphics render clock throttling and gating mechanism for power saving
US20110264934A1 (en) * 2010-04-26 2011-10-27 Alexander Branover Method and apparatus for memory power management
US20110296222A1 (en) * 2010-06-01 2011-12-01 Tan Sin S Dynamic and idle power reduction sequence using recombinant clock and power gating

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100287394A1 (en) * 2009-05-06 2010-11-11 Alexander Branover North-bridge to south-bridge protocol for placing processor in low power state
US8566628B2 (en) * 2009-05-06 2013-10-22 Advanced Micro Devices, Inc. North-bridge to south-bridge protocol for placing processor in low power state
US20110113202A1 (en) * 2009-11-06 2011-05-12 Alexander Branover Cache flush based on idle prediction and probe activity level
US9021209B2 (en) 2009-11-06 2015-04-28 Advanced Micro Devices, Inc. Cache flush based on idle prediction and probe activity level
US20120102344A1 (en) * 2010-10-21 2012-04-26 Andrej Kocev Function based dynamic power control
US8438416B2 (en) * 2010-10-21 2013-05-07 Advanced Micro Devices, Inc. Function based dynamic power control
US9043631B2 (en) 2011-09-22 2015-05-26 Kabushiki Kaisha Toshiba Power supply control system, method, and computer program product
US9400753B2 (en) 2011-09-22 2016-07-26 Kabushiki Kaisha Toshiba Control system, control method, and computer program product
US20150370304A1 (en) * 2014-06-24 2015-12-24 Hisham Abu Salah Enhancing power-performance efficiency in a computer system
US9600058B2 (en) * 2014-06-24 2017-03-21 Intel Corporation Enhancing power-performance efficiency in a computer system when bursts of activity occurs when operating in low power

Also Published As

Publication number Publication date Type
WO2011057059A1 (en) 2011-05-12 application
US9021209B2 (en) 2015-04-28 grant
EP2497001A1 (en) 2012-09-12 application
US20110113202A1 (en) 2011-05-12 application
CN102667665A (en) 2012-09-12 application
KR20120102629A (en) 2012-09-18 application
JP2013510376A (en) 2013-03-21 application

Similar Documents

Publication Publication Date Title
Zhou et al. Adaptive mode control: A static-power-efficient cache design
US7174194B2 (en) Temperature field controlled scheduling for processing systems
US5586332A (en) Power management for low power processors through the use of auto clock-throttling
US7337333B2 (en) System and method for strategic power supply sequencing in a computer system with multiple processing resources and multiple power supplies
US7127560B2 (en) Method of dynamically controlling cache size
US7210048B2 (en) Enterprise power and thermal management
US20040123043A1 (en) High performance memory device-state aware chipset prefetcher
Zhu et al. Reducing energy consumption of disk storage using power-aware cache management
US20080005592A1 (en) Method, apparatus, and system for increasing single core performance in a multi-core microprocessor
Srinath et al. Feedback directed prefetching: Improving the performance and bandwidth-efficiency of hardware prefetchers
US7337334B2 (en) Network processor power management
US7386739B2 (en) Scheduling processor voltages and frequencies based on performance prediction and power constraints
US6820209B1 (en) Power managed graphics controller
US20110072204A1 (en) Memory server
US20080250415A1 (en) Priority based throttling for power/performance Quality of Service
US20080077813A1 (en) Fast L1 flush mechanism
US6889330B2 (en) Dynamic hardware configuration for energy management systems using task attributes
US6901521B2 (en) Dynamic hardware control for energy management systems using task attributes
US20080059707A1 (en) Selective storage of data in levels of a cache memory
US7437513B2 (en) Cache memory with the number of operated ways being changed according to access pattern
US5239652A (en) Arrangement for reducing computer power consumption by turning off the microprocessor when inactive
US20090204830A1 (en) Power management with dynamic frequency dajustments
US20130151879A1 (en) System and method for controlling central processing unit power with guaranteed transient deadlines
US20060136671A1 (en) Software controlled dynamic push cache
US7444526B2 (en) Performance conserving method for reducing power consumption in a server system

Legal Events

Date Code Title Description
AS Assignment

Owner name: ADVANCED MICRO DEVICES, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:BRANOVER, ALEXANDER;STEINMAN, MAURICE B.;HAUKE, JONATHAND.;AND OTHERS;SIGNING DATES FROM 20091123 TO 20091130;REEL/FRAME:023579/0569