One of the key decisions during a XenDesktop design is whether to use the 32-bit (x86) or 64-bit (x64) version of the Windows desktop operating system. I’ve seen a few projects falter because they’ve opted for the 64-bit version without really thinking this decision through and I want to make sure that this doesn’t happen to you.
Question: What’s the benefit from implementing a 64-bit desktop operating system?
The primary benefit of a 64-bit operating system is that it allows you to assign significantly more physical memory to the desktop. With the 32-bit version of Windows XP or Windows 7 you’re restricted to 4GB of physical memory (there are a few techniques available to extend this limit but they do not come without disadvantages – check out Daniel Feller’s blog post for more information). However, with the 64-bit versions this limit is increased to 128GB for Windows XP and 192GB for Windows 7 Professional.
This sounds great, but how many people really need more than 4GB of RAM? In my experience, this requirement is limited to a very small number of heavy users within the company, for example developers or designers. Most people can get by very well with 2-4GB of RAM. Another benefit of 64-bit operating systems is that they let you run 64-bit applications (applications specifically written for a 64-bit operating system will not run on 32-bit operating systems). However, most 64-bit applications are also available as 32-bit applications.
Question: Even if most people don’t need 4GB of RAM, why not use the 64-bit version so that you have the flexibility to support more than 4GB of RAM in the future? After all, application memory requirements are continuously increasing.
It’s a valid point, however the main issue with 64-bit operating systems is that they can’t support 16-bit applications and most companies still have some 16-bit applications hanging around somewhere. Even 32-bit applications can have elements of 16-bit code in them (and many do!). So what are the options?
1: Deploy a 32-bit operating system limited to 4GB of RAM for the majority of users. Provide power users with a 64-bit operating system so that they can be assigned more than 4GB of RAM.
Note: For future reference, Windows 8 is available in both 32-bit and 64-bit versions.
2: Deploy a 64-bit operating system for everyone and use Microsoft Windows 2008 x86 with Citrix XenApp 5.0 to deliver 16-bit applications.
Note: 5.0 is the last version of XenApp released that supports a 32-bit version of Microsoft Server (Microsoft Server 2008). Windows 2008 R2 is required for XenApp 6.x and is 64-bit only. Mainstream support for Microsoft Server 2008 ends on January 13th, 2015 (extended support ends on January 14th, 2020). End of Life (EoL) for XenApp 5 is also January 13th, 2015 (extended support ends on January 14th, 2020).
3: Deploy a 64-bit operating system for everyone and use VM Hosted Apps to deliver 16-bit applications from 32-bit desktop operating systems.
4: Deploy a 64-bit operating system for everyone and replace / re-engineer all applications to be 32-bit or 64-bit.
Question: Any other disadvantages?
Another disadvantage from selecting a 64-bit desktop operating system is that you will need to find 64-bit drivers. Unfortunately, this is easier said that done and you may well struggle for some of the older drivers out there.
Question: So should I just go with 32-bit to be safe?
Unless you’re designing virtual desktops for people that need more than 4GB of memory, the simplest approach is going with a 32-bit desktop operating system (Hosted VDI or Hosted Shared). I also recommend checking out Citrix AppDNA when selecting your desktop and application delivery methods. It will tell you if an application is 16-bit or contains elements of 16-bit code, in addition to a wealth of useful compatibility information.