-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Added required dependencies in the setup script Improved logging during dataset creation Added README.md file Change-Id: I67e98938f3660656d2ced916f258dfe5d475ecd3
- Loading branch information
Showing
53 changed files
with
64 additions
and
22 deletions.
There are no files selected for viewing
Empty file.
This file was deleted.
Oops, something went wrong.
Empty file.
Empty file.
Empty file modified
0
charts/nebulous-exponential-smoothing-predictor/templates/NOTES.txt
100644 → 100755
Empty file.
Empty file modified
0
charts/nebulous-exponential-smoothing-predictor/templates/_helpers.tpl
100644 → 100755
Empty file.
Empty file modified
0
charts/nebulous-exponential-smoothing-predictor/templates/deployment.yaml
100644 → 100755
Empty file.
Empty file modified
0
charts/nebulous-exponential-smoothing-predictor/templates/hpa.yaml
100644 → 100755
Empty file.
Empty file modified
0
charts/nebulous-exponential-smoothing-predictor/templates/ingress.yaml
100644 → 100755
Empty file.
Empty file modified
0
charts/nebulous-exponential-smoothing-predictor/templates/service.yaml
100644 → 100755
Empty file.
Empty file modified
0
charts/nebulous-exponential-smoothing-predictor/templates/serviceaccount.yaml
100644 → 100755
Empty file.
Empty file.
Empty file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
# Exponential Smoothing predictor | ||
|
||
## Introduction | ||
|
||
The exponential smoothing predictor is one of the predictors that will be available to the NebulOuS platform for forecasting. Along with other prediction methods, it provides its input to the Prediction Orchestrator which then aggregates it and forwards finalized predictions. | ||
|
||
To be used, it follows the process which is outlined in the NebulOuS wiki page related to the generation of predictions: | ||
|
||
https://github.com/eu-nebulous/nebulous/wiki/5.3-Predictions-Generation-Process | ||
|
||
The exponential smoothing forecaster is based on the use of the Holt-Winters R library to generate predictions. It uses data stored by the monitoring data persistor module (https://github.com/eu-nebulous/monitoring-data-persistor). Data is resampled in order not to create too much load on the forecasting component. Based on the input events, it generates a number of forward predictions, which can be exploited by the Prediction Orchestrator | ||
|
||
## Component outline and use | ||
|
||
Before starting the component, please ensure that there is at least one recent prediction (where recent is at most as old as the expected difference between the time of the first prediction and the current time), and at least one data point as old as three times the difference between the first prediction and the current time. | ||
To illustrate, assume that the current time is 1705046000, and the first prediction will happen at 1705046500. Then, one recent datapoint is needed (not older than 1705045500) and at least one older datapoint is needed (not more recent than 1705044500). | ||
Usually, a couple of minutes of recent data should be enough for predictions a few seconds ahead (please scale accordingly, depending on your scenario) | ||
|
||
The component initially waits for a `start_forecasting` sent to the `eu.nebulouscloud.forecasting.start_forecasting.exponentialsmoothing` topic. | ||
An example payload for this event follows: | ||
|
||
```json | ||
{ | ||
"name": "_Application1", | ||
"metrics": ["cpu_usage"], | ||
"timestamp": 1705046535, | ||
"epoch_start": 1705046500, | ||
"number_of_forward_predictions": 5, | ||
"prediction_horizon": 10 | ||
} | ||
``` | ||
|
||
Once this event is sent, it subscribes to the appropriate metric topics and publishes values as required (in the scenario above, 5 predictions every 10 seconds for the cpu_usage metric). | ||
|
||
Optionally, and preferably before the start_forecasting event, the component can receive a metric_list event (Event type 3 in the SLO Severity-based Violation Detector interface). Using the information related to the metrics which is contained there, it will be able to constrain predictions to an admissible range for each metric it provides predictions for. | ||
|
||
https://github.com/eu-nebulous/nebulous/wiki/5.2-The-SLO-Severity%E2%80%90based-Violation-Detector-Interface |
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file modified
0
exponential-smoothing-predictor/src/exn/core/schedule_publisher.py
100644 → 100755
Empty file.
Empty file modified
0
exponential-smoothing-predictor/src/exn/core/state_publisher.py
100644 → 100755
Empty file.
Empty file.
Empty file modified
0
exponential-smoothing-predictor/src/exn/handler/connector_handler.py
100644 → 100755
Empty file.
Empty file.
Empty file.
Empty file modified
0
exponential-smoothing-predictor/src/prepare_python_dependencies.sh
100644 → 100755
Empty file.
Empty file.
Empty file modified
0
exponential-smoothing-predictor/src/r_predictors/default_application.csv
100644 → 100755
Empty file.
Empty file modified
0
exponential-smoothing-predictor/src/r_predictors/forecasting_real_workload.R
100644 → 100755
Empty file.
Empty file modified
0
exponential-smoothing-predictor/src/r_predictors/prediction_configuration-windows.properties
100644 → 100755
Empty file.
2 changes: 1 addition & 1 deletion
2
exponential-smoothing-predictor/src/r_predictors/prediction_configuration.properties
100644 → 100755
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Empty file.
Empty file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Empty file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Empty file modified
0
exponential-smoothing-predictor/src/runtime/operational_status/EsPredictorState.py
100644 → 100755
Empty file.
Empty file modified
0
exponential-smoothing-predictor/src/runtime/operational_status/__init__.py
100644 → 100755
Empty file.
Empty file modified
0
exponential-smoothing-predictor/src/runtime/predictions/Prediction.py
100644 → 100755
Empty file.
Empty file modified
0
exponential-smoothing-predictor/src/runtime/predictions/__init__.py
100644 → 100755
Empty file.
Empty file modified
0
exponential-smoothing-predictor/src/runtime/predictions/prediction_requirements.txt
100644 → 100755
Empty file.
Empty file modified
0
exponential-smoothing-predictor/src/runtime/utilities/InfluxDBConnector.py
100644 → 100755
Empty file.
Empty file modified
0
exponential-smoothing-predictor/src/runtime/utilities/PredictionPublisher.py
100644 → 100755
Empty file.
Empty file modified
0
exponential-smoothing-predictor/src/runtime/utilities/Utilities.py
100644 → 100755
Empty file.
Empty file modified
0
exponential-smoothing-predictor/src/runtime/utilities/__init__.py
100644 → 100755
Empty file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Empty file.