📑Paper Review
[paper review] Time Series Forecasting of Cloud Resource Usage
date
Oct 8, 2023
slug
time-series-forecasting-cloud
author
status
Public
tags
DeepLearning
paper
summary
클라우스 자원의 예측은 시간에 의존적이기 때문에 연속 시간 동안 리소스 사용을 예측하기 위해 다양한 시계열 모델과 앙상블 사용.
CPU usage, disk read times, disk write times, memory usage를 예측할 수 있음.
type
Post
thumbnail
category
📑Paper Review
updatedAt
Sep 7, 2024 03:12 AM
INTRODUCTIONResource allocation in cloud computingcloud economicsRELATED WORKSAWS forecast를 예로들면, 아래 6가지 사용CONTIBUTIONSYSTEM DESIGNDATA ANALYSISTIME SERIES ANALYSISEconometric AnalysisMODEL TRAININGEVALUATION METRICSRESULTS AND DISCUSSIONSCONCLUSIONFUTURE WORK
INTRODUCTION
Resource allocation in cloud computing
Elasticity : 리소스의 동적 변화에 적응할 수 있는 능력 (overcommit 같은것들)
Scalability : 조직의 장기적 요구에 따라 워크로드를 증가 또는 감소시킬 수 있는 능력
위 두 요구사항을 충족시키기 위해 사용되는 전략들
auto scaling : 수요에 따른 동적 자원 할당
- 주기적으로 발생하는 자원 증감에 대응 가능
- 변화가 자주 발생하면, 리소스 공급이 지연된다는 단점이 있음
- 때문에 단기적인 관점에서 리소스 급증감의 예측이 수반된다면, 예방적으로 대응 가능
- 자원의 수요는 시계열 분석과 예측 방법으로 예측되어짐
- 본 논문에서도 이전 클라우드 시계열 워크로드를 기반으로 연속 시간의 리소스 사용량에 대한 예측 수행
cloud economics
클라우드 서비스를 제공하는 기업은 성능을 저하하지 않고, 용량을 최적으로 사용하는 방법에 대해 알아야 한다.
- Operational : 리소스 공급이 부족하면, 성능이 저하된다.
- Financial : 리소스의 과도한 공급으로 인해 기업은 사용되지 않은 리소스에 대해 비용을 지불하고, 투자수익(ROI) 이 낮아진다.
- 대부분의 기업이 QoS와 서비스 품질 유지를 위해 재정적 위험을 감수하고, 리소스를 초과 제공하며, 특히 cpu와 memory는 초과제공되기 쉽다.
- 때문에 본 연구에서 제안된 모델을 사용하여 고객의 이전 요구들을 기반으로 미래 리소스 사용을 예측하고, VM 리소스 관리의 자동 확장 메커니즘에 예측을 통합할 수 있음.
RELATED WORKS
AWS forecast를 예로들면, 아래 6가지 사용
- Prophet
- ARIMA and SARIMA
- Moving average
- Exponential smoothing
- Recurrent neural networks
CONTIBUTION
3개월 동안의 자원에 대해 Autoregression, Decomposition, Moving average와 같은 시계열 분석 방법 사용하여 데이터를 연구하고 이상 징후를 감지하고 ARIMA와 다른 클래식한 모델에 대한 파라미터를 찾음
LSTM recurrent neural networks와 stacking, boosting과 같은 ensemble 방법이 연속 시간 동안의 자원을 예측하기 위해 사용되었고, 기계학습 기반 접근법의 성능을 고전적인 계량적 접근법과 비교, 각 모델의 장단점을 분석함
SYSTEM DESIGN

