MACRo2015 - International Conference on Recent Achievements in Mechatronics, Automation, Computer Science and Robotics

Performance Analysis of Remote Desktop based on Hyper-V versus Remote Desktop Services

Örs DARABONT 1, Konrád József KISS 2, József DOMOKOS 3

1 BSc student at Department of Electrical Engineering, Faculty of Technical and Human Sciences, Sapientia University, Tg. Mureş, e-: [email protected] 2 Department of Electrical Engineering, Faculty of Technical and Human Sciences, Sapientia University, Tg. Mureş, e-mail: [email protected] 3 Department of Electrical Engineering, Faculty of Technical and Human Sciences, Sapientia University, Tg. Mureş, e-mail: [email protected]

Manuscript received January 25, 2015, revised February 13, 2015.

Abstract: The fast spread of computer networks and broadband access, and also the development of different operating systems, makes possible to use different virtualization techniques and virtual machines. The release and spread of virtualization platforms makes possible the development of cost-effective information systems that can provide in addition dynamic resource management and simplified system administration. In this paper we present a comparative performance analysis of Remote based on Hyper-V versus Remote Desktop Services. We introduce system architecture for the two tested scenario and test environment including detailed hardware description. The main conclusions of the paper are that despite the higher acquisition and maintenance costs, the Remote Desktop Services outperforms the Hyper-V based Remote Desktop Virtualization in memory, CPU and also storage management.

Keywords: Virtualization, , Hyper-V, , Virtual Desktop, Remote Desktop Session, , Remote Desktop Services.

1. Introduction

The fast spread of computer networks and broadband Internet access, and also the development of different operating systems, makes possible to use different virtualization techniques and virtual machines (VMs). The release and spread of virtualization platforms allowed the development of cost-effective information systems that can provide in addition dynamic resource management and simplified system administration. [1] [2] The aim of our research is to find an optimal solution, which helps reducing energy consumption and allow us to create a cost-effective network infrastructure, regarding the acquisition cost of the hardware and software

125 10.1515/macro-2015-0012 126 Ö. Darabont, K. J. Kiss, J. Domokos licenses, and also the long term operating costs. The scope of the project is to develop a cost effective computer infrastructure considering desktop virtualization technologies and thin clients, to be used in two scenarios: as programming laboratories and also as office infrastructure. [3] [4] In the first stage of the project we have studied different solutions, started from commercially available dedicated thin clients to alternative thin client solutions like Android based smart phones and tablets or single chip computers such as Raspberry Pi, Odroid U3, Cubie Board. We have found that alternative thin clients are good solution for commercially available thin client replacement. These single chip computers are flexible, they can run Linux based operating systems, can handle Remote Desktop Protocol (RDP) for connecting to the , the acquisition costs are one order of magnitude cheaper than commercially available thin clients and they also have lower power consumption. For remote desktop virtualization there are several virtualization software tools like VMWare ESXi, Citrix Server or Hyper-V, and other alternatives like Microsoft Remote Desktop Services. We try to benchmark these solutions in order to choose the best one. The main purpose of this paper is to make a comparative performance study between the two Microsoft tools for Remote Desktop Virtualization: Hyper-V hypervisor and Remote Desktop Services. Tests were perform to evaluate memory, CPU and storage management. The paper is structured as follows: section 2 of the paper introduce system architecture and describes the test environment, section 3 contains the performed evaluation tests and section 4 presents the main conclusions.

2. Test environment description

Figure 1 presents test environment for both Remote Desktop Services (RDS) and Hyper-V based Desktop Virtualization scenario. We have Windows 2012 Server R2 with both Hyper-V role and RDS installed and configured on a HP ProLiant DL380p server station. On the left part of the figure are shown the RDS components marked with green and on the right part we have the Hyper-V with the guest VMs and their clients. Hyper-V Manager was used to create and manage VMs. The Hyper-V hypervisor is responsible for the server hardware resource sharing between the created VMs. Several types of clients presented in [3] can be connected to the VMs or directly to RDS such as personal computers, laptops, dedicated thin clients or thin clients based on single chip computers, even Android based smartphones or tablets. The connections are realized using Remote Desktop Protocol (RDP). In order to test the performance of both our Hyper-V and Remote Desktop Services implementations we used the built-in tool Perf. Analysis of Remote Desktop Virtualization based on Hyper-V versus RDS 127

