Power management based on dynamic frequency scaling in computing systems
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-modified1 . 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.