Font Size: a A A

The Research And Implementation Of Scheduling VCPU Groups

Posted on:2011-12-22Degree:MasterType:Thesis
Country:ChinaCandidate:J Z ChangFull Text:PDF
GTID:2178330338990007Subject:Software engineering
Abstract/Summary:PDF Full Text Request
Virtualization technology has been developing rapidly in recent years, and is used in more and more areas. Different applications have different requirements of virtualization functions and performance, which brings new problems in virtualization development.Currently, about CPU resources allocation and scheduling, the Virtual Machine(VM) scheduler mainly cares about independence among VMs, ignoring cooperations among VMs. In this case, the VM scheduler reduces the parallelizability of VMs, which affects the QOS of large-scale applications that need multiple VMs to work cooperatively. In commercial server virtualization environment, customers expect to maximize the utilization of computing resources that they have paid for. However, in the traditional VM scheduling, heavy load VMs can not get resources of the other idle VMs, when the customer's VMs load imbalance. As a result, some of VMs'resources paid by customer are idle while the others are overloaded.To improve the ability of VM cooperation, a co-scheduling strategy is proposed for the virtualization environment. First, the VM cooperation is analysed. Cooperations are classified into strong cooperation and weak cooperation according to different requirements of synchronization. Based on the above analysis, VCPUs(Virtual CPU) distribution and synchronization are discussed. In order to prevent cooperative VCPUs from running on the same physical core, a VCPU distribution mechanism is proposed. About VCPU synchronization, for minimizing the impact of cooperation on system performance, conditions and timing of VCPU preemption are analysed comprehensively, then a preemption mechanism is proposed based on traditional parallel system co-scheduling. Finally, co-credit co-scheduling is developed based on Xen credit scheduling.To manage the curomers'virtual machine resources more efficiently, virtual machine group is treated as the resource allocation unit, so that the same group VMs can share CPU resources dynamicly, and avoid wastage of resources paid by customer. First, Resources allocation strategy is discussed according to multiple VMs resources management features and an appropriate CPU resource allocation mechanism is chosen. To effectively manage the resources of idle VMs, VM state detection mechanism is proposed and different test rules are designed according to the different needs of VM scheduler and VM group. The group idle CPU resources are re-allocated according to the state of VM within the group and the number of VCPUs, which achieves efficient use of group idle resources .Based on the above analysis, a VM co-scheduler is designed and implemented in the open source Xen project. Finally, experiments show that VM co-scheduler improves the ability of VMs to cooperate and has few effects on the fairness. The loaded VMs within a group can get CPU resources of the idle ones, so that resources within a group are fully utilized. This thesis is supported by 863 project"Scalable high-performance virtual machine key technology research".
Keywords/Search Tags:Virtualization Technology, Co-scheduling, Virtual Machine, Xen
PDF Full Text Request
Related items