Top Banner
Predictive Auto Scaling of In-Memory Data Stores TEAM MEMBERS: AKSHAY RAUL RAHUL IYER SHWETHA KALYANARAMAN
20

Predictive Auto Scaling of In-Memory Data Stores SHWETHA ...€¦ · SHWETHA - Data Pre-Processing and Training of Recurrent Neural Network for prediction of incoming load. Experimenting

Jan 24, 2021

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Predictive Auto Scaling of In-Memory Data Stores SHWETHA ...€¦ · SHWETHA - Data Pre-Processing and Training of Recurrent Neural Network for prediction of incoming load. Experimenting

Predictive Auto Scaling of In-Memory Data Stores

TEAM MEMBERS:● AKSHAY RAUL● RAHUL IYER● SHWETHA KALYANARAMAN

Page 2: Predictive Auto Scaling of In-Memory Data Stores SHWETHA ...€¦ · SHWETHA - Data Pre-Processing and Training of Recurrent Neural Network for prediction of incoming load. Experimenting

Motivation

● Caching is a major part of many application infrastructures

● Service needs to be resilient, reliable, and scalable

● Costly to maintain multiple nodes to service clients

● Auto-Scaling to the rescue!

Page 3: Predictive Auto Scaling of In-Memory Data Stores SHWETHA ...€¦ · SHWETHA - Data Pre-Processing and Training of Recurrent Neural Network for prediction of incoming load. Experimenting

What are In-Memory Data Stores?

● Type of non-relational database

● Relies on memory for storage

● Helps in minimizing response time

Page 4: Predictive Auto Scaling of In-Memory Data Stores SHWETHA ...€¦ · SHWETHA - Data Pre-Processing and Training of Recurrent Neural Network for prediction of incoming load. Experimenting

Introduction to Redis

● In-Memory data store

● Simple key value store

● Supports sharding and replication

● Lightweight and multi-platform

● Provides a lot of performance metrics

Page 5: Predictive Auto Scaling of In-Memory Data Stores SHWETHA ...€¦ · SHWETHA - Data Pre-Processing and Training of Recurrent Neural Network for prediction of incoming load. Experimenting

Setup Infrastructure: AWS

● ECS (Docker containers running Redis)

● Easy to scale

● redis-cli to capture Redis’ metrics

● collectd to capture system level metrics

● Aggregated metrics to be sent out to the prediction engine

Page 6: Predictive Auto Scaling of In-Memory Data Stores SHWETHA ...€¦ · SHWETHA - Data Pre-Processing and Training of Recurrent Neural Network for prediction of incoming load. Experimenting

Load Testing

● Huge set of supported operations

● Easy to program

● Varied workload intensities

Page 7: Predictive Auto Scaling of In-Memory Data Stores SHWETHA ...€¦ · SHWETHA - Data Pre-Processing and Training of Recurrent Neural Network for prediction of incoming load. Experimenting

Metrics Considered

● CPU/Memory usage from Redis

● Request Latency

● System’s CPU/Memory usage from collectd

Page 8: Predictive Auto Scaling of In-Memory Data Stores SHWETHA ...€¦ · SHWETHA - Data Pre-Processing and Training of Recurrent Neural Network for prediction of incoming load. Experimenting

Approach

● Based on Utilization factor

● Predicting Future Workload → Predicting the need for Autoscaling

● Using Prediction Algorithms

Page 9: Predictive Auto Scaling of In-Memory Data Stores SHWETHA ...€¦ · SHWETHA - Data Pre-Processing and Training of Recurrent Neural Network for prediction of incoming load. Experimenting

Prediction Algorithms

● Recurrent Neural Network

● ARIMA MODEL

Page 10: Predictive Auto Scaling of In-Memory Data Stores SHWETHA ...€¦ · SHWETHA - Data Pre-Processing and Training of Recurrent Neural Network for prediction of incoming load. Experimenting

RNN

● Make use of sequential information

● Output is dependant on previous computations

● RNNs are used in a lot of areas:

○ Speech Recognition

○ Machine Translation

Page 11: Predictive Auto Scaling of In-Memory Data Stores SHWETHA ...€¦ · SHWETHA - Data Pre-Processing and Training of Recurrent Neural Network for prediction of incoming load. Experimenting
Page 12: Predictive Auto Scaling of In-Memory Data Stores SHWETHA ...€¦ · SHWETHA - Data Pre-Processing and Training of Recurrent Neural Network for prediction of incoming load. Experimenting

RNN

Page 13: Predictive Auto Scaling of In-Memory Data Stores SHWETHA ...€¦ · SHWETHA - Data Pre-Processing and Training of Recurrent Neural Network for prediction of incoming load. Experimenting

ARIMA Model● Stands for Autoregressive integrated moving average

● Model is fitted to time series data either to better

understand the data or to predict future points in the

series (forecasting).

● Used in short-term forecasting that requires 40 historic

data points

● It uses autocorrelation to correlate data points which are

at specific time interval apart

Page 14: Predictive Auto Scaling of In-Memory Data Stores SHWETHA ...€¦ · SHWETHA - Data Pre-Processing and Training of Recurrent Neural Network for prediction of incoming load. Experimenting

ARIMA Model● AR: Autoregression. A model that uses the dependent

relationship between an observation and some number of lagged observations.

● I: Integrated. The use of differencing of raw observations (e.g. subtracting an observation from an observation at the previous time step) in order to make the time series stationary.

● MA: Moving Average. A model that uses the dependency between an observation and a residual error from a moving average model applied to lagged observations.

Page 15: Predictive Auto Scaling of In-Memory Data Stores SHWETHA ...€¦ · SHWETHA - Data Pre-Processing and Training of Recurrent Neural Network for prediction of incoming load. Experimenting