Figure 1: Remote desktop virtualization test environment.

A. Server station hardware configuration The server we used for testing is a HP ProLiant DL380P Gen8. Table 1 highlights the main components of the server and its characteristics.

Table 1: Hardware configuration of the server station. Processor 1 x Intel Xeon E5-2609 v2 @ 2.5 GHz, 4 cores Memory 8 x 4GB DDR3 Chipset Intel C600 Series Storage controller Smart Array P420i/ZM Storage drives 3 x 500 GB 7200 RPM SAS Network controller 1Gb 4 port 331FLR Ethernet adapter

In addition, the server has the following upgrade capabilities:  Processors: up to 2 x Intel Xeon E5-2600 and E5-2600 v2 series processors (up to 24 cores in total)  Memory: up to 768 GB (24 x 32 GB LRDIMM @1066MHz), depending on memory speed  Storage drives: up to 8 SAS or SATA HDD or SSD drives  Optional upgrades: 1 x PCIe 3.0 x16 connector, 1 x PCIe 3.0 x8 connector, 1 x PCIe 2.0 x8 connector for additional controller cards or PCIe SSD drives 128 Ö. Darabont, K. J. Kiss, J. Domokos

B. Remote Desktop Virtualization using Microsoft Hyper-V hypervisor Test environment is presented in Figure 1. Remote Desktop Virtualization using Hyper-V can be seen in the right part of this figure. Needed components are highlighted with red color. This scenario uses virtualization in order to host the remote desktops. The server (host) is running 2012 R2 operating system with the Hyper-V role installed and configured. For our tests, we created 12 Generation 1 virtual machines, each with one quad core virtual processor, 2 GB of RAM, IDE attached VHDx virtual disks and a virtual network adapter.

Figure 2: for VMs. The virtual machines (guests) are running Enterprise Edition operating systems. On Figure 2 you can see the configuration of the virtual machines in Hyper-V Manager application used for creating and managing the virtual machines. In order to improve storage I/O throughput, we disabled the use of page file and the service in the guest operating systems. Perf. Analysis of Remote Desktop Virtualization based on Hyper-V versus RDS 129

C. Remote Desktop Services Remote Desktop Services scenario is also presented on Figure 1. RDS is a created to make possible multi user connections to a Windows server station. Connected clients use RDP to transfer commands to the server and to receive the graphical of the remote desktop. Connected users have access granted to all the software applications installed on the server station. In this case the received remote desktop is a R2 desktop.

3. Performance evaluation tests

In order to test the performance of both our Hyper-V and Remote Desktop Services implementations we used the built-in Performance Monitor tool. The first challenge was finding the right performance counters that accurately monitor the use of system resources. Three test suites were performed related to memory usage, CPU load and storage drive queue. These parameters are critical when we evaluate system performance. Committed bytes counter of the Memory object shows the amount of used memory. This can be given also as a percentage of the total amount of memory if we use the % Committed bytes in use counter.

Figure 3: Memory allocation test for Hyper-V based remote desktop virtualization. The first test was performed in order to determine the way of memory allocation for VMs. We started consecutively all the 12 VMs and monitored the Committed bytes and % Committed bytes in use counters. The diagrams in 130 Ö. Darabont, K. J. Kiss, J. Domokos

Figure 3 clearly shows 12 steps in memory usage that mark VM starting times. In conclusion this test shows that when a VM starts, the memory amount given in VM configuration is allocated even if it is not entirely used. % Total Run Time counter of Hyper-V Hypervisor logical processor object can be used for CPU test. This counter records the total consumption of the CPU resource: guest and host operating systems together. We started consecutively one CPU Stress application [5] on each VM, using medium (about 30%) CPU load and single thread settings. In the same time we logged % Total Run Time of Hyper-V Hypervisor logical processor counter on the server machine. Figure 4 shows the CPU test results. The 30% CPU usage is divided on the 4 core of the server’s processor. This means a 7.5% CPU usage added by each VM. The 12 VMs gives a theoretical CPU usage of about 84%.

Figure 4: CPU Stress test running on single thread with hypervisor.

Figure 5: CPU stress test running on four threads with hypervisor. Perf. Analysis of Remote Desktop Virtualization based on Hyper-V versus RDS 131

