Disco: running commodity operating systems on scalable multiprocessors
ACM Transactions on Computer Systems (TOCS)
Memory resource management in VMware ESX server
ACM SIGOPS Operating Systems Review - OSDI '02: Proceedings of the 5th symposium on Operating systems design and implementation
QEMU, a fast and portable dynamic translator
ATEC '05 Proceedings of the annual conference on USENIX Annual Technical Conference
HMTT: a platform independent full-system memory trace monitoring system
SIGMETRICS '08 Proceedings of the 2008 ACM SIGMETRICS international conference on Measurement and modeling of computer systems
Memory buddies: exploiting page sharing for smart colocation in virtualized data centers
Proceedings of the 2009 ACM SIGPLAN/SIGOPS international conference on Virtual execution environments
Difference engine: harnessing memory redundancy in virtual machines
OSDI'08 Proceedings of the 8th USENIX conference on Operating systems design and implementation
Satori: enlightened page sharing
USENIX'09 Proceedings of the 2009 conference on USENIX Annual technical conference
Sharing-aware algorithms for virtual machine colocation
Proceedings of the twenty-third annual ACM symposium on Parallelism in algorithms and architectures
An Empirical Study on Memory Sharing of Virtual Machines for Server Consolidation
ISPA '11 Proceedings of the 2011 IEEE Ninth International Symposium on Parallel and Distributed Processing with Applications
Group-Based memory deduplication for virtualized clouds
Euro-Par'11 Proceedings of the 2011 international conference on Parallel Processing - Volume 2
Proceedings of the 6th international workshop on Virtualization Technologies in Distributed Computing Date
Singleton: system-wide page deduplication in virtual environments
Proceedings of the 21st international symposium on High-Performance Parallel and Distributed Computing
A lightweight hybrid hardware/software approach for object-relative memory profiling
ISPASS '12 Proceedings of the 2012 IEEE International Symposium on Performance Analysis of Systems & Software
An empirical study of memory sharing in virtual machines
USENIX ATC'12 Proceedings of the 2012 USENIX conference on Annual Technical Conference
HaLock: hardware-assisted lock contention detection in multithreaded applications
Proceedings of the 21st international conference on Parallel architectures and compilation techniques
Survey of virtual machine research
Computer
Introspection-based memory de-duplication and migration
Proceedings of the 9th ACM SIGPLAN/SIGOPS international conference on Virtual execution environments
A Memory Deduplication Approach Based on Group in Virtualized Environments
SOSE '13 Proceedings of the 2013 IEEE Seventh International Symposium on Service-Oriented System Engineering
XLH: more effective memory deduplication scanners through cross-layer hints
USENIX ATC'13 Proceedings of the 2013 USENIX conference on Annual Technical Conference
Hi-index | 0.00 |
Limited main memory size is considered as one of the major bottlenecks in virtualization environments. Content-Based Page Sharing (CBPS) is an efficient memory deduplication technique to reduce server memory requirements, in which pages with same content are detected and shared into a single copy. As the widely used implementation of CBPS, Kernel Samepage Merging (KSM) maintains the whole memory pages into two global comparison trees (a stable tree and an unstable tree). To detect page sharing opportunities, each tracked page needs to be compared with pages already in these two large global trees. However since the vast majority of compared pages have different content with it, that will induce massive futility comparisons and thus heavy overhead. In this paper, we propose a lightweight page Classification-based Memory Deduplication approach named CMD to reduce futile page comparison overhead meanwhile to detect page sharing opportunities efficiently. The main innovation of CMD is that pages are grouped into different classifications based on page access characteristics. Pages with similar access characteristics are suggested to have higher possibility with same content, thus they are grouped into the same classification. In CMD, the large global comparison trees are divided into multiple small trees with dedicated local ones in each page classification. Page comparisons are performed just in the same classification, and pages from different classifications are never compared (since they probably result in futile comparisons). The experimental results show that CMD can efficiently reduce page comparisons (by about 68.5%) meanwhile detect nearly the same (by more than 98%) or even more page sharing opportunities.