Enabling Fast and Accurate Run-Time Decisions in Geo-Distributed Systems: Better Achieving Service Level Objectives
2018 (English)Doctoral thesis, monograph (Other academic)
Abstract [en]
Computing services are highly integrated into modern society and used by millions of people daily. To meet these high demands, many popular services are implemented and deployed as geo-distributed applications on top of third-party virtualized cloud providers. However, the nature of such a deployment leads to variable performance. To deliver high quality of service, these systems strive to adapt to ever-changing conditions by monitoring changes in state and making informed run-time decisions, such as choosing server peering, replica placement, and redirection of requests. In this dissertation, we seek to improve the quality of run-time decisions made by geo-distributed systems. We attempt to achieve this through: (1) a better understanding of the underlying deployment conditions, (2) systematic and thorough testing of the decision logic implemented in these systems, and (3) by providing a clear view of the network and system states allowing services to make better-informed decisions. First, we validate an application’s decision logic used in popular storage systems by examining replica selection algorithms. We do this by introducing GeoPerf, a tool that uses symbolic execution and modeling to perform systematic testing of replica selection algorithms. GeoPerf was used to test two popular storage systems and found one bug in each. Then, using measurements across EC2, we observed persistent correlation between network paths and network latency. Based on these observations, we introduce EdgeVar, a tool that decouples routing and congestion based changes in network latency. This additional information improves estimation of latency, as well as increases the stability of network path selection. Next, we introduce Tectonic, a tool that tracks an application’s requests and responses both at the user and kernel levels. In combination with EdgeVar, it decouples end-to-end request completion time into three components of network routing, network congestion, and service time. Finally, we demonstrate how this decoupling of request completion time components can be leveraged in practice by developing Kurma, a fast and accurate load balancer for geo-distributed storage systems. At runtime, Kurma integrates network latency and service time distributions to accurately estimate the rate of Service Level Objective (SLO) violations, for requests redirected between geo-distributed datacenters. Using real-world data, we demonstrate Kurma’s ability to effectively share load among datacenters while reducing SLO violations by a factor of up to 3 in high load settings or reducing the cost of running the service by up to 17%. The techniques described in this dissertation are important for current and future geo-distributed services that strive to provide the best quality of service to customers while minimizing the cost of operating the service.
Abstract [sv]
Databehandlingstjänster är en välintegrerad del av det moderna samhället och används av miljontals människor dagligen. För att möta deras höga krav implementeras och placeras många populära tjänster som geodistribuerade applikationer ovanpå tredje parters virtuella molntjänster. Det ligger emellertid i sakens natur att sådana utplaceringar resulterar i varierande prestanda. För att leverera hög servicekvalitet behöver sådana system sträva efter att ständigt anpassa sig efter ändrade förutsättningar genom att övervaka ändringar i tillstånd och ta informerade realtidsbeslut, som till exempel val av server att pira, replikaplacering, och omdirigering av förfrågningar. Den här avhandlingen avser att förbättra kvaliteten på realtidsbeslut tagna av geodistribuerade system. Vi försöker uppnå detta genom: (1) en bättre förståelse av underliggande utplaceringsvillkor, (2) systematisk och noggrann testning av beslutslogik redan implementerad i dessa system, och (3) genom att förse en tydlig inblick i nätverket och systemtillstånd som tillåter dessa tjänster att utföra mer informerade beslut. Vi börjar med att validera en applikations beslutslogik vanlig i populära lagringssystem genom att undersöka valalgoritmen för replikas. Vi gör detta genom att införa GeoPerf, ett verktyg som tillämpar symbolisk exekvering och modellering för systematisk testning av sådana valalgoritmer. GeoPerf användes för att testa två populära lagringssystem och hittade en bugg i båda. Genom mätningar över EC2 observerar vi sedan en beständig korrelation mellan nätverksvägar och nätverkslatens. Baserat på dessa observationer introducerar vi EdgeVar, ett verktyg som frikopplar dirigering och trängsel baserat på förändringar i nätverkslatens. Denna ytterligare nformation förbättrar kvaliteten på latensuppskattningen samt förbättrar stabiliteten på nä verkets val av väg. Därpå introducerar vi Tectonic, ett verktyg som följer en applikations begäran och gensvar på både användar- och kernelnivå. Tillsammans med EdgeVar kan totalsträckstiden från begäran till avslut delas upp i tre delar bestående av nätverksdirigering, trängsel och servicetid. Slutligen demonstrerar vi hur denna uppdelning av totalsträckstiden kan utnyttjas i praktiken genom att utveckla Kurma, en snabb och noggrann lastbalanserare för geodistribuerade lagringssystem. Vid exekvering integrerar Kurma nätverksfördröjning och servicetidsfördelningar för att noggrant uppskatta graden av servicenivåmålsöverträdelser, SLO, för förfrågningar som omdirigeras mellan geodistribuerade datacenters. Genom användning av realtidsdata demonstrerar vi Kurmas förmåga att effektivt fördela lasten mellan datacenters samtidigt som SLO-överträdelser minskas med upp till en faktor tre vid hög belastning eller minskar kostnaden för att köra tjänsten med upp till 17%. Teknikerna som beskrivs i denna avhandling kan anses viktiga för nuvarande och framtida geodistribuerade tjänster som strävar efter att tillhandahålla den bästa servicekvalitén till användarna samtidigt som driftskostnaden för att driva tjänsterna minimeras.
Place, publisher, year, edition, pages
Stockholm: KTH Royal Institute of Technology, 2018. , p. 184
Series
TRITA-EECS-AVL ; 2018:78
Keywords [en]
Cloud Computing, Geo-Distributed Systems, Replica Selection Algorithms.
Keywords [sv]
Molntjänster, Geodistribuerade system, Valalgoritmer för replikas
National Category
Communication Systems
Research subject
Computer Science
Identifiers
URN: urn:nbn:se:kth:diva-238665ISBN: 978-91-7729-985-1 (print)OAI: oai:DiVA.org:kth-238665DiVA, id: diva2:1261337
Public defence
2018-11-26, Sal-B, Kistagången 16, Electrum 1, våningsplan 2, Kista, 10:00 (English)
Opponent
Supervisors
Note
QC 20181101
2018-11-072018-11-072022-06-26Bibliographically approved