Load Balancing in Unihub SaaS System Based on User Behavior Prediction
ISP RAS develops SaaS cloud computing system Unihub. The system provides possibility for users to work via Web-browser with interactive Linux-applications, running in isolated Docker containers. Each container runs Xorg process and variable amount of user applications. Containers share cpu time and have dynamical demands to computational resources. Conventional way of placement when containers are distributed uniformly among all servers can lead to bad result: some servers have too many running applications at some moment but others are almost empty.
Quality of Experience (QoE) is a measure of a customer's experiences with a service. In Unihub we evaluate QoE as an amount of visual slowdown of graphical applications.
In this paper we propose to collect information about users behavior and investigate how different applications work in order to predict containers load and provide this information to the scheduler.
Our observations showed that more then a halt of Unihub users work with the system on scheduled times, and depending on the schedule all users can be divided into several groups.
The simulation results of the proposed algorithms have shown that the use of information about the user's behavior allows to run more containers on a given set of servers without significant loss of QoE.
Proceedings of the Institute for System Programming, vol. 27, issue 5, 2015, pp. 23-34.
ISSN 2220-6426 (Online), ISSN 2079-8156 (Print).