Programacion de Sistemas ELO-330

Medidor de rendimiento para máquinas virtuales.

Abstract

Actualmente el desarrollo de la virtualizacion de plataforma ha ido en aumento y es necesario contar con las herramientas adecuadas, es por ello que ademas de implementar una serie de maquinas virtuales generaremos una aplicacion que se encargue de monitorear las maquinas virtuales, generando reportes, para asi determinar la eficiencia de estas maquinas. Arriba


Introducción

Las maquinas virtuales permiten ser modificadas en pleno proceso, es decir, se puede agregar un procesador extra mientras se encuentra funcionando o una nueva interfaz de red.
Dada esta posibilidad, podemos estar constantemente monitoreando una maquina virtual y dependiendo de su rendimiento, esta puede ser modificada o no.
Es por ello que se desarrolla esta herramienta capaz de generar reportes en el tiempo que sea necesario. Arriba


Xen

Es una monitor de máquinas virtuales de codigo abierto de alto rendimiento, desarrollada por el departamento de CIencias de la computacion de la Universidad de Cambrige. Dado que siempre existe un problema de "QoS crosstalk" con el sistema operativo en este tipo de sistemas, se logra aumentar el rendimiento multiplexando a muy bajo nivel. Xen fue desarrollado para virtualizar arquitecturas x86. Sin embargo, esta arquitectura no acepta la virtualizacion completa por lo cual Xen se basa en 4 principios para su diseño.

Xen Se denomina a si mismo 'hypervisor' pues opera en un nivel con altos privilegios, por sobre
los sistemas operativos invitados (guest O.S.).

Xen administra la memoria, el procesador y los dispositivos de I/O de diferente forma.
Para el caso de la administracion de memoria, la arquitectura x86 no posee un software que administre la TLB, por ende cada vez que una direccion no se encuentra la TLB se borra. De esta forma, Xen utiliza dos ideas:

Para administracion de(los) procesador(es), los niveles de ejecucion del software, en la arquitectura x86, no se utilizan los niveles 2 ni 3, por lo cual en el nivel 1 se ubica el hypervisor, mientras que en las capas superiores se mantienen el S.O. y las aplicaciones, y será Xen el encargado de direccionar y ejecutar los distintos llamados al sistema de los S.O. invitado.
Finalmente para administrar los dispositivos de I/O, Xen utiilza una capa de abstraccion limpia y sencilla, esto implica satisfacer los requerimientos para protección y aislamiento de los dispositivos. Además es Xen quien se encarga de manejar las distintas interrupciones, de similar manera al caso de los procesadores.
.
Memoria Administrado por S.O. Invitado Administrado por Xen
CPU Hypervisor, nivel 1 Xen Maneja llamadas del sistema
I/O Capa de abstraccion sencilla Xen Maneja interrupciones
.

Paravirtualizacion: Paravirtualización: la máquina virtual no necesariamente simula un hardware, en cambio ofrece un API especial que solo puede usarse mediante la modificación del sistema operativo “guest”. Arriba


Rendimiento

Para determinar el rendimiento, debemos utilizar una medida generalizada, en este caso consideramos el Benchmarking que mide la velocidad con la cual un computador ejecuta una tarea, en este caso especifico, se determina en base a la cantidad de memoria fisica usada, o a la utilizacion de los servidores
Como se indico anteriormente, la capacidad que tiene Xen de manipular estas variables, le da un pequeño toque de sal a los resultados de rendimiento, pues si una maquina no es capaz de aumentar la capacidad de cumplir una tarea, al variar estos elementos, podemos quizas aunmentar este rendimiento sin necesidad de cambiar una maquina. Arriba


Aplicación

Esta aplicacion, conjuga los dos puntos anteriores, mide el rendimiento de maquinas virtuales sobre Xen. La idea es generar un reporte de rendimiento de las VM's de manera tal que se logre realizar una decision sobre estas.

La aplicacion es un script para BASH que utiliza herramientas de Xen Management, GNUplot y PDFLaTeX.

.
Uso: root@dom0: ~ # xmtop
.
Arriba

Referencias

  1. P. Barham, B. Dragovic, K. Fraser, S. Hand, T. Harris, A. Ho, R. Neugebauer, I. Pratt, A. Wardfield. Xen and the Art of the Virtualization. Proceedings of the nineteenth ACM symposium on Operating systems principles
  2. André Balsa. Linux Benchmarking HOWTO. The Linux Documentation Project.
  3. Xen™ http://www.xen.org/
Arriba

Anexos

Ver Enlaces relacionados Arriba

Sobre mi | Licencia GPL v3| Contacto | ©2007 Cristhoper Jaña