Algorithm Skeleton

Utilization_Factor=(Load Present+Predicted Load)

If Utilization_Factor > 0.70

Autoscale!!

If Utilization_Factor <0.30

Scale down!!

Page 16: Predictive Auto Scaling of In-Memory Data Stores SHWETHA ...€¦ · SHWETHA - Data Pre-Processing and Training of Recurrent Neural Network for prediction of incoming load. Experimenting

Benefits of Auto Scaling

● Better fault tolerance

● Better availability

● Better cost management

● Optimization of resource needs

Page 17: Predictive Auto Scaling of In-Memory Data Stores SHWETHA ...€¦ · SHWETHA - Data Pre-Processing and Training of Recurrent Neural Network for prediction of incoming load. Experimenting

Work Distribution● AKSHAY - Data Cleaning, Data Selection and Training the ARIMA

Model for prediction. Experimenting by varying lag observations, raw observations and moving average component to evaluate the performance of the model

● SHWETHA - Data Pre-Processing and Training of Recurrent Neural Network for prediction of incoming load. Experimenting with different hidden layers and compare analysis with ARIMA model

● RAHUL - Setting up the Redis cluster and will be working on load testing to capture metrics. Also, will manage the addition and removal of nodes as per the prediction.

Page 18: Predictive Auto Scaling of In-Memory Data Stores SHWETHA ...€¦ · SHWETHA - Data Pre-Processing and Training of Recurrent Neural Network for prediction of incoming load. Experimenting

QUESTIONS?

Page 19: Predictive Auto Scaling of In-Memory Data Stores SHWETHA ...€¦ · SHWETHA - Data Pre-Processing and Training of Recurrent Neural Network for prediction of incoming load. Experimenting

References● Chung-Horng Lung Ali Yadavar Nikravesh, Samuel A. Ajila. 2015. Towards an Autonomic Auto-Scaling Prediction

System for Cloud Resource Provisioning. IEEE (2015). https://doi.org/10.1109/SEAMS.2015.22● Shu Tao Nikos Anerousis Arijit Khan, Xifeng Yan. 2012. Workload characterization and prediction in the cloud: A

multiple time series approach. (2012). https://ieeexplore.ieee.org/document/6212065● Guo Ma Bin Xie, Guanyi Sun. 2017. Prediction-based autoscaling for container-based PaaS system. IEEE (2017).

https://ieeexplore-ieee-org/document/8239026● Emiliano Casalicchio and Vanessa Perciballi. 2017. Auto-Scaling of Containers: The Impact of Relative and Absolute

Metrics. 2017 IEEE 2nd International Workshops on Foundations and Applications of Self* Systems (FAS*W) (2017). https://doi.org/10.1109/fas-w.2017.149

● Yao-Tsung Yang Li-Der Chou Chia-Wei Tseng, Ming-Shiun Tsai. 2017. A Rapid Auto-Scaling Mechanism in Cloud Computing Environment. In Int’l Conf. Grid, Cloud, & Cluster Computing (GCC’17) CSREA Press. https://csce.ucmss.com/cr/books/2017/LFS/CSREA2017/GCC6087.pdf

● Zhenhuan Gong, Xiaohui Gu, and John Wilkes. 2010. PRESS: PRedictive Elastic ReSource Scaling for cloud systems. 2010 International Conference on Network and Service Management (2010). https://doi.org/10.1109/cnsm.2010.5691343

● Miguel-Alonso J. & Lozano Lorido-Botran, T. 2014. A Review of Auto-scaling Techniques for Elastic Applications in Cloud Environments. Grid Computing (2014). https://doi.org/10.1007/s10723-014-9314-7

● Marty Humphrey Ming Mao. 2011. Auto-Scaling to Minimize Cost and Meet Application Deadlines in Cloud Workflows. IEEE (2011). https://ieeexplore.ieee.org/document/7027559

● Alexei Karve Andrzej Kochut Muhammad Wajahat, Anshul Gandhi. 2016. Using machine learning for black-box autoscaling. IEEE (2016). https://ieeexplore.ieee.org/document/7892598

Page 20: Predictive Auto Scaling of In-Memory Data Stores SHWETHA ...€¦ · SHWETHA - Data Pre-Processing and Training of Recurrent Neural Network for prediction of incoming load. Experimenting

References● Abhishek Dubey Nilabja Roy and Aniruddha Gokhale. 2011. Efficient Autoscaling in the Cloud using Predictive

Models for Workload Forecasting. IEEE (2011). https://ieeexplore.ieee.org/document/6008748● Maria Alejandra Rodriguez and Rajkumar Buyya. 2018. Containers Orchestration with Cost-Efficient Autoscaling

in Cloud Computing Environments. CoRR abs/1812.00300 (2018). arXiv:1812.00300 http://arxiv.org/abs/1812.00300

● Moumita Mitra Manna Sunirmal Khatua and Nandini Mukherjee. 2014. Prediction-based Instant Resource Provisioning for Cloud Applications. IEEE (2014). https://doi.org/10.1109/UCC.2014.92

● Dehai Zhao Faming Gong Weishan Zhang, Bo Li and Qinghua Lu. Workload Prediction for Cloud Cluster using A Recurrent Neural Network. IEEE (2016) https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=8281183&tag=1

● Hao Zhang, Bogdan Marius Tudor, Gang Chen, and Beng Chin Ooi. 2014. Efficient In-memory Data Management: An Analysis. Proc. VLDB Endow. 7, 10 (June 2014), 833–836. https://doi.org/10.14778/2732951.2732956