US2007226741A1PendingUtilityA1

Power management based on dynamic frequency scaling in computing systems

Individually held — no corporate assignee on recordPriority: Mar 22, 2006Filed: Mar 22, 2006Published: Sep 27, 2007
Est. expiryMar 22, 2026(expired)· nominal 20-yr term from priority
Y02D10/00G06F 1/3203G06F 1/324
42
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A novel technique for power management in computing systems and applications that significantly reduces power consumption. In one example embodiment, this is accomplished by forming a graph data structure including statistical information associated with wait state and execution paths on initiating the execution of an application program. An operating clock frequency is then computed to reach a current destination wait state as a function of the associated wait state and execution path information obtained from the formed graph data structure. The computing system is then operated at the computed operating clock frequency to reach the current destination wait state to reduce power consumption.

Claims

exact text as granted — not AI-modified
1 . A method for dynamically managing power consumption in a computing system comprising: 
 forming a graph data structure including statistical information associated with wait states and execution paths upon executing an application program;    computing an operating clock frequency to reach a current destination wait state as a function of an associated wait state and execution path obtained from the formed graph data structure; and    operating the computing system at the computed operating clock frequency to reach the current destination wait state.    
   
   
       2 . The method of  claim 1 , wherein the statistical information associated with the wait states and execution paths comprises data selected from the group consisting of wait times and execution times.  
   
   
       3 . The method of  claim 2 , wherein data associated with the wait states and execution paths is selected from the group consisting of loops, branches, and repetitions in execution paths.  
   
   
       4 . The method of  claim 2 , wherein forming the graph data structure comprises: 
 choosing the current destination wait state for a program execution upon leaving a current wait state;    choosing an execution path to reach the chosen current destination wait state;    computing the wait time and the execution time based on the chosen destination wait state and the execution path;    updating the formed graph data structure using an actual wait time and the execution time associated with the chosen current destination wait state and the execution path upon reaching the destination wait state; and    repeating the above steps of choosing the destination wait state, choosing the execution path and computing for subsequent wait states.    
   
   
       5 . The method of  claim 4 , wherein the graph data structure comprises: 
 vertices, wherein the vertices are represented by wait states, and wherein the wait states are indexed using associated unique ids; and    vertex, wherein the vertex includes associated wait times.    
   
   
       6 . The method of  claim 1 , further comprising: 
 repeating the steps of forming, computing and operating for a next destination wait state.    
   
   
       7 . The method of  claim 1 , further comprising: 
 initializing the graph data structure upon starting the execution of the application program.    
   
   
       8 . An article comprising: 
 a storage medium having instructions that, when executed by a computing platform, result in execution of a method comprising: 
 forming a graph data structure including statistical information associated with wait states and execution paths upon executing an application program;  
 computing an operating clock frequency to reach a current destination wait state as a function of an associated with wait state and execution path obtained from the formed graph data structure; and  
 operating the computing system at the computed operating clock frequency to reach the current destination wait state.  
   
   
   
       9 . The article of  claim 8 , wherein the statistical information associated with the wait states and execution paths comprises data selected from the group consisting of wait times and execution times.  
   
   
       10 . The article of  claim 9 , wherein data associated with the wait states and execution paths is selected from the group consisting of loops, branches, and repetitions in execution paths.  
   
   
       11 . The article of  claim 9 , wherein forming the graph data structure comprises: 
 choosing the current destination wait state for a program execution upon leaving a current wait state;    choosing an execution path to reach the chosen current destination wait state;    computing the wait time and the execution time based on the chosen destination wait state and the execution path;    updating the formed graph data structure using an actual wait time and the execution time associated with the chosen current destination wait state and the execution path upon reaching the destination wait state; and    repeating the above steps of choosing the destination wait state, choosing the execution path and computing for subsequent wait states.    
   
   
       12 . The article of  claim 11 , wherein the graph data structure comprises: 
 vertices, wherein the vertices are represented by wait states, and wherein the wait states are indexed using associated unique ids; and    vertex, wherein the vertex includes associated wait times.    
   
   
       13 . The article of  claim 8 , further comprising: 
 repeating the steps of forming, computing and operating for a next destination wait state.    
   
   
       14 . The article of  claim 8 , further comprising: 
 initializing the graph data structure upon starting the execution of the application program.    
   
   
       15 . A computer system comprising: 
 a processor; and    a memory coupled to the processor, the memory having stored therein code which when decoded by the processor, the code causes the processor to perform a method comprising: 
 forming a graph data structure including statistical information associated with wait states and execution paths on initiating an application program;  
 computing an operating clock frequency to reach a current destination wait state as a function of an associated wait state and execution path obtained from the formed graph data structure; and  
 operating the computing system at the computed operating clock frequency to reach the current destination wait state.  
   
   
   
       16 . The system of  claim 15 , wherein the statistical information associated with the wait states and execution paths comprises data selected from the group consisting of wait times and execution times.  
   
   
       17 . The system of  claim 16 , wherein data associated with the wait states and execution paths is selected from the group consisting of loops, branches, and repetitions in execution paths.  
   
   
       18 . The system of  claim 16 , wherein forming the graph data structure comprises: 
 choosing the current destination wait state for a program execution upon leaving a current wait state;    choosing an execution path to reach the chosen current destination wait state;    computing the wait time and the execution time based on the chosen destination wait state and the execution path;    updating the formed graph data structure using an actual wait time and the execution time associated with the chosen current destination wait state and the execution path upon reaching the destination wait state; and    repeating the above steps of choosing the destination wait state, choosing the execution path and computing for subsequent wait states.    
   
   
       19 . The system of  claim 18 , wherein the graph data structure comprises: 
 vertices, wherein the vertices are represented by wait states, and wherein the wait states are indexed using associated unique ids; and    vertex, wherein the vertex includes associated wait times.    
   
   
       20 . The system of  claim 15 , further comprising: 
 repeating the steps of forming, computing and operating for a next destination wait state.

Join the waitlist — get patent alerts

Track US2007226741A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.