Documentation ¶
Index ¶
- Constants
- type ComponentPowerResponse
- type EstimatorSidecar
- func (c *EstimatorSidecar) AddDesiredOutValue(y float64)
- func (c *EstimatorSidecar) AddNodeFeatureValues(x []float64)
- func (c *EstimatorSidecar) AddProcessFeatureValues(x []float64)
- func (c *EstimatorSidecar) GetComponentsPower(isIdlePower bool) ([]source.NodeComponentsEnergy, error)
- func (c *EstimatorSidecar) GetGPUPower(isIdlePower bool) ([]uint64, error)
- func (c *EstimatorSidecar) GetModelType() types.ModelType
- func (c *EstimatorSidecar) GetNodeFeatureNamesList() []string
- func (c *EstimatorSidecar) GetPlatformPower(isIdlePower bool) ([]uint64, error)
- func (c *EstimatorSidecar) GetProcessFeatureNamesList() []string
- func (c *EstimatorSidecar) IsEnabled() bool
- func (c *EstimatorSidecar) ResetSampleIdx()
- func (c *EstimatorSidecar) Start() error
- func (c *EstimatorSidecar) Train() error
- type PlatformPowerResponse
- type PowerRequest
Constants ¶
const MaxProcesss = 500 // 256 pods and 2 processes per pod
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ComponentPowerResponse ¶
type ComponentPowerResponse struct { Powers map[string][]float64 `json:"powers"` Message string `json:"msg"` }
ComponentPowerResponse defines a response of a map of component powers from Kepler Estimator
type EstimatorSidecar ¶ added in v0.5.4
type EstimatorSidecar struct { Socket string OutputType types.ModelOutputType EnergySource string TrainerName string SelectFilter string FloatFeatureNames []string SystemMetaDataFeatureNames []string SystemMetaDataFeatureValues []string // contains filtered or unexported fields }
EstimatorSidecar defines power estimator with Kepler Estimator sidecar
func (*EstimatorSidecar) AddDesiredOutValue ¶ added in v0.5.4
func (c *EstimatorSidecar) AddDesiredOutValue(y float64)
AddDesiredOutValue adds the the y, which is the response variable (or the dependent variable) of regression. EstimatorSidecar is trained off-line then we do not add Y for trainning. We might implement it in the future.
func (*EstimatorSidecar) AddNodeFeatureValues ¶ added in v0.5.4
func (c *EstimatorSidecar) AddNodeFeatureValues(x []float64)
AddNodeFeatureValues adds the the x for prediction, which is the variable used to calculate the ratio. EstimatorSidecar is not trained, then we cannot Add training samples, only samples for prediction. The EstimatorSidecar does not differentiate node or process power estimation, the difference will only be the amount of resource utilization
func (*EstimatorSidecar) AddProcessFeatureValues ¶ added in v0.7.3
func (c *EstimatorSidecar) AddProcessFeatureValues(x []float64)
AddProcessFeatureValues adds the the x for prediction, which are the explanatory variables (or the independent variable) of regression. EstimatorSidecar is trained off-line then we cannot Add training samples. We might implement it in the future. The EstimatorSidecar does not differentiate node or process power estimation, the difference will only be the amount of resource utilization
func (*EstimatorSidecar) GetComponentsPower ¶ added in v0.5.4
func (c *EstimatorSidecar) GetComponentsPower(isIdlePower bool) ([]source.NodeComponentsEnergy, error)
GetComponentsPower makes a request to Kepler Estimator EstimatorSidecar and return a list of total powers
func (*EstimatorSidecar) GetGPUPower ¶ added in v0.5.4
func (c *EstimatorSidecar) GetGPUPower(isIdlePower bool) ([]uint64, error)
GetComponentsPower returns GPU Power in Watts associated to each each process/process/pod
func (*EstimatorSidecar) GetModelType ¶ added in v0.5.4
func (c *EstimatorSidecar) GetModelType() types.ModelType
GetModelType returns the model type
func (*EstimatorSidecar) GetNodeFeatureNamesList ¶ added in v0.5.4
func (c *EstimatorSidecar) GetNodeFeatureNamesList() []string
GetNodeFeatureNamesList returns the list of float features that the model was configured to use The EstimatorSidecar does not differentiate node or process power estimation, the difference will only be the amount of resource utilization
func (*EstimatorSidecar) GetPlatformPower ¶ added in v0.5.4
func (c *EstimatorSidecar) GetPlatformPower(isIdlePower bool) ([]uint64, error)
GetPlatformPower makes a request to Kepler Estimator EstimatorSidecar and returns a list of total powers
func (*EstimatorSidecar) GetProcessFeatureNamesList ¶ added in v0.7.3
func (c *EstimatorSidecar) GetProcessFeatureNamesList() []string
GetProcessFeatureNamesList returns the list of float features that the model was configured to use The EstimatorSidecar does not differentiate node or process power estimation, the difference will only be the amount of resource utilization
func (*EstimatorSidecar) IsEnabled ¶ added in v0.5.4
func (c *EstimatorSidecar) IsEnabled() bool
IsEnabled returns true if the power model was trained and is active
func (*EstimatorSidecar) ResetSampleIdx ¶ added in v0.5.4
func (c *EstimatorSidecar) ResetSampleIdx()
ResetSampleIdx set the sample vector index to 0 to overwrite the old samples with new ones for trainning or prediction.
func (*EstimatorSidecar) Start ¶ added in v0.5.4
func (c *EstimatorSidecar) Start() error
Start returns nil if estimator is connected and has compatible power model
func (*EstimatorSidecar) Train ¶ added in v0.5.4
func (c *EstimatorSidecar) Train() error
Train triggers the regressiong fit after adding data points to create a new power model. EstimatorSidecar is trained in the Model Server then we cannot trigger the trainning. We might implement it in the future.
type PlatformPowerResponse ¶ added in v0.5.4
PlatformPowerResponse defines a response of a list of total powers from Kepler Estimator
type PowerRequest ¶
type PowerRequest struct { FloatFeatureNames []string `json:"metrics"` UsageValues [][]float64 `json:"values"` OutputType string `json:"output_type"` EnergySource string `json:"source"` SystemMetaDataFeatureNames []string `json:"system_features"` SystemMetaDataFeatureValues []string `json:"system_values"` TrainerName string `json:"trainer_name"` SelectFilter string `json:"filter"` }
PowerRequest defines a request to Kepler Estimator to get estimated powers