Puget Systems print logo
Read this article at https://www.pugetsystems.com/guides/572

Advantages of Desktop Virtualization

Currently, the main advantages of desktop virtualization come into play when you have medium to large number of users. If it catches on and becomes possible for everyday consumers to "rent" a desktop that resides in the cloud for their personal use this may change, but at the moment virtual desktops are primarily being used by larger businesses. The advantages for these businesses can mostly be boiled down to:

  • With enough users, virtual desktops become cheaper than individual PCs
  • Sharing of resources allows each user to have access to more computing power than they would with individual PCs
  • Thin clients and servers are more reliable than individual PCs and are much easier to manage
  • Since there is no data stored on the client system, data is more secure than it would be on individual PCs

One of the biggest advantages for a business is the simple monetary cost. Instead of needing a standard PC for every user, you can instead use a very affordable thin client or simply a cheaper or recycled PC for each user that connects to a virtual desktop. This does require more infrastructure including multiple servers, but at a certain number of users (which will vary depending on what level of performance each user needs) it becomes cheaper to use thin clients, servers and virtual desktops than individual PCs. In fact, Citrix even has a tool to calculate how much savings you would see by moving to virtual desktops.

On top of the straight-up cost savings for medium to large numbers of users, virtual desktops allow you to over-allocate resources like CPU and RAM. For example: if you have five users connecting to a server with ten CPU cores, you can actually assign each user three or more CPU cores rather than just two. This works out to a total of 15 CPU cores being allocated (5 more than there are physical cores), but virtualization is currently very good at balancing loads. So if one user is doing something intensive, the server can shift around the processing loads on the fly so that user can get extra processing power when they need it. Since it is very rare that every user will be heavily loading their desktop at the same time, this load balancing allows you to either provide more computing power to each user with the same amount of hardware or allows you to use less hardware in the first place to achieve the same amount of computing power.

Virtual Machine Resource Sharing
Virtual desktops can share resources like CPU cores to provide additional computing power to users when they need it

The third major advantage to a VDI is their reliability and maintainability. In general, PC's are overall more prone to failure and problems than servers and thin clients. Server hardware is designed for 100% uptime by using technologies like ECC memory to achieve maximum reliability which most desktops do not support. Thin clients do not have anything like ECC memory, but they are simply so basic that there is very little to break. And even if they do have a problem, it is much easier to swap out a thin client that to replace an entire user's PC. In addition, if you have a large number of users you really don't want to have to maintain the OS on each individual PC. Instead, VDIs allow you to use a master image for each virtual desktop. Rather than pushing updates to hundreds of computers, you can simply update a single master image and each virtual desktop will automatically use the updated version the next time the virtual desktop is booted. 

Finally, virtual desktops also provide increased data security. Since there is no actual data on the client device - just the software to connect to a virtual desktop - there is no risk of sensitive data being compromised if the client device is physically stolen or compromised. This can be especially useful in places like hospitals where it is extremely important for patient data to remain confidential, but doctors and nurses need access to that data regularly. You still have to worry about key loggers, viruses, and compromised user accounts, but VDI introduces an additional layer of data security not found on physical PCs.

Disadvantages of Desktop Virtualization

While virtual desktops have a lot of things going for them, they are certainly not perfect. Even if you have enough users and the infrastructure to justify a VDI, there are currently a number of disadvantages:

  • VDI requires a robust network for optimal performance
  • Streaming can be very CPU intensive on the virtual desktop
  • Streaming is limited in FPS and has varying degrees of input lag
  • Requires additional servers and licensing for commercial-grade desktop streaming

First, since you are essentially steaming a video of the virtual desktop to the client device there is quite a bit of network activity depending on how much of the screen is changing each frame. We found that when using XenDesktop to stream a virtual desktop at 30 FPS, basic tasks like word processing or browsing the web took 1-3 Mbps to stream, watching a 1080p video took about 8-10 Mbps, and even more intensive tasks took as much as 15 Mbps to stream. This isn't too much for a handful of virtual desktops, but if you have hundreds of users all streaming at the same time you could easily overload even a gigabit network.

XenDesktop netwok usage
Streaming video uses about 10 Mbps of our network. More intensive tasks can take as much as 15 Mbps

Second, it takes quite a bit of CPU power on the virtual desktop to capture the desktop's video, encode it, and send it over the network. With 8 cores of a Xeon E5-2680 V2 2.8GHz CPU assigned to a virtual desktop (and again streaming using XenDesktop at 30 FPS) streaming basic word processing used between 1-3% of the total CPU power. Streaming a 1080p video only added a few percentage points, but more intensive things that ran above 30 FPS on the virtual desktop (even simply dragging a window around quickly) could use as much as 30% of the total CPU power. 30% of eight Xeon E5-2680 v2 cores is quite a large amount of processing power so if you will be doing things that have a lot of rapid movement (like gaming) then you need to make sure you have plenty of additional CPU power availble to the virtual desktop.

XenDesktop CPU usage
It is possible for streaming can take a large amount of processing power on the virtual desktop

Even if you have plenty of network bandwidth and enough CPU power to stream the virtual desktop with no problems, the user experience is likely never going to be as good as using a local PC. Most desktop monitors display at 60 Hz, which is equivalent to 60 FPS. Streaming software, on the other hand, generally runs at between 15 and 30 FPS. So just from a display perspective streaming a virtual desktop will normally result in the display updating only about half as often as it would on a traditional PC. And since every input from a mouse or keyboard has to go across the network to the virtual desktop, there is also an additional amount of input lag that occurs. We will get more into this topic and how it affects usability on page two of this article.

Lastly, desktop virtualization is nowhere near as straight-forward to setup as traditional PCs and requires additional licensing for much of the required infrastructure. With enough users this can be offset by how much easier it is to maintain the virtual machines, but for small numbers of users setting and configuring a VDI will rarely be worth it. If you go the route of using a master image for the virtual desktops - which makes maintenance much easier- you need to have multiple Windows servers on your network to run things like Active Directory and the Desktop Delivery Controller. In addition, since you are using a single master image which already has product keys integrated, you need to make sure you are using software and OS licenses that are intended for businesses because you will be using the same product key on multiple desktops at the same time. 

< Previous Next >
Tags: NVIDIA GRID, virtual desktop, desktop virtualization, XenServer, XenDesktop, vGPU