Lessons Learned with vCPU Allocation and HDX

How many of you have read the XenDesktop Planning Guide called “VM-Based VDI Resource Allocation” that is in the XenDesktop Design Handbook? Hopefully, there are a lot as it provides a table with initial recommendations for allocating vCPU, RAM, steady state IOPS for VDI type desktops. Remember, these are estimates!

User Group Operating System vCPU Allocation Memory Allocation Avg IOPS (Steady State) Estimate Users/Core
Light Windows XP 1 768MB-1 GB 3-5 10-12
Windows 7 1 1-1.5 GB 4-6 8-10
Normal Windows XP 1 1-1.5 GB 6-10 8-10
Windows 7 1 1.5-2 GB 8-12 6-8
Power Windows XP 1 1.5-2 GB 12-16 6-8
Windows 7 1-2 2-3 GB 15-25 4-6
Heavy Windows XP 1 2 GB 20-40 4-6
Windows 7 2 4 GB 25-50 2-4

This table assumes you are using Provisioning Services as the single image management solution. As you can see, most user group categories, we recommend a single vCPU. Most users will be able to work with a single vCPU allocated to their virtual desktop image. However, in situations where multimedia, voice, video, webcams are used, this could result in less than stellar performance. Why? Have you ever looked at your CPU when doing something like Microsoft Lync? If not, take a look on a non-virtual desktop. Your CPU is going to be running pretty hot.

As soon as you start using some of the more advanced HDX capabilities, it is pretty safe to recommend the allocation of 2 vCPUs. With only 1 vCPU, you will probably see inconsistent performance with video playback due to the processes/threads waiting for their turn on a single vCPU. With two, we can overcome the serialization of the processing.

Unfortunately, once you allocate 2 vCPU, your host hypervisor scalability will decrease because the CPU scheduler must do more work. But allocating 2 vCPU where you used to allocate 1 vCPU will not cut your scalability in half (it isn’t that bad). But remember, you are doing heavier processing activities as well if you need to use HDX items like HDX RealTime so don’t count these users in the Light User Group category.

The virtual desktop that Citrix IT allocated for me is 2 vCPUs. And I use this thing every day and have had no issues with the user experience, even when watching YouTube videos. So you need to ask yourself a question… Do you want to pack on the most users possible, or do you want to provide a consistent user experience that mimics a traditional desktop?

Daniel Feller – Lead Architect
XenDesktop Design Handbook

3 thoughts on “Lessons Learned with vCPU Allocation and HDX”

  1. Hi Dan,
    One question I can’t find an answer on anywhere. Your typical modern server has 2 x hex core CPUs for a total of 12 cores, if you turn on HyperThreading in the BIOS then XenServer will show you 24 cores. Does the table above (or any reference to cores in general) refer to hyperthreaded cores that XenServer can see, or non-hyperthreaded cores. I am assuming the latter, but would like to be sure.

    Ie for heavy users (6 x Win7 users per core) can my server support 12 cores x 6 users = 72 users, or 24 cores x 6 users = 144 users(!)


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.