QoE-aware container scheduling for co-located cloud applications - Marcos Magno de Carvalho (2021)
Cloud computing has been successful in providing computing resources to deploy highly available applications for multiple content providers (cloud customers). In this case, to improve resource usage, the cloud provider tends to share its computing resources between different customers, co-locating applications on the same server. However, co-located applications generate interference with each other, which can cause degradation of the applications. Furthermore, each application demands a different type of resource and performance, which makes resource management even more complex. To mitigate this, the container scheduling process uses metrics based on Quality of Service (QoS), which are pre-established and specified in the Service Level Objectives (SLO). However, for applications where users' experience is important and measurable, QoS-based SLO is insufficient to guarantee end-users good Quality of Experience (QoE). This is because the QoS metrics do not correctly reflect the users' experience.The proposal of this dissertation deals with this problem, proposing a QoE-aware container scheduler/rescheduler in an environment where applications are co-located. To that end, we propose a new approach that considers cloud metrics to estimate the QoE that the cloud can offer. Furthermore, we propose using QoE as a performance metric in SLO and an algorithm that uses QoE estimation to perform the container scheduling/rescheduling. Finally, we carried out an experimental evaluation of our proposal considering two different streaming video applications. The results obtained show that QoE-aware scheduling can increase users' QoE, in addition to improving other QoE factors, such as stall event and resolution change. Furthermore, our results showed that our scheduler/reschedule was able to reduce the amount of resources used.