Kasper Johansen recently asked a question on the WVD Community slack channel to see if CP Fair Sharing was supporting on Windows 10 Multi-Session. I wasn’t quite sure so I thought I would do a bit of testing and it doe indeed seem to be supported.
What is CPU Fair Share??
So what is CPU Fair Share feature?? According to the Microsoft documentation the description is as follows:
“Fair Share CPU Scheduling dynamically distributes processor time across all Remote Desktop Services sessions on the same RD Session Host server, based on the number of sessions and the demand for processor time within each session. This process creates a consistent user experience across all of the active sessions, while sessions are being created and deleted dynamically. This feature builds on the Dynamic Fair Share Scheduling technology (DFSS) that was part of Windows Server 2008 R2.” – Fair Share technologies are enabled by default in Remote Desktop Services – Windows Server | Microsoft Docs
So the next task is to find out how to enable it and see if those policies are in place for WVD. There is a local GPO for controlling the setting which is Windows Components\Remote Desktop Services\Remote Desktop Session Host\Connections.
By default the setting is No Configured, which will use Fair Share CPU.
Testing CPU Fair Share
So to test this I created 3 sessions and the using a CPU Stress tool to see what happened with multiple sessions. With 1 Session we see that the CPU is at 100%. This is to be expected as the CPU Stress test tool will consume whatever you give it,
So next I logged on another user to see what would happen. As you can see the CPU was splitting the load between the 2 sessions to ensure that each session got the processor time it needed.
The next test is to add a 3rd session and see what happened. Again the load was split between the 3 sessions.
Summary
I hope you found this information useful, and if you ever wondered what the default behaviour is now you know! I would highly recommend not disabling this feature as it would enable 1 single user to consume all the resources on your WVD host which you definitely do not want!
The more users you add onto your hosts they will all share the CPU fairly if they are running any CPU intensive tasks. However, those processes’ of course amy run a bit slower if they are sharing the CPU with other users.