User communities are rapidly transitioning their "traditional desktops" that have dedicated hardware and software installations into "virtual desktop clouds" (VDCs) that are accessible via thin-clients. To allocate and manage VDC resources for Internet-scale desktop delivery, existing works focus mainly on managing server-side resources based on utility functions of CPU and memory loads, and do not consider network health and thin-client user experience. Resource allocations without combined utility-directed information of system loads, network health and thin-client user experience in VDC platforms inevitably results in costly guesswork and over-provisioning of resources. In this paper, we develop an analytical model viz., "Utility-Directed Resource Allocation Model (U-RAM)" to solve the combined utility-directed resource allocation problem within VDCs. Our solution involves an iterative algorithm that leverages utility functions of system, network and human components obtained using a novel virtual desktop performance benchmarking toolkit viz., "VDBench" that we developed. The combined utility functions are used to direct decision schemes based on Kuhn-Tucker optimality conditions for creating user desktop pools and determining optimal resource allocation size/location. We deploy VDBench in a VDC testbed featuring: (a) popular user applications (Spreadsheet Calculator, Internet Browser, Media Player, Interactive Visualization), and (b) TCP/UDP based thin-client protocols (RDP, RGS, PCoIP) under a variety of user load and network health conditions. Simulation results based on the utility functions obtained from the testbed demonstrate that our solution maximizes VDC scalability i.e., 'VDs per core density', and 'user connections quantity', while delivering satisfactory thin-client user experience.
- Desktop content delivery
- Thin-client benchmarking
- Utility-directed optimization
- Virtual desktop clouds