FastDesk: A remote desktop virtualization system for multi-tenant

https://doi.org/10.1016/j.future.2017.07.001Get rights and content

Highlights

  • Present a remote desktop virtualization system for multi-tenant, namely FastDesk.

  • Design a server-push streaming scheme to improve user experience & video quality.

  • Propose a virtual desktop placement algorithm to reduce the waste of resource.

  • Conduct a series of experiments to evaluate the performance of the FastDesk.

Abstract

Classical remote desktop systems are considered for a single host, thus hindering their applicability on virtualization environment. Remote desktop virtualization is rising in the recent years as a new advanced extension to virtualization technology. However, existing remote desktop virtualization solutions introduce weak performance in relation to response time, video quality, and cost saving. This paper proposes a novel remote desktop virtualization system for multi-tenant, namely FastDesk, which is based on a server-push mode streaming mechanism and a heuristic virtual desktop placement algorithm. Through extensive experiments, the results show that FastDesk outperforms other popular platforms in terms of bandwidth with less than 2 Mbps and 94% video quality. Meanwhile, it creates the minimal resource wastage compared with other virtual machine placement algorithms. Furthermore, the proposed FastDesk achieves low CPU utilization, low bandwidth and good scalability. At last, to widen its applicability, FastDesk has been implemented on VirtualBox for running 3D programs.

Introduction

Nowadays, Information Technology (IT) organizations find that the widening gap between the availability and demand of IT resources becomes a challenging issue. Personal desktop computers are ubiquitous in enterprises, educational institutions and governmental organizations, while the cost of maintenance and upgrade of these computers turns out to be enormous and unmanageable. Virtualization technology has been advocated as a realistic solution for resource consolidation, and it has demonstrated the cost saving benefit in these circumstances. It also provides many other benefits, including facilitating rapid deployment, offering enhanced flexibility and scalability [1], [2].

Remote desktop virtualization, a new advanced extension of virtualization technology, is rising in the recent years as an alternative to classical desktop delivery [3]. It is a software technology that separates the desktop environment and associated applications from the remote client device. An end user only needs a thin client which handles display, keyboard and mouse combined with adequate processing power for graphical rendering and network communication. Moreover, the client no longer has to keep the user state and communicate with the server by using a remote protocol. This remote protocol allows graphical display to be virtualized, and transmits user input from client to server [4], [5]. Thus, remote desktop virtualization offers a cost-efficient paradigm shift to ease management complexity since operating systems, applications and data are kept in a large data center. In addition, it is easy to troubleshoot and replace thin client since it is stateless. With the ever increasing popularity of cloud computing, remote desktop virtualization can be easily provided through cloud environments. Similar to the Software as a Service (SaaS) model, this approach is also referred to as Desktop as a Service (DaaS) [6].

Despite some works [3], [6], [7], [8] have been contributed on remote desktop virtualization, technical challenges still exist. One key task in this field is to provide high fidelity display and good interactive experiences for end users, especially in multimedia application which is typically integrated with modern desktop computing. Current remote display protocols such as Remote Framebuffer protocol (RFB) [9] and Remote Desktop Protocol (RDP) [10] are widely used in remote desktop virtualization systems [11]. They are mainly designed for slow-motion graphical applications, such as text editor, which imply minor changes with low frequency. On the one hand, RFB uses the client-pull model to update its screen. Nieh et al. [12] pointed out that the performance of the thin-client system is mainly affected by latency. In this case, the client-pull system will suffer more since it has to send two messages for each update and cannot effectively support high-motion scenarios such as video playback and real-time interactions [13]. On the other hand, the details of RDP are not open to the public. It is also worth noting that RDP uses the Microsoft proprietary solution such as Direct2D and Direct3D, which is not available in Linux and Mac OS. Therefore, the transport of multimedia data over these protocols is inefficient, requiring high bandwidth to ensure the delivery of all the frames to the client in time [14]. There are efforts [7], [15] to support high fidelity display and improve user experience in the thin-client computing architecture, whereas these architectures are dependent on the underlying hardware or implementing specific hardware driver which is not suitable for a virtualization environment since Virtual Machine Monitor (VMM) provides an abstract layer for operating systems and applications.

In a remote desktop virtualization system, another key challenge is to improve cost saving as much as possible [16], [17], [18]. Virtualization technology provides the basis of statistical multiplexing to server resources in data centers. Typically, in the remote desktop virtualization system, all operating systems and applications are installed on Virtual Machines (VMs), which are located on a server or a cluster in a remote data center. Each virtual desktop maps into a VM. Under this scenario, finding the optimal placement strategy of VMs can effectively utilize server resources and maximize the profits. However, the VM placement is a kind of bin-packing problem, which is known as an NP-hard [18], [19], [20]. At present, the greedy heuristics [18], [19], [20], [21], [22], such as First-Fit (FF), Next-Fit (NF), Best-Fit (BF) etc., are popular. Nevertheless, these approaches are rough and hard to obtain maximized profit.

