Xen and the art of virtualization
SOSP '03 Proceedings of the nineteenth ACM symposium on Operating systems principles
Geiger: monitoring the buffer cache in a virtual machine environment
Proceedings of the 12th international conference on Architectural support for programming languages and operating systems
Xen and co.: communication-aware CPU scheduling for consolidated xen-based hosting platforms
Proceedings of the 3rd international conference on Virtual execution environments
Antfarm: tracking processes in a virtual machine environment
ATEC '06 Proceedings of the annual conference on USENIX '06 Annual Technical Conference
Comparison of the three CPU schedulers in Xen
ACM SIGMETRICS Performance Evaluation Review
Scheduling I/O in virtual machine monitors
Proceedings of the fourth ACM SIGPLAN/SIGOPS international conference on Virtual execution environments
The definitive guide to the xen hypervisor
The definitive guide to the xen hypervisor
Task-aware virtual machine scheduling for I/O performance.
Proceedings of the 2009 ACM SIGPLAN/SIGOPS international conference on Virtual execution environments
Enforcing performance isolation across virtual machines in Xen
Proceedings of the ACM/IFIP/USENIX 2006 International Conference on Middleware
Operating System Concepts
ICPADS '09 Proceedings of the 2009 15th International Conference on Parallel and Distributed Systems
Scheduling overcommitted VM: Behavior monitoring and dynamic switching-frequency scaling
Future Generation Computer Systems
Hi-index | 0.00 |
Para-virtualization features little performance degradation by presenting each virtual machine with an abstraction of hardware instead of fully emulating the hardware environment. A guest running atop Xen can achieve near-native performances. A critical part of Xen is its CPU scheduler which slices and dispatches physical CPU time to virtual machines. Xen's credit scheduler utilizes blocked-to-boosted mechanism to improve latency and throughput of I/O tasks. It boosts the scheduling priority of a blocked VCPU that receives an event. The boosted VCPU then pre-empts the current VCPU and gets executed straightaway. However, virtual CPUs that receive events while processing CPU-intensive tasks seldom block. Thus, the mechanism does not favor these VCPUs which process mixed workloads. Moreover, VCPUs that constantly send request events are not properly prioritized either. The two problems above can result in poor application performance to guest domains. We propose a novel approach to improve the credit scheduler, making it appropriately prioritize such domains. Our solution includes two aspects: 1) to schedule the VCPU that receives I/O events as soon as possible; 2) to switch in frequent event senders to let them initiate more I/O requests from time to time. The experimental evaluation demonstrates that our approach not only improves the responsiveness of domains doing mixed workloads, but also minimizes the possibly caused scheduling unfairness.