Hybrid Auto-Scaling for an Asynchronous Computationally Intensive Application
Cloud computing has developed rapidly in recent years. It enables users to access computing resources on an on-demand basis, acquiring resources when an application requires them and releasing them when they are no longer needed. This characteristic of cloud computing or elasticity as it is often re...
Main Author: | |
---|---|
Format: | Others |
Language: | English |
Published: |
KTH, Skolan för elektroteknik och datavetenskap (EECS)
2020
|
Subjects: | |
Online Access: | http://urn.kb.se/resolve?urn=urn:nbn:se:kth:diva-280729 |
id |
ndltd-UPSALLA1-oai-DiVA.org-kth-280729 |
---|---|
record_format |
oai_dc |
collection |
NDLTD |
language |
English |
format |
Others
|
sources |
NDLTD |
topic |
Computer and Information Sciences Data- och informationsvetenskap |
spellingShingle |
Computer and Information Sciences Data- och informationsvetenskap Jónsson, Arnþór Jóhann Hybrid Auto-Scaling for an Asynchronous Computationally Intensive Application |
description |
Cloud computing has developed rapidly in recent years. It enables users to access computing resources on an on-demand basis, acquiring resources when an application requires them and releasing them when they are no longer needed. This characteristic of cloud computing or elasticity as it is often referred to raises an interesting question of how to manage these resources efficiently, as there is a tradeoff between minimizing resource cost and meeting the Quality of Service (QoS) requirements. The choice of an auto-scaler can significantly affect both resource consumption and QoS in cloud applications. Container orchestration systems such as Kubernetes rely on static thresholds and low-level infrastructure metrics such as CPU and memory to scale cloud applications and foresee workloads that arise at runtime. This research presents a hybrid auto-scaling method using both reactive and proactive metrics for an asynchronous computationally intensive application used in a publish-subscribe pattern. The new hybrid method is compared to Kubernetes Horizontal Pod AutoScaler (HPA), both with synthetic and real-world workloads. Based on the experimental results, both methods are compared in regard to resource consumption and QoS. For the synthetic workloads, it used, on average, 39.44% fewer pods than HPA, and 52,97% increased CPU utilization, while providing a similar and often more reliable QoS than HPA. For the real-world workload, the method presented in this thesis used, on average, 47.26% fewer pods than HPA. Furthermore, it had a 73.78% increased CPU utilization, while averaging a significantly smaller queue and less latency compared to HPA. === Molntjänster har utvecklats med snabb takt under de senaste åren. Denna utveckling ger användare möjlighet att få åtkomst till molnbaserade resurser på begäran, vilka förvärvas när en applikation kräver det och sedan återlämnas när behovet upphör. Denna karaktäristik av molnbaserade tjänster, dess elasticitet som den ofta refereras till ger upphov till en intressant fråga om hur resurshanteringen av dessa tjänster ska ske effektivt. Det ställer krav på en avvägning mellan att minimera resurskostnader och att tillhandahålla god servicekvalité. Valet av en automatisk skalningsmotor kan ha signifikant inverkan på både resursförbrukning och servicekvalité för molnbaserade applikationer. Containerorkestreringssystem som Kubernetes förlitar sig på statiska tröskelvärden och mätvärden i infrastrukturen såsom processor- och minnesbelastning för att skala molnapplikationer, och för att förutse arbetsbelastning som sker under körning. I detta arbete föreslås en hybridmetod för automatisk skalning som använder både reaktiva och proaktiva mätvärden för en asynkron, beräkningsmässigt intensiv applikation som används i ett publicera-prenumerera mönster. Den föreslagna hybridmetoden jämförs med Kubernetes Horizontal Pod Auto-Scaler (HPA) med både syntetiska och verkliga arbetsbelastningar. Båda metoderna jämförs baserade på de experimentella resultaten både avseende resursanvändning och servicekvalité. Resultaten visar att den nya hybridmetoden är bättre lämpad för användning i den typ av applikation som använts i detta arbete. För de syntetiska arbetena använde hybridmodellen i genomsnitt 39,44% färre pods och uppvisade 52,97% ökat utnyttjande av CPU, samtidigt som den tillhandahöll liknande och ofta mer tillförlitlig servicekvalité jämfört med HPA. I de verkliga arbetsbelastningarna visade hybridmetoden som används i detta arbete i genomsnitt 47,26% färre kapslar än HPA. Dessutom hade den 73,78% bättre utnyttjande av CPU, samtidigt som de genomsnittliga köerna och latenstiderna var signifikant mindre jämfört med HPA. |
author |
Jónsson, Arnþór Jóhann |
author_facet |
Jónsson, Arnþór Jóhann |
author_sort |
Jónsson, Arnþór Jóhann |
title |
Hybrid Auto-Scaling for an Asynchronous Computationally Intensive Application |
title_short |
Hybrid Auto-Scaling for an Asynchronous Computationally Intensive Application |
title_full |
Hybrid Auto-Scaling for an Asynchronous Computationally Intensive Application |
title_fullStr |
Hybrid Auto-Scaling for an Asynchronous Computationally Intensive Application |
title_full_unstemmed |
Hybrid Auto-Scaling for an Asynchronous Computationally Intensive Application |
title_sort |
hybrid auto-scaling for an asynchronous computationally intensive application |
publisher |
KTH, Skolan för elektroteknik och datavetenskap (EECS) |
publishDate |
2020 |
url |
http://urn.kb.se/resolve?urn=urn:nbn:se:kth:diva-280729 |
work_keys_str_mv |
AT jonssonarnþorjohann hybridautoscalingforanasynchronouscomputationallyintensiveapplication |
_version_ |
1719339813279105024 |
spelling |
ndltd-UPSALLA1-oai-DiVA.org-kth-2807292020-09-12T05:31:43ZHybrid Auto-Scaling for an Asynchronous Computationally Intensive ApplicationengJónsson, Arnþór JóhannKTH, Skolan för elektroteknik och datavetenskap (EECS)2020Computer and Information SciencesData- och informationsvetenskapCloud computing has developed rapidly in recent years. It enables users to access computing resources on an on-demand basis, acquiring resources when an application requires them and releasing them when they are no longer needed. This characteristic of cloud computing or elasticity as it is often referred to raises an interesting question of how to manage these resources efficiently, as there is a tradeoff between minimizing resource cost and meeting the Quality of Service (QoS) requirements. The choice of an auto-scaler can significantly affect both resource consumption and QoS in cloud applications. Container orchestration systems such as Kubernetes rely on static thresholds and low-level infrastructure metrics such as CPU and memory to scale cloud applications and foresee workloads that arise at runtime. This research presents a hybrid auto-scaling method using both reactive and proactive metrics for an asynchronous computationally intensive application used in a publish-subscribe pattern. The new hybrid method is compared to Kubernetes Horizontal Pod AutoScaler (HPA), both with synthetic and real-world workloads. Based on the experimental results, both methods are compared in regard to resource consumption and QoS. For the synthetic workloads, it used, on average, 39.44% fewer pods than HPA, and 52,97% increased CPU utilization, while providing a similar and often more reliable QoS than HPA. For the real-world workload, the method presented in this thesis used, on average, 47.26% fewer pods than HPA. Furthermore, it had a 73.78% increased CPU utilization, while averaging a significantly smaller queue and less latency compared to HPA. Molntjänster har utvecklats med snabb takt under de senaste åren. Denna utveckling ger användare möjlighet att få åtkomst till molnbaserade resurser på begäran, vilka förvärvas när en applikation kräver det och sedan återlämnas när behovet upphör. Denna karaktäristik av molnbaserade tjänster, dess elasticitet som den ofta refereras till ger upphov till en intressant fråga om hur resurshanteringen av dessa tjänster ska ske effektivt. Det ställer krav på en avvägning mellan att minimera resurskostnader och att tillhandahålla god servicekvalité. Valet av en automatisk skalningsmotor kan ha signifikant inverkan på både resursförbrukning och servicekvalité för molnbaserade applikationer. Containerorkestreringssystem som Kubernetes förlitar sig på statiska tröskelvärden och mätvärden i infrastrukturen såsom processor- och minnesbelastning för att skala molnapplikationer, och för att förutse arbetsbelastning som sker under körning. I detta arbete föreslås en hybridmetod för automatisk skalning som använder både reaktiva och proaktiva mätvärden för en asynkron, beräkningsmässigt intensiv applikation som används i ett publicera-prenumerera mönster. Den föreslagna hybridmetoden jämförs med Kubernetes Horizontal Pod Auto-Scaler (HPA) med både syntetiska och verkliga arbetsbelastningar. Båda metoderna jämförs baserade på de experimentella resultaten både avseende resursanvändning och servicekvalité. Resultaten visar att den nya hybridmetoden är bättre lämpad för användning i den typ av applikation som använts i detta arbete. För de syntetiska arbetena använde hybridmodellen i genomsnitt 39,44% färre pods och uppvisade 52,97% ökat utnyttjande av CPU, samtidigt som den tillhandahöll liknande och ofta mer tillförlitlig servicekvalité jämfört med HPA. I de verkliga arbetsbelastningarna visade hybridmetoden som används i detta arbete i genomsnitt 47,26% färre kapslar än HPA. Dessutom hade den 73,78% bättre utnyttjande av CPU, samtidigt som de genomsnittliga köerna och latenstiderna var signifikant mindre jämfört med HPA. Student thesisinfo:eu-repo/semantics/bachelorThesistexthttp://urn.kb.se/resolve?urn=urn:nbn:se:kth:diva-280729TRITA-EECS-EX ; 2020:444application/pdfinfo:eu-repo/semantics/openAccess |