To address the above challenges, we propose FastDesk, a novel remote desktop virtualization system for multi-tenant, which is based on our previous work [23]. Combined to a server-push mode stream architecture and virtualization technology, FastDesk provides high quality display and good user interactive experience without modifying Guest Operating System (Guest OS) or requiring specific hardware. Meanwhile, to minimize the server resource wastage, it uses a nature-inspired heuristic algorithm to solve the VM placement problem. Furthermore, FastDesk supports multi-tenant management, which is a key feature in cloud computing services. Multi-tenant management contains resource allocation and performance monitoring, which transforms FastDesk into a DaaS system. It can also scale down the screen size to fit different devices. We implement FastDesk prototype based on Kernel-based Virtual Machine (KVM) [24], a popular virtualization system, and conduct extensive experiments. The results show that our system achieves 94% video quality in a 1024×768 display resolution for video playback in both Local Area Network (LAN) and Wide Area Network (WAN) environments, while classic remote systems only achieve at best around 20%. In a high interaction scenario, FastDesk achieves the shortest response time in WAN, outperforming other popular desktop virtualization systems. Furthermore, the proposed algorithm minimizes the waste of resources as compared with other classical VM placement heuristics.

To sum up, the main contributions of FastDesk as follows:

  • We proposed a novel remote virtualization system for multi-tenant, which contains a server-push mode streaming mechanism and a heuristic virtual desktop placement algorithm.

  • The results show, via a great amount of experiments, that the FastDesk achieves low CPU utilization, low bandwidth and good scalability.

  • We have also demonstrated that the proposed system outperforms other popular platforms in terms of CPU utilization, bandwidth and video quality. Besides, our proposed virtual desktop placement algorithm always gets the minimal resource wastage against other classical heuristics.

The remainder of this paper is structured as follows: Section 2 explores some existing Remote Desktop Virtualization techniques and their placement algorithms. Section 3 elaborates on our architecture. Section 4 describes an evolutionary heuristic VM placement algorithm. Section 5 introduces our system implementations in details. Section 6 presents experimental results measuring our performance and compares them to other popular remote desktop virtualization systems. Finally, conclusion and future work are presented in Section 7.

Section snippets

Related work

Remote desktop virtualization is a thin-client computing pattern [3], [25]. A common implementation of this system is that stateless thin clients interact with virtual desktops by means of network communication using a remote display protocol. Virtual desktops, which contain isolated operating system instances and related applications, are installed on VMs hosted by servers in a remote data center. Virtualization technology allows multiple VMs to run on a real server, which implies improving

Architecture design

FastDesk can be used either in an internal network like lab and IT organizations, or as a DaaS platform. Fig. 1 shows the high-level architecture of FastDesk. The management node is a centralized control node in the system. The number of management nodes is not limited to one. It controls several service nodes. As the size of the system continues to grow, the number of management node can also be increased. Each service node is a physical machine that dynamically starts and stops multiple

VM placement algorithm

A remain problem is how to minimize the wastage of server resources, which depends heavily on the VM placement strategies. This section will cover a nature-inspired solution. After formulating the VM placement as a bin-packing problem, the proposed evolutionary heuristic algorithm is completely described.

Implementation

This section elaborates the details of the FastDesk system implementation, including server-side, client-side and the remote display protocol.

We implemented a prototype server node based on QEMU-KVM1  (version 1.2.0) and a client by extending a simple VNC Viewer2 . Since FastDesk only hooks virtual display device under the Guest OS, no modification is required to applications and operating systems. The

Evaluation

To demonstrate the effectiveness of FastDesk, we first test different scenarios and evaluate the overall performance. We then conduct a comparison study with a number of widely used platforms such as X, VNC, Microsoft Remote Desktop, ThiNC, Spice and TeamViewer. Some commercial platforms like PCoIP, Citrix MetaFrame are not public available, and hence we did not compare them in this paper. Besides, we also compare the proposed nature-inspired evolutionary algorithm with other four classical

Conclusion and future work

This paper presents FastDesk, a novel remote desktop virtualization system for multi-tenant. By intercepting the virtual display driver under Guest OS, FastDesk works seamlessly with common applications, desktops and operating systems without any modification. FastDesk takes advantage of a video-stream architecture and an efficient video codec to provide high quality display updates with low latency and bandwidth consumption. Meanwhile, it proposes a heuristic Ant Colony Optimization based

