100 likes | 214 Views
Virtualization for Adaptability Project Presentation CS848 Fall 2006. Umar Farooq Minhas 29 Nov 2006 David R. Cheriton School of Computer Science University of Waterloo. Outline. Motivation Xen Architecture Where does our solution fit? Experiments Challenges/Issues Discussion/Q&A.
E N D
Virtualization for AdaptabilityProject PresentationCS848 Fall 2006 Umar Farooq Minhas 29 Nov 2006 David R. Cheriton School of Computer Science University of Waterloo
Outline • Motivation • Xen Architecture • Where does our solution fit? • Experiments • Challenges/Issues • Discussion/Q&A
Defining the Goal • Dynamic resource provisioning e.g. Memory/CPU allocation • How can we use this to our advantage? Adaptive applications “The invisible and simple abstraction layer that resource virtualization provides makes it possible to run applications adaptively—or exploit reservable resources—without user or developer participation.” [IEEE Computer Magazine, May2005] Goal: Devise a mechanism using which an application running inside a VM can adapt to changing resources.
Centralized configuration database hosted by Dom0 • Shared among all the domains through XenBus Xen daemon Hardware Provides a bus abstraction for drivers to communicate Xen Architecture Dom0 DomU DomU Xend XenStore drivers drivers drivers Kernel0 KernelU KernelU XenBus Xen Hypervisor
AppU Dom0 DomU DomU Xend XenStore RM drivers drivers drivers Kernel0 KernelU KernelU XenBus Xen Hypervisor Hardware Where does our solution fit?
Experiments • H/W: Intel Pentium 4 HT 3.0 GHz, 1 GB RAM • O/S: Xen 3.0.2 on OpenSUSE Linux 10.1 • DBMS: MySQL 5.0 • Control Variable: key_buffer_size (for MYISAM tables) • One huge table with an index on a field • Experiments • Perform random probes on the index field • Vary the amount of memory to the domain running MySQL • Measure performance • Without adaptability • With adaptability in place
Challenges/Issues • Xen • Poorly documented • Still not mature/stable • Result: A lot of work required just to make it work • DBMS Issues • No support for online adaptability/control • Both PostgreSQL and MySQL don’t allow to change the key variables such as ‘buffer pool size’ on the fly • Thus, we need better support from the DBMS
Discussion/Q&A • What is the role of virtualization in all this? Suppose we are running an application on actual physical system without virtualization, why don’t we need to adapt it to changing resources? Resources on a physical machine remain fixed. • Why do we need XenStore? Why can’t we just monitor the available amount of memory/cpu from within domU and adapt to it? That gives a localized view, think of extending this project to implement a global management tool for tuning all instances of MySQL running in different domains.
References http://wiki.xensource.com/ http://www.libvirt.org/ http://www.opensuse.org/ http://www.powerpostgresql.com/ http://www.mysql.com/ http://www.mysqlperformanceblog.com/