Forecasting Workload in Cloud Computing: Towards Uncertainty-Aware Predictions and Transfer Learning
This work addresses the under-investigated issue of uncertainty-aware workload forecasting for cloud resource optimization, offering incremental improvements in prediction accuracy and transfer learning capabilities.
The paper tackles the problem of predicting future resource demand in cloud computing by proposing Bayesian deep learning models that provide both predictions and uncertainty quantification, showing that modeling uncertainty improves performance on service level metrics and that transfer learning works within the same provider but degrades across different providers unless source training data is increased.
Predicting future resource demand in Cloud Computing is essential for optimizing the trade-off between serving customers' requests efficiently and minimizing the provisioning cost. Modelling prediction uncertainty is also desirable to better inform the resource decision-making process, but research in this field is under-investigated. In this paper, we propose univariate and bivariate Bayesian deep learning models that provide predictions of future workload demand and its uncertainty. We run extensive experiments on Google and Alibaba clusters, where we first train our models with datasets from different cloud providers and compare them with LSTM-based baselines. Results show that modelling the uncertainty of predictions has a positive impact on performance, especially on service level metrics, because uncertainty quantification can be tailored to desired target service levels that are critical in cloud applications. Moreover, we investigate whether our models benefit transfer learning capabilities across different domains, i.e. dataset distributions. Experiments on the same workload datasets reveal that acceptable transfer learning performance can be achieved within the same provider (because distributions are more similar). Also, domain knowledge does not transfer when the source and target domains are very different (e.g. from different providers), but this performance degradation can be mitigated by increasing the training set size of the source domain.