Anyone have any thoughts on this? @johntwilley were you able to find any further info?
Do you have enough memory to enable it and not have most of the memory used? If so then it really doesn't matter, its when your say using 105% or 110% of the memory in the compute clusters where it may help prevent things like swapping and ballooning which could be an issue, especially if you really restrict the memory in your vms. If you don't try and right size as much as possible, like giving a desktop more then 90% of what it's going to use, then that setting really isn't needed. Reservations only start really being a concern ones the host memory starts getting taxed a bit.
It is required if you using a hardware graphics card, but outside of that, there isn't a requirement to use it. In general, use that as a guideline, and test trying things that don't fit what your trying to do.
For the most part I typically enable memory reservations when running any flavour of VDI regardless of vendor. If the host and cluster is "right sized" to handle the maximum number of possible active VMs, then reserving the memory will only compliment and ensure that a host is never at risk of being overloaded with more VMs than designed, thus avoiding memory ballooning and performance becoming an issue due to the use of vSWAP which will perform slower than accessing the RAM.
When you reserve all the guest memory, you are also removing the creation of a VSWAP file for every VM which from a storage perspective (assuming SSD and shared) will typically cost more than the associated memory reservation. So it's ultimately a trade off in cost vs capacity and performance.
For example if you have 1000VMs, here are two possible scenarios (all or nothing, a compromise could be found by not necessarily reserving ALL memory i.e. 50%) - assumptions are of course being made that the cluster is dedicated to VDI workloads etc.
- 6GB of RAM per VM, all reserved, this equates to 6TB of RAM (+hypervisor overheads) needed across the allocated hosts. If the cluster is right sized for the 1000VMs for the correct level of concurrency for those that are "active", then the memory wouldn't be being used for any other purpose anyway.
- 6GB of RAM per VM, none reserved, this equates to 6TB of VSWAP storage. The use of the VSWAP will impact VM performance if triggered but similarly, if not triggered will result in the waste of 6TB of capacity.
Hope that helps.