Font Size: a A A

Investigate And Implement Dynaimc Cache Partitioning In Virtual Machine Environment

Posted on:2012-07-11Degree:MasterType:Thesis
Country:ChinaCandidate:J W LiFull Text:PDF
GTID:2218330362960455Subject:Computer Science and Technology
Abstract/Summary:PDF Full Text Request
Recent years, chip of multiporcesors (CMPs), which have the feature of sharing the cache in chips, have been widely used in desktop computers, server platforms, and have played a very important role in promoting system performance. With Virtualization technology, multiple users can share the rich computing resourses integrated in CMP architecture. And with the breadthrough of x86 architecture virtualization, virtualization technology has been widely used in server consolidation, secure computing platforms, kernel debugging and development, and other fields. However, since most of the current virtualization systems were designed for symmetric multiprocessors (SMPs), the problem of multiple virutal machines competiting for the shared cache has become very acute, and has impact the performance of virtual system seriously when migrated to CMP architecture. So, it becomes a new topic for researchers to investigate how to utilize the advantages of CMP architecture while avoiding the cache competetion between virtual machines in virtual systems.Currently, static cache partitioning methods have used by most researcher to isolate the cache competition between virtual machines. There is a significant drawback in these methods which has to manual partition cache before starting the virtual machines. Forthermore, these methods can only implement passive performance isolation and can not take advantage of applications runtime features to improve performance initiativly. In this paper, a dynamic cache partitioning strategies in virtual system on CMP platform was explored and proposed, with the basis of investigating the impact of L2 cache to applications in virutal machines. Our contributions are listed as follows:(1) We have proposed applications runtime characters classification methods based on L2 cache in virtual machine environment. Taking SPEC CPU2006 benchmarks for example, we investigated the relationship between application working set and the processor cache size, and divided applications into cache-sesitive, cache-polluting and cache-unrelated categories based on the static characters according to the test results. Furtherly, we divded applications into rough-type and smooth-type program categories according to the changes of applications L2 cache miss when running. Our classifications will provide a theoretical basis for designing dynamic cache partitioning in virtual systems.(2) We designed and implemented the dynamic cache partitioning algorithm in virtual machine environment. It used page coloring ideas, achieving cache isolation through constraints of the memory pages that virtual machine can access. It also can adjust dynamically the cache ratio between virtual machines according to programs cache needs, and can improve the performance of virtual systems while achieving cache isolation. Finally, the dynamic cache partitioning algorithm was implemented in Xen virtual system, and its performance was evaluated using workloads bulit based on SPEC CPU2006. Experimental results show that dynamic cache partitioning system can improve performance by 5% than the rough system, and can obtain 7% performance promotion than static cache partitioning when running rough-type applications.
Keywords/Search Tags:Dynamic cache partitioning, Performance isolation, Virtual machine
PDF Full Text Request
Related items