PowerModel
OpenDC uses power models to determine the power draw based on the utilization of a host. All models in OpenDC are based on linear models interpolated between the idle and max power draw. OpenDC currently supports the following power models:
- Constant: The power draw is constant and does not depend on the utilization of the host.
- Sqrt: The power draw interpolates between idle and max using a square root function.
- Linear: The power draw interpolates between idle and max using a linear function.
- Square: The power draw interpolates between idle and max using a square function.
- CubicThe power draw interpolates between idle and max using a cubic function.
- MSE: The power draw interpolates between idle and max using a mean square error function.
- Asymptotic: The power draw interpolates between idle and max using an asymptotic function.
The power model is defined using the following parameters:
| variable | type | Unit | required? | default | description |
|---|---|---|---|---|---|
| modelType | string | N/A | yes | N/A | The type of model used to determine power draw |
| power | double | Mhz | no | 400 | The power draw of a host when using the constant power draw model. |
| idlePower | double | Mhz | yes | N/A | The power draw of a host when idle in Watt. |
| maxPower | double | Mhz | yes | N/A | The power draw of a host when using max capacity in Watt. |
| calibrationFactor | double | Mhz | no | N/A | The parameter set to minimize the mean squared error. |
| asymUtil | double | Mhz | no | N/A | A utilization level at which the host attains asymptotic. |
| dvfs | Boolean | N/A | no | N/A | A flag indicates whether dynamic voltage and frequency scaling is enabled. |
Example
{
"modelType": "sqrt",
"idlePower": 32.0,
"maxPower": 180.0
}
This creates a power model that uses a square root function to determine the power draw of a host. The model uses an idle and max power of 32 W and 180 W respectively.