Font Size: a A A

The Lock-aware VCPU Scheduling System In Multiprocessor System

Posted on:2012-10-23Degree:MasterType:Thesis
Country:ChinaCandidate:W GengFull Text:PDF
GTID:2218330362956480Subject:Computer system architecture
Abstract/Summary:PDF Full Text Request
The introduction of virtualization to multi-processor systems brings great advantages, but it also causes some problems, one of which is the lock-holder preemption. By the design philosophy, the spinlock can only be held for a short time. However, if a VCPU of one virtual machine holding a spinlock is preempted by others, that philosophy is broken - other VCPUs of the same virtual machine may still run on some CPUs, request the same spinlock and then keep waiting for its release. This leads to the extension of the lock holding time, a large number of processor cycles are wasted, which greatly affects the performance and scalability.The lock-aware scheduling system for virtual CPUs with multiprocessor designs a VCPU scheduling strategy in multiprocessor system. By monitoring spinlocks in virtual machine's kernel, and counting the number of spinlocks accurately, hypervisor (the control and monitor system in virtualization system) adopts a high-performance and fair scheduling policy, and so absolutely avoids the lock-holder preemption problem, and improve the performance of virtual machines in multiprocessor system.The results of function tests indicate that this system can run normally and stably. Performance experiments show that for IO-intensive workloads, the performance raises about 55%, while the rate is 33% for CPU-intensive workloads. In the process of running this two loads, the average lock holding time and average lock waiting time fall substantially, respectively dropping 28% and 97% for the IO-intensive workloads, and dropping 74% and 99% for the CPU-intensive workloads.
Keywords/Search Tags:Multiprocessor, Virtualization, Spinlock, Lock-holder Preemption, Lock-aware, VCPU Scheduling
PDF Full Text Request
Related items