- 정상성과 정규성을 확인하기 위해 다양한 시계열 분석 방법과 통계 테스트가 사용되었음
- 향후 1시간의 자원 사용을 예측하기 위해 econometric, machine learning models을 사용
- 데이터를 시간당 빈도로 샘플링하여 사용
- 다양한 모델에 대한 정확도를 평가, 성능에 대한 이유를 논의, stacking, boosting등의 앙상블 사용 평가
- 예측은 1분, 1초, 1시간 또는 1개월 동안 수행될 수 있음
- 예측에 따라 리소스를 확장, 축소할 수 있으며, reactive auto scaling approach과 예측 방법을 결합 가능
DATA ANALYSIS
- GWA-T-12Bitbrains : 500개 성능 메트릭을 가진 3개월치 데이터
- 타임스템프, CPU 코어, CPU 용량, CPU 사용량, memory 제공량, 메모리 사용량, 디스크 읽기 처리량, 디스크 쓰기 처리량, 네트워크 송수신 처리량 정보
- 전처리 : 3개월치 병합, 결측값 입력, 1시간마다 resampling
- 제공된 cpu 용량을 기준으로 그래프 표시 - 초과 및 부족 여부 파악 가능
- 결과
- cpu 사용량이 주말에 더 많다.
- 자정엔 cpu 사용량이 작고, 정요가 최대이다.
- 금요일에 많이 이용된다.
- cpu 사용량과 메모리 사용량은 높은 상관관계를 가지며, 정비례함
- z-score에 대해서 표준화하면, 평균에서 얼마나 떨어져있는지 알 수 있음
- 제공된 메모리 용량 및 디스크 읽기 처리량은 음의 점수를 가진 반면, 다른것들은 평균 근처
TIME SERIES ANALYSIS
Seasonal and Trend decomposition using Loess (STL) 사용


계절 성분의 크기가 기하급수적으로 변하는 것이 아니라 시간에 따라 선형적으로 변함
additive decomposition model inferences
- consistent trend 가 없다.
- 24시간 주기성
- non-stationary time series
- 차분을 사용하여 데이터를 stationary 하게 변환해야함
- seasonal differencing 수행해야함
Econometric Analysis
- Moving Average
- Stationarity
- ADF Test
- KPSS Test
- Normality
- Shapiro Wilk Test
- Splitting the Dataset
- train 70%, test 30%
MODEL TRAINING
- Linear Regression
- Feature Extraction
- Feature scaling
- Target Encoding
- Model training
- Lasso Regression
- Ridge Regression


- Autoregressive integrated moving average
- Triple Exponential Smoothing

- Seasonal Autoregressive Moving Average model
- LSTM


- Ensemble Learning Methods
- Bootstap aggregating
- Boosting
- Stacking
EVALUATION METRICS
- R square

- RMSE

- MAE

- MAPE

- Bayes Information Criterion

- Akaike Information Criterion

- ADF Test

- KPSS Test

- VIF Test

- Shapiro Wilk Test

RESULTS AND DISCUSSIONS
Among the classical time series and Machine learning models, HOLT WINTERS (16.67% error), ARIMA (18.50%) and SARIMA (18.95%) made better one step forecasting for the dataset chosen. Stacking regressor and Lasso regression showed 32 percent of error. Linear regression and other ensemble learning methods showed 36-40 percent of error. LSTM did not perform well for this dataset, even with varied epochs and batch size.
→ 이 데이터셋에서는 classical time series와 machine learning 모델 ( holt winters, arima, sarima) 가 더 좋은 예측결과를 보임 LSTM이 RMSE 지표에서 좋은 성능을 보이나, R square가 낮음
CONCLUSION
고전적인 시계열 예측 모델이 대부분의 시계열 예측 시나리오에서 machine learning 모델보다 성능이 뛰어나다.
특히 데이터가 non-stationary 할때 더욱 그렇다.
고정적이고 장기적인 규칙이 있는 데이터라면, 기계학습 또한 좋은 선택이 될 수 있다.
따라서 대부분의 경우 시계열의 특성에 따라 모형을 선택해야한다.
우리에게 주어진 데이터는 본 논문에 사용된 데이터와 마찬가지로 non-stationary한 특성을 보이며, 3개월의 40개 VM에 대한 한정적인 정보로, 증가의 추세는 있지만, 값의 변동성이 크고, 장기적인 규칙성을 보이지 않는다.
따라서 기계학습 기반의 모델보단, 고전적인 시계열 예측 모델이 더 성능이 좋을 것으로 예상된다.
FUTURE WORK
The analysis results should comprise normality, ACF and PACF plots, stationarity, lag order, seasonal length, trend or seasonality components.
The user inputs should comprise the horizon of forecasting, length of the data, length of the demand and size of the organization.