The conclusion is that full CPU resources are shared to each VM and when server CPU usage reach its limit, all VMs perform slower.

Figure 6: CPU stress test running on single thread with RDS.

Figure 7: CPU stress test running on 4 threads with RDS. These CPU stress tests were repeated using the RDS scenario. Figure 6 and Figure 7 shows the results for the single threaded and four threaded CPU Stress tests respectively. For the single threaded CPU Stress test the 12 steps of the CPU usage percentages are more clearly visible in the diagram. For the four threaded stress test we can distinguish three steps until CPU reaches its full occupancy. This is because at the starting point CPU usage is near to 0 in the RDS scenario. 132 Ö. Darabont, K. J. Kiss, J. Domokos

Figure 8: Storage disk queue test with hypervisor.

Figure 9: Storage disk queue test with RDS. Figure 8 and Figure 9 presents storage tests in the two scenario. Measurements were taken during Matlab application starting process. Average disk queue length is one the most important parameter marked with green color on the diagrams. In Hyper-V solution disk queue is high because of the attached virtual disks. Server’s hard disk is solicited to satisfy multiple request when multiple Matlab Perf. Analysis of Remote Desktop Virtualization based on Hyper-V versus RDS 133 applications are started by different VMs from multiple virtual disks hosted on the same hard drive. RDS measurements show a very low average disk queue length because once the application is started, it is multiplied in the memory for the connected client stations. Large average disk queue values limit also CPU load in the case of Hyper-V and low disk queue value allow full CPU usage in the RDS scenario.

4. Conclusion

In this paper we have investigated performance of remote desktop virtualization using two alternative solutions: Hyper-V based and RDS. We have implemented the test environment using an entry level server machine for both scenarios and performed memory, CPU and also storage management measurements. Memory management of the RDS seems to be better than in the case of hypervisor based remote desktop virtualization. Full amount of memory of a VM is allocated when a VM starts in hypervisor based solution. In the case of CPU tests booth systems have almost the same results. CPU usage in case of hyper-V is a little bit higher and in RDS case CPU usage percentages are more clearly distinguishable from the measurements. Storage management measurements shows a clear advantage for the RDS scenario. Average disk queue values are at more than an order of magnitude higher when hypervisor based solution is tested. The main conclusion of the paper is that despite the acquisition and maintenance costs are higher, the Remote Desktop Services scenario outperforms the Hyper-V based Remote Desktop Virtualization both in memory and CPU management.

Acknowledgements

The research and publication has been supported by the European Union and Hungary and co-financed by the European Social Fund through the project TAMOP- 4.2.2.C-11/1/KONV-2012-0004 - National Research Center for Development and Market Introduction of Advanced Information and Communication Technologies.

References

[1] Rodríguez-Haro F., Freitag F., L Navarro, Hernández-Sánchez E., Farías-Mendoza N., Guerrero-Ibanez J.A., González-Potes A., “A summary of virtualization techniques”, in 134 Ö. Darabont, K. J. Kiss, J. Domokos

Proceedings of the 2012 Iberoamerican Conference on Electronics Engineering and Computer Science, Procedia Technology 3, 2012, pp. 267 – 272. [2] Bari F., Boutaba R., Esteves R., Granville L.Z., Podlesny M., Rabbani G., Zhang Q., Zhani M.F., “Data Center Network Virtualization: A Survey”, in IEEE Communications Surveys & Tutorials, Vol. 15, No. 2, second quarter 2013. [3] Darabont Ö, Kiss K. J., Domokos J., “Cost effective computer infrastructure” in , Proc. of the XXIVnd International Conference on Computers and Education (SZÁMOKT 2014), Odorheiu Secuiesc, Romania, 2014, pp. . [4] Domokos J., Kiss K.J., Darabont Ö, “Economic and technological analysis of the development of a virtual machine room”, in Proc. of the Annual Scientific Conference of the Hungarian National Coordinating Center for Infocommunications (ASCONIKK 2014), Veszprém, Hungary, 2014, pp. . [5] MSDN blog Tools To Simulate CPU / Memory / Disk Load, Windows sysinternals CPU Stress application: http://blogs.msdn.com/b/vijaysk/archive/2012/10/27/tools-to- simulate-cpu-memory-diskload.aspx