Continuous resource monitoring for self-predicting DBMS - David R ...

obtainablerabbiΔιαχείριση Δεδομένων

31 Ιαν 2013 (πριν από 4 χρόνια και 6 μήνες)

309 εμφανίσεις

Virtualization for Adaptability

Project Presentation

CS848 Fall 2006


Umar Farooq Minhas

29 Nov 2006


David R. Cheriton School of Computer Science

University of Waterloo

2

Outline


Motivation


Xen Architecture


Where does our solution fit?


Experiments


Challenges/Issues


Discussion/Q&A

3

Advantages of Virtualization

Advantage

Description

Cost effective

Server consolidation

Improved Security

Partitioned execution environment

Reliability & Availability

Fault isolation, ease of migration

Easy Administration

Ease of maintenance/upgrade

Performance Optimization



Prioritization of resources



Dynamic resource provisioning


etc ,…,


4

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.

5


Centralized configuration database hosted by Dom0


Shared among all the domains through XenBus

Xen Architecture

Hardware

Xen Hypervisor

Xend

XenStore

Dom0

drivers

drivers

drivers

KernelU

KernelU

Kernel0

XenBus

DomU

DomU

Xen daemon

Provides a bus abstraction for drivers to communicate

6

Where does our solution fit?

Hardware

Xen Hypervisor

Xend

XenStore

Dom0

drivers

drivers

drivers

KernelU

KernelU

Kernel0

XenBus

DomU

DomU

AppU

RM

7

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

8

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

9

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.

10

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/