Streaming video has strong availability requirements, while for livestreamed video low latency becomes an additional significant factor. For large-scale video streaming the streaming service must be able to scale in and out in order to conform to the interchanging demands of users. Video streaming demonstrates heavily fluctuating load, where number of viewers may increase exponentially within a few minutes. In combination with the high availability guarantees suggests that the problem is non-trivial.This thesis covers the issues of providing a cost-effective distributed live video streaming application that guarantees a seamless user experience. For instance, there are multiple channels, in the order of hundred, where each has an ever changing popularity and furthermore, users are able to watch content which was streamed for some number of hours ago. Thus, the system must both provide cached streams as well as the live-stream.In this thesis, an elasticity-providing solution for live video streaming is presented. The solution is a combination of rule-based reactive algorithm for channel distribution and a predictive method for VM instance provisioning. The results show that the algorithm, when simulating 15 channels with 80000 viewers and 50 instances, keeps underallocation of channels at less than 1% while achieving significant reduction of about 125% for channel occurrences and thereby bandwidth consumption compared to the previous channel distribution solution. As the video streaming service scales in terms of number of channels and VM instances, the reduction factor increases. / Videoströmmingstjänster har starka krav på tillgänglighet, medan för live-strömmad video blir låg latens också signifikant. För storskalig videoströmmning måste tjänsten kunna skala in och ut för att överensstämma med användarnas växlande krav. Videoströmmning visar starkt varierande belastning, där antalet tittare kan öka exponentiellt inom några minuter. I kombination med de höga tillgänglighetsgarantierna antyder att problemet inte är trivialt.Denna avhandling täcker problemen med att tillhandahålla en kostnadseffektiv distribuerad live-videoströmmningstjänst som garanterar en sömlös användarupplevelse. Till exempel finns det flera kanaler, i storleksordningen hundra, där var och en har en ständigt förändrande popularitet. Därtill tillkommer dessutom att användare har möjligheten titta på innehåll som strömmats för några timmar sedan. Således måste systemet både tillhandahålla cachade strömmar såväl som direktsändning.I denna avhandling presenteras en elasticitetslösning för live video streaming. Lösningen är en kombination av en regelbaserad reaktiv algorithm för kanaldistribution och en prediktiv metod för VM-instans allokering. Resultaten visar att algoritmen, vid en simulering med 15 kanaler, 80000 tittare och 50 instanser, klarar att hålla underallokering av kanaler lägre än 1% samtidigt som totala antalet kanalinstanser reduceras med ungefär 125% jämfört med den tidigare kanaldistributionslösningen. Allteftersom videostreamingstjänsten skalar i antal kanaler och VM-instanser ökar reduktionsfaktorn ytterligare.
Identifer | oai:union.ndltd.org:UPSALLA1/oai:DiVA.org:kth-254901 |
Date | January 2018 |
Creators | Törnqvist, Sebastian |
Publisher | KTH, Skolan för elektroteknik och datavetenskap (EECS) |
Source Sets | DiVA Archive at Upsalla University |
Language | English |
Detected Language | English |
Type | Student thesis, info:eu-repo/semantics/bachelorThesis, text |
Format | application/pdf |
Rights | info:eu-repo/semantics/openAccess |
Relation | TRITA-EECS-EX ; 2018:770 |
Page generated in 0.0012 seconds