Multi-core computer processor based on a dynamic core-level power management for enhanced overall power efficiency
First Claim
1. A method for managing power in a processor having multiple cores, wherein each core of the multiple cores includes different partitioned power regions and each power region of the partitioned power regions is partitioned into multiple lanes with each lane of the multiple lanes including a sub-bank of an associated queue and processor components, comprising:
- controlling power to the processor by independently turning on or off electrical power to all lanes in the processor respectively, wherein the all lanes include a sum of the multiple lanes of the partitioned power regions in the multiple cores, wherein the turning on or off the electrical power to all lanes includes turning on or off the electrical power to components within each lane of the all lanes;
applying an optimization mechanism within a time slice to determine a combination of powered-on lanes of the all lanes within different cores of the multiple cores of the processor that optimizes performance of the processor under a power constraint budget, wherein the optimization mechanism includes a configuration sampling phase, a surrogate surface fitting phase, an optimization phase, and a steady phase in the time slice and further comprises;
running a workload for a sample period during the configuration sampling phase on the multiple cores of the processor to collect a set of sampled data for each individual core of the multiple cores;
constructing a response surface model for each individual core, wherein the response surface model comprises an interpolating model of the partitioned power regions, and is fit to the set of sampled data for the corresponding individual core during the surrogate surface fitting phase;
determining, based on an online optimization algorithm using an objective function based on the response surface models for the individual cores, the combination of powered-on lanes of the all lanes within different cores of the multiple cores of the processor that optimizes performance under the power constraint budget for the workload during the optimization phase, wherein the response surface model for each individual core is different from the objective function.
2 Assignments
0 Petitions
Accused Products
Abstract
The present disclosure provides methods and systems for managing power in a processor having multiple cores. In one implementation, a microarchitecture of a core within a general-purpose processor may include configurable lanes (horizontal slices through the pipeline) which can be powered on and off independently from each other within the core. An online optimization algorithm may determine within a reasonably small fraction of a time slice a combination of lanes within different cores of the processor to be powered on that optimizes performance under a power constraint budget for the workload running on the general-purpose processor. The online optimization algorithm may use an objective function based on response surface models constructed to fit to a set of sampled data obtained by running the workload on the general-purpose processor with multiple cores, without running the full workload. In other implementations, the power supply to lanes can be gated.
-
Citations
34 Claims
-
1. A method for managing power in a processor having multiple cores, wherein each core of the multiple cores includes different partitioned power regions and each power region of the partitioned power regions is partitioned into multiple lanes with each lane of the multiple lanes including a sub-bank of an associated queue and processor components, comprising:
-
controlling power to the processor by independently turning on or off electrical power to all lanes in the processor respectively, wherein the all lanes include a sum of the multiple lanes of the partitioned power regions in the multiple cores, wherein the turning on or off the electrical power to all lanes includes turning on or off the electrical power to components within each lane of the all lanes; applying an optimization mechanism within a time slice to determine a combination of powered-on lanes of the all lanes within different cores of the multiple cores of the processor that optimizes performance of the processor under a power constraint budget, wherein the optimization mechanism includes a configuration sampling phase, a surrogate surface fitting phase, an optimization phase, and a steady phase in the time slice and further comprises; running a workload for a sample period during the configuration sampling phase on the multiple cores of the processor to collect a set of sampled data for each individual core of the multiple cores; constructing a response surface model for each individual core, wherein the response surface model comprises an interpolating model of the partitioned power regions, and is fit to the set of sampled data for the corresponding individual core during the surrogate surface fitting phase; determining, based on an online optimization algorithm using an objective function based on the response surface models for the individual cores, the combination of powered-on lanes of the all lanes within different cores of the multiple cores of the processor that optimizes performance under the power constraint budget for the workload during the optimization phase, wherein the response surface model for each individual core is different from the objective function. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A system having a computer processor having multiple cores, comprising:
-
a processor including multiple cores, each core of the multiple cores being a computer processor core and being partitioned into multiple power regions, wherein each power region of the multiple power regions is further partitioned into multiple lanes and each lane of the multiple lanes includes a sub-bank of an associated queue; a first storage storing a power constraint budget for a workload to be performed by the system; a second storage storing the workload; and a controller coupled to the first and second storages and all lanes in the processor, wherein the all lanes include a sum of the multiple lanes of the multiple power regions in the multiple cores, the controller operable to adopt an optimization mechanism to determine, within a time slice, a combination of powered-on lanes of the all lanes within different cores of the multiple cores of the processor that optimizes performance under the power constraint budget for the workload, wherein components within each lane of the all lanes are powered on or off together under a control of the controller, and wherein the optimization mechanism includes a configuration sampling phase, a surrogate surface fitting phase, an optimization phase, and a steady phase in the time slice and further comprises; running a workload for a sample period during the configuration sampling phase on the multiple cores of the processor to collect a set of sampled data for each individual core of the multiple cores; constructing a response surface model for each individual core, wherein the response surface model comprises an interpolating model of the multiple power regions, and is fit to the set of sampled data for the corresponding individual core during the surrogate surface fitting phase; determining, based on an online optimization algorithm using an objective function based on the response surface models for the individual cores, the combination of powered-on lanes of the all lanes within different cores of the multiple cores of the processor that optimizes performance under the power constraint budget for the workload during the optimization phase, wherein the response surface model for each individual core is different from the objective function. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32)
-
-
33. A method for managing power in a processor having multiple cores, wherein each core of the multiple cores includes different partitioned power regions and each power region of the partitioned power regions is partitioned into multiple lanes with each lane of the multiple lanes including a sub-bank of an associated queue and processor components, comprising:
-
controlling power to the processor by independently controlling electrical power to all lanes in the processor respectively, wherein the all lanes include sum of the multiple lanes of the partitioned power regions in the multiple cores; controlling power levels supplied to components within each lane of the all lanes by a gating control; and applying an optimization mechanism within a time slice to determine a combination of powered-on lanes of the all lanes within different cores of the multiple cores of the processor that optimizes performance of the processor under a power constraint budget, wherein the optimization mechanism includes a configuration sampling phase, a surrogate surface fitting phase, an optimization phase, and a steady phase in the time slice and further comprises; running a workload for a sample period during the configuration sampling phase on the multiple cores of the processor to collect a set of sampled data for each individual core of the multiple cores; constructing a response surface model for each individual core, wherein the response surface model comprises an interpolating model of the partitioned power regions, and is fit to the set of sampled data for the corresponding individual core during the surrogate surface fitting phase; determining, based on an online optimization algorithm using an objective function based on the response surface models for the individual cores to solve a constrained integer global optimization problem, the combination of powered-on lanes of the all lanes within different cores of the multiple cores of the processor that optimizes performance under the power constraint budget for the workload during the optimization phase, wherein the response surface model for each individual core is different from the objective function. - View Dependent Claims (34)
-
Specification