Acknowledgments

This work was supported by National Key Research & Development Program of China (No. 2016YFB1000502), NSFC (No. 61672344, 61525204) and Shanghai Science and Technology Innovation Fund (No. 16511102502). Ruhui Ma is the corresponding author. We would like to thank the anonymous reviewers for their helpful comments.

Tao Song received his M.Eng. degree on Software Engineering major from Shanghai Jiao Tong University and B.Eng. degree on Automation from China University of Mining and Technology. He is currently a Ph.D. candidate in Shanghai Jiao Tong University in China. His research area includes data center networking, cloud computing and swarm intelligence.

References (46)

  • R.A. Baratto, L.N. Kim, J. Nieh, Thinc: a virtual display architecture for thin-client computing, in: Proceedings of...
  • YuW. et al.

    Muse: a multimedia streaming enabled remote interactivity system for mobile devices

  • RichardsonT. et al.

    Virtual network computing

    IEEE Internet Comput.

    (1998)
  • TritschB.

    Microsoft Windows Server 2003 Terminal Services

    (2004)
  • BorderC.

    The development and deployment of a multi-user, remote access virtualization system for networking, security, and system administration classes

    ACM SIGCSE Bull.

    (2007)
  • NiehJ. et al.

    Measuring thin-client performance using slow-motion benchmarking

    ACM Trans. Comput. Syst. (TOCS)

    (2003)
  • TaylorC. et al.

    Improving video performance in VNC under high latency conditions

  • DeboosereL. et al.

    Thin client computing solutions in low-and high-motion scenarios

  • De WinterD. et al.

    A hybrid thin-client protocol for multimedia streaming and interactive gaming applications

  • ZhangJ. et al.

    A unified algorithm for virtual desktops placement in distributed cloud computing

    Math. Probl. Eng.

    (2016)
  • ManC.L.T. et al.

    Virtual machine placement algorithm for virtualized desktop infrastructure

  • LeThanhManC. et al.

    Desktop workload characteristics and their utility in optimizing virtual machine placement in cloud

  • ChowdhuryM.R. et al.

    Study and performance analysis of various VM placement strategies

  • Cited by (7)

    View all citing articles on Scopus

    Tao Song received his M.Eng. degree on Software Engineering major from Shanghai Jiao Tong University and B.Eng. degree on Automation from China University of Mining and Technology. He is currently a Ph.D. candidate in Shanghai Jiao Tong University in China. His research area includes data center networking, cloud computing and swarm intelligence.

    Jiajun Wang received the B.Eng. and M.Eng. degrees from Shanghai Jiao Tong University in 2013 and 2016. Currently, he is working as a software engineer at Microsoft. His research interests mainly include GPU virtualization and system security.

    Jiewei Wu received his B.Eng. and M.Eng. degrees from Shanghai Jiao Tong University in 2011 and 2014. Currently, he is working as a software engineer at Baidu. His research interests include operating system and virtualization technology.

    Ruhui Ma received his Ph.D. degree in computer science from Shanghai Jiao Tong University, China, in 2011. He has worked as a postdoc at Shanghai Jiao Tong University (2012 and 2013), at McGill University, Canada (2014), respectively. He is an Assistant Professor in the Department of Computer Science and Engineering at SJTU. His main research interests are in virtual machines, computer architecture and network virtualization.

    Alei Liang received his B.Eng. and M.Eng. degrees from Hefei University of Technology in 1991 and 1997, and Ph.D. degree from Shanghai Jiao Tong University in 2002. He is currently an Associate Professor in the school of Electronic, Information and Electrical Engineering at Shanghai Jiao Tong University. His research interests include Computer Architecture, Networking and Swarm Intelligence.

    Tao Gu received his Bachelor degree from Huazhong University of Science and Technology, and M.Sc. from Nanyang Technological University, Singapore, and Ph.D. in computer science from National University of Singapore. He is currently an Associate Professor in the School of Computer Science and Information Technology at RMIT University. His current research interests include mobile and pervasive computing, wireless sensor networks, distributed network systems, sensor data analytics, and online social networks. He is a Senior Member of the IEEE and a Member of the ACM.

    Zhengwei Qi received his B.Eng. and M.Eng. degrees from Northwestern Polytechnical University, in 1999 and 2002, and Ph.D. degree from Shanghai Jiao Tong University in 2005. He is currently a Professor at the School of Software, Shanghai Jiao Tong University. His research interests include program analysis, model checking, virtual machines, and distributed systems.

    View full text