QoS differentiation uses resource accounting to schedule running applications. Finegrained resource accounting for operations in multi-threaded servers running on a general purpose operating system is challenging. A client request usually invokes several user-level server threads and kernel activities. As general purpose operating systems usually provide resource accounting at the process granularity, methods have been proposed to accurately account for the resource utilisation from all the different entities involved in a single server operation. Resource containers are abstract entities used to account for system resources (e.g. CPU time, memory, sockets, etc) associated with a particular server activity such as serving a client request in monolithic kernels. The SILK mechanism creates a vertical slice entity that encapsulates the flow of data and the processing actions associated with a networking operation of sending and receiving packets from the network based on the Scout operating system paths. Similar accounting mechanisms have been developed for real-time operating system and multimedia operating system (e.g.domains in Nemesis).Finally, different approaches to resource sharing for applications deployed on cluster machines were also developed. see the attached paper.
Of course it is possible. All depends on the QoS criteria that u define... These QoS metrics could be deadline constraints and bandwidth etc. So, if your user looks for a high performance VMs, then for sure the cost will be higher... depends on the resources used as well as the policies SLA (Service Level Agreement) between two parties. By the way you should narrow down... What you are asking is too general ;)