Contents
1 Introduction: Virtualization and Resource Management in Cloud
1.1 Virtualization
1.1.1 Memory Overcommitment and Ballooning
1.1.2 CPU Overcommitment
1.2 Virtual Machine Live Migration
1.3 Resource Management in Cloud
1.4 Organization of this Thesis
2 Related Work
2.1 Auto-Ballooning in Xen
2.1.1 Transcendent Memory (tmem)
2.1.2 Auto-Balloon Mechanism
2.2 Memory Management in VMware ESX
2.2.1 Memory Reclamation Techniques
2.2.2 Memory Reclamation Policies
2.3 VMware Distributed Resource Management
2.3.1 Resource Model
2.3.2 DRS Algorithm
2.3.3 Limitations of VMware DRS
2.4 Other Works
3 Architecture and Design of DRS
3.1 Functions of DRS
3.2 Goals and Non-Goals
3.3 Architecture Overview
3.3.1 The Monitoring Service
3.3.2 The Memory Balancing Service
3.3.3 The Migration Service
4 Implementation of Monitoring and Auto-Ballooning
4.1 Monitoring
4.1.1 Host Monitoring
4.1.2 Guest Monitoring
4.1.3 Hotspot Detection and Key-Value Store Updation
4.2 Auto-Ballooning
4.2.1 Hard Ballooning and Soft Ballooning
4.2.2 Auto-Ballooning Algorithm
5 Experimental Evaluation
5.1 Experimental Setup
5.2 Results
5.2.1 Analyzing Auto-Ballooning
5.2.2 Analyzing CPU Hotspot Detection
6 Conclusions
6.1 Summary
6.2 Future Work
6.2.1 Limitation of Memory Ballooning
6.2.2 Supporting More Resource Types
6.2.3 Multiple Migrations
References
1.1 Virtualization
1.1.1 Memory Overcommitment and Ballooning
1.1.2 CPU Overcommitment
1.2 Virtual Machine Live Migration
1.3 Resource Management in Cloud
1.4 Organization of this Thesis
2 Related Work
2.1 Auto-Ballooning in Xen
2.1.1 Transcendent Memory (tmem)
2.1.2 Auto-Balloon Mechanism
2.2 Memory Management in VMware ESX
2.2.1 Memory Reclamation Techniques
2.2.2 Memory Reclamation Policies
2.3 VMware Distributed Resource Management
2.3.1 Resource Model
2.3.2 DRS Algorithm
2.3.3 Limitations of VMware DRS
2.4 Other Works
3 Architecture and Design of DRS
3.1 Functions of DRS
3.2 Goals and Non-Goals
3.3 Architecture Overview
3.3.1 The Monitoring Service
3.3.2 The Memory Balancing Service
3.3.3 The Migration Service
4 Implementation of Monitoring and Auto-Ballooning
4.1 Monitoring
4.1.1 Host Monitoring
4.1.2 Guest Monitoring
4.1.3 Hotspot Detection and Key-Value Store Updation
4.2 Auto-Ballooning
4.2.1 Hard Ballooning and Soft Ballooning
4.2.2 Auto-Ballooning Algorithm
5 Experimental Evaluation
5.1 Experimental Setup
5.2 Results
5.2.1 Analyzing Auto-Ballooning
5.2.2 Analyzing CPU Hotspot Detection
6 Conclusions
6.1 Summary
6.2 Future Work
6.2.1 Limitation of Memory Ballooning
6.2.2 Supporting More Resource Types
6.2.3 Multiple Migrations
References