290 likes | 404 Views
Friendly Virtual Machines Leveraging a Feedback-Control Model for Application Adaptation Yuting Zhang, Azer Bestavros, Mina Guirguis ACM/USENIX VEE’05. Presented by Kim, Hongseok ( 김홍석 ) Mobile Embedded System Lab. Agenda. Introduction FVM: Framework FVM: Model and Analysis
E N D
Friendly Virtual MachinesLeveraging a Feedback-Control Model for Application AdaptationYuting Zhang, Azer Bestavros, Mina Guirguis ACM/USENIX VEE’05 Presented by Kim, Hongseok (김홍석) Mobile Embedded System Lab.
Agenda • Introduction • FVM: Framework • FVM: Model and Analysis • FVM: Implementation • FVM: Performance Evaluation • Conclusion
Virtual Machine Model • VMs share the resources of the underlying system
Problem • Problem • Excessive resource request of VMs can cause performance degradation • How could the resources of the underlying system be managed fairly and efficiently ? • Terminologies • Efficiency • Implies that underlying system resources are neither overloaded nor unnecessarily underutilized • Fairness • Implies that each VM is allocated a proportionate share of the bottleneck resource for that VM
Solutions • Host-Level (Centralized) Resource Management • Hard to achieve fairness • Due to the diverse nature and dynamic characteristics of applications (VMs) • Ex) Resource manager may reduce memory use of a IO-bound VM when host system experiences memory contention. • Host OS or VMM must be modified • Application-Level (Distributed) Resource Management • VMs adapts their resource demand when resource contention occurs Frendly Virtual Machines (FVM) • Advantage • Transparent to the applications and the underlying system • Resource agnostic: unnecessary to know the type of bottlenecked resource • Allowing different adaptation strategy to be used in different VMs
Agenda • Introduction • FVM: Framework • Feedback Signal: Overload Detection • Control Signal: Resource Consumption • Controller: Adaptation Strategy • FVM: Model and Analysis • FVM: Implementation • FVM: Performance Evaluation • Conclusion
Feedback Signal: Overload Detection • By monitoring resource states • Such as CPU utilization, network utilization, and page fault ratio • Requiring special support of host system • By monitoring VM states • Such as response time, jitter, throughput • Requiring no support of host system
Feedback Signal: Overload Detection • Virtual Clock Time (VCT) • Real-time interval between two consecutive virtual clock cycles • Increasing when resource contention increasing • Congestion Signal Generation • Exponentially-Weighted Moving Average (EWMA) of VCT • The minimum VCT in time-window ω • Congestion signal driving condition
Control Signal: Resource Consumption • Multi Programming Level (MPL) Control • Adjusting the number of threads running on the VM • Can not be used only when MPL is to small • Rate Control • Adjusting sleep time or sleep frequency of VMs
Controller: Adaptation Strategy • Demand Increase/decrease rules must guarantee desirable properties of efficiency and fairness • Additive-Increase/Multiplicative-Decrease (AIMD) • VM can increase its resource demand linearly as long as resources isn’t overloaded • VM must decrease its resource demand by exponentially when resource overload detected
Controller: Adaptation Strategy • Why is AIMD fair ? equal resource share R Additive increase (by 1) Multiplicative decrease (by factor of 2) VM 2 Resource Demand VM 1 Resource Demand R
Agenda • Introduction • FVM: Framework • FVM: Model and Analysis • Model Derivation • Simulation Result • FVM: Implementation • FVM: Performance Evaluation • Conclusion
Model Derivation • Demand from vth VM: • Total resource usage • VCT slowdown at time t • EWMA of : • Congestion signal • Amount of demand adjusted by vth VM
Model Derivation • Block diagram for application adaptation
Simulation Result • Simulation environment • Model parameters: • 5 VMs running on host system • Initial condition :4, 7, 10, 13, and 16 threads running on each VM
Agenda • Introduction • FVM: Framework • FVM: Model and Analysis • FVM: Implementation • FVM: Performance Evaluation • Conclusion
FVM: Implementation • FVM implementation is based on a modified version of User Mode Linux (UML) • FVM Control Model
FVM: Implementation • Parameterized implementation • Baseline Settings of FVM Prototype
Agenda • Introduction • FVM: Framework • FVM: Model and Analysis • FVM: Implementation • FVM: Performance Evaluation • Performance Metrics • Benchmark Application Experiments • Web Server Experiments • Conclusion
Performance Metrics • Efficiency metrics • VCT (indicating responsiveness) • Throughput • Fairness and efficiency metrics • Fairness Index (FI) ( Where, is the performance metric for is the optimal value of the metric under a perfectly fair and efficient allocation ) ☞ FI = 1.0 implies optimal performance with respect to both efficiency and fairness
Benchmark Application Experiments • Using memory-intensive benchmark • Benchmark program grabs 1MB of memory buffer, reads data from a file into the buffer, performs some computations, writes back the content of the buffer to another file, and then frees the buffer. • Each VM has a number of threads • Each thread executes benchmark program • Number of VMs and threads can be varied as experimet • Experiment environment • 2.4 GHz Pentium IV with 512 KB of cache • 1.2 GB of RAM • To ensure memory-bottleneck, a background application used to lock 800MB
Benchmark Application Experiments • Benchmarking results showing performance metrics vs. number of VMs (# threads = 50)
Benchmark Application Experiments • Benchmarking results showing performance metrics vs. number of threads per VM (# VMs = 2)
Web Server Experiments • Apache 2.0 web server used • A total of 4 VMs • Each VM hosting an Apache server • Session-based workload used • To vary the workload on the VMs, httperf clients used to genrate HTTP session based workload • 4 client machine are used to run the httperf synthetic workload generator • Experiment environment • Sever machine • 1.4 GHz Pentium IV with 512 MB of RAM • Client machine • 2.4 GHz Pentium IV with 1.2 GB of RAM
Web Server Experiments • Performance of VM-hosted Web severs under varying number of httperf sessions
Web Server Experiments • Evolution of Virtual Clock Time (VCT) for each VM over time
Web Server Experiments • Achievable throughput per VM-hosted Web sever over time
Agenda • Introduction • FVM: Framework • FVM: Model and Analysis • FVM: Implementation • FVM: Performance Evaluation • Conclusion
Conclusion • Delegating the regulation of resource usage to the VM itself • Enabling applications to be partitioned into different congestion equivalence classes • Enabling different adaptation strategy coexist, thus allowing VMs to select the most appropriate manner • Enabling the design complexity of underlying hosting systems to be significantly reduced