Thesis Title
Total Page:16
File Type:pdf, Size:1020Kb
DEGREE PROJECT IN COMPUTER SCIENCE AND ENGINEERING, SECOND CYCLE, 30 CREDITS STOCKHOLM, SWEDEN 2018 Towards network based media processing using cloud technologies ROBERTO RAMOS CHAVEZ KTH ROYAL INSTITUTE OF TECHNOLOGY SCHOOL OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE Abstract Media delivery based on HTTP adaptive bitrate streaming protocol has become one of the most popular methods for streaming video and audio over the Internet. These services are commonly built on top of centralized infrastructures that rely on network conditions or computing resources, which may reduce performance applications on the client side. Massive increases in cloud technologies, such as infrastructure as a service (IaaS), container as a service (CaaS), and new deployment paradigms like function as a service (FaaS) provide accessible deployment of virtual functions in multiple locations, which reduces various streaming performance constraints. However, there is no clear understanding of whether all cloud deployments are suitable for media delivery. This thesis develops a proof of concept for the deployment of media processing functions in the cloud. Three media processing use cases and a media streaming prototype for video on- demand (VOD) ad insertion are designed, implemented, and evaluated. Each of the three media processing use cases is evaluated in a specific deployment architecture to obtain key performance indicators (KPIs) for use in future networks, such as 5G and network-based media processing (NBMP). Acknowledgment First, I would like to express my enormous gratitude towards my supervisor Dr. Rufael Mekuria at Unified Streaming. For his guidance and strong patience during this work. I would also like to thank Dirk Griffioen and Mark Ogle for our endless discussions and support during the past six months. I have learned a lot from them, my perception as a researcher, technology, and teamwork has changed dramatically. Their extensive knowledge in the field of media delivery inspired me every day that I was present at Unified Streaming. I would also like to stretch my thanks to Prof. Markus Flierl, for his continuous advice during his academic courses and the thesis. But mostly I would like to thank my parents and family for supporting me through the years. Amsterdam, October 10th, 2018 Sammanfattning Medieleverans baserad p HTTP-adaptivt bitrate-streamingprotokoll har blivit en av de mest populra metoderna fr streaming av video och ljud ver Internet. Dessa tjnster r vanligtvis byggda utver centraliserad infrastruktur som bygger p ntverksfrhllanden eller datafrbrukning, vilket kan minska prestandatillmpningar p kundsidan. Massiva kningar i moln teknik, ssom infrastruktur som en tjnst (IaaS), behllare som en tjnst (CAA) och nya distributions paradigm som fungerar som en tjnst (FAAS) tillhandahlla lttillgnglig utbyggnaden av virtuella funktioner p flera platser, som du minskar flera streaming prestanda begrnsningar. Det finns emellertid ingen klar frstelse fr huruvida molnutlggningar r lmpliga fr medialeverans. Denna avhandling utvecklar ett bevis p konceptet fr distribuering av mediabehandlingsfunk- tioner i molnet. bearbetning anvndningsfall och en prototyp fr media streaming video on-demand (VOD) ad insttning r utformade, genomfrs och utvrderas tre medierna. Var och en av de tre me- diebearbetningsanvndningsfall utvrderas i ett visst utplacering arkitektur Ska↵a nyckeltal (KPI) fr anvndning i framtida ntverk, och 5G: ssom ntverksbaserad media bearbetning (NBMP). Contents 1 Introduction 1 1.1 Background Information . 1 1.2 ResearchPurpose.................................... 1 1.3 Motivation ....................................... 1 1.4 Challenges........................................ 2 1.5 Researchquestions ................................... 2 1.6 Thesisoutline...................................... 3 2 Technical Background and Related Work 4 2.1 Media Delivery .................................... 4 2.1.1 HTTP adaptive bitrate streaming . 4 2.1.2 Live and on-demand streaming models . 4 2.1.3 Multimedia container formats and media descriptor languages . 5 2.1.4 Mediaprocessingsoftware. 7 2.2 Cloud Computing .................................. 8 2.2.1 Computing Virtualization . 8 2.2.2 Network Virtualization . 9 2.2.3 Container orchestration engine . 9 2.2.4 Functionasaservice.............................. 10 2.2.5 Edge computing . 11 2.3 Related Work ..................................... 12 2.3.1 Media processing operations in the network ............. 12 2.3.2 Clouddeploymentarchitectures. 14 2.3.3 Mediaprocessingfunctions . 14 2.4 Our Contribution .................................. 15 3 Media processing Function Use cases 16 3.1 Content packaging . 16 3.2 VideoTranscoding ................................... 18 3.3 ContentAdInsertion.................................. 19 4MediaProcessingDeploymentDesign 20 4.1 Software Components . 21 4.2 Cloud Technology Components . 22 4.2.1 Hypervisor-based virtualization deployment technology . 22 4.2.2 Container orchestration deployment technology . 23 4.2.3 Serverless deployment technology . 25 4.3 DesignDecisions .................................... 26 4.3.1 Cloud deployment technology decisions . 27 4.3.2 Ad insertion prototype design using Container Orchestration . 29 5 MediaProcessingDeploymentImplementation 32 5.1 Introduction....................................... 32 5.2 VMDeploymentImplementation . 34 5.2.1 Mediaprocessingimplementationprocedure . 34 5.3 Container Orchestration Deployment Implementation . 35 5.3.1 MediaprocessingImplementationprocedure. 35 5.4 ServerlessDeploymentImplementation . 36 5.4.1 Serverless cloud provider implementation overview . 36 5.4.2 MediaprocessingImplementationprocedure. 36 5.5 Ad Insertion Prototype Deployment Implementation . 38 5.5.1 Mediaprocessingimplementationprocedure . 38 6 Media Processing Deployment Evaluation 40 6.1 Load Generator Tools and Measurement Specifications . 40 6.1.1 MediaprocessingwithCGIexecution . 41 6.2 Use case (A) : Content packaging results . 43 6.2.1 VMs in content packaging . 43 6.2.2 Serverless in content packaging . 44 6.3 Use case (B) VideoTranscodingresults . 47 6.3.1 VMs in Video Transcoding . 47 6.3.2 ServerlessinVideoTranscoding. 48 6.4 Use case (C) Contentstitchingresults . 48 6.4.1 VMincontentstitching ............................ 50 6.4.2 Serverlessincontentstitching. 51 6.5 Use case (D):ContentAdInsertionresults . 53 6.5.1 Container orchestration setups . 53 6.5.2 Measurement procedure for Ad insertion prototype . 54 6.5.3 Container orchestration for Ad insertion results . 54 7 Conclusion and Future work 58 7.1 Conclusions....................................... 58 7.2 Limitations and Future work . 59 7.2.1 Implementation constraints . 59 7.2.2 Futurework................................... 59 Appendices 65 A Serverless Cloud Provider Evaluation 66 A.0.1 Serverless provider performance evaluation . 66 A.0.2 Serverlessproviderperformanceresults. 67 i Chapter 1 Introduction 1.1 Background Information This project was carried out at Unified Streaming, which is a leading company in streaming services located in the Netherlands. Unified Streaming provides streaming software for o✏ine and on-the-fly packaging content video and audio. Its software is based on C/C++ module and also possible to use on most common web server plugins. 1.2 Research Purpose We are in a new era of media entertainment which o↵ers viewers endless choices for media consumption, from watching our favorite TV shows, to live streaming sporting events, to following camera feeds on social media in real-time. Consequently, the increase of data traffic through the networks has escalated dramatically, and network operators and service providers are struggling to serve the fast-growing media traffic over existing infrastructure. By 2020 Video traffic is expected to increase up to 80% from all Internet traffic [23]. HTTP Adaptive Bitrate Streaming (ABS) has converged as the primary transport protocol for delivering video over the Internet. The Cloud Services have evolved exponentially by providing ease of access to powerful computing resources in multiple locations. They have developed other novel technologies to improve the provisioning of resources such as Function as a Service(FaaS) and microservices based technologies. These allow to develop, run, and deploy code with specific functionality without controlling the back-end infrastructure. This thesis looks into the performance evaluation of di↵erent cloud technologies available to deploy media processing functions, which can help to achieve target KPI’s for 5G networks and improve the efficiency of media distribution. Cloud technologies such as hypervisor virtu- alization, containers, micro-service, and cloud functions will be used in this research. Chosen media processing functions are based on a di↵erent level of computing complexity in streaming services: content packaging, video transcoding, and content stitching. 1.3 Motivation There are several motivations to carry out this work. First, the Future networks such as 5G, which can provide distributed cloud computing at the edge. For media delivery, it is attractive because it allows to run specific media processing functions at any point of the network. 1 For instance, a late-transmuxing seen in [46], provides higher performance than a CDN when delivering content, and a server-side ad insertion, which increases level of user personalization. This last one can be achieved by the deployment at strategic geo-locations/edges. 1.4 Challenges The bottom line of this work it is