anteproyecto

Post on 24-Jun-2015

63 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

INSTITUTO POLITÉCNICO NACIONAL

Centro de Innovación y Desarrollo Tecnológico en Cómputo

Nombre de tesis:

Construcción y Diseño de un Clúster de Alto Rendimiento Cientí�co Virtualizado

Presenta:

Juan Alberto Antonio Velazquez

Director:

Jesús Antonio Álvarez Cedillo

Diciembre de 2008

1

1. Motivación.

Un cluster es un sistema de procesamiento distribuido de paralelismo, queconsiste de un colección de computadoras interconectadas que trabajan comouna sola y que comparten sus recursos. La clusterización generalmente sirvepara dividir los datos en grupos de objetos similares que supervisan problemasde aprendizaje que se usan para varias aplicaciones a nivel de cómputo [1].El desarrollo de este trabajo compromete a sustituir un clúster para aplica-

ciones cientí�cas que sustituya a los clústeres físicos que actualmente existenque contenga las siguientes características:

Que comparta información. Una de las cualidades del clúster a construires que comparta información a una alta velocidad.

Más barato. La construcción de clústeres físicos son más caros ya que setienen que construir muchos clústeres. Los cuales constan de más proce-sadores, más memoria, etc.

Menos gasto de energía. Al tener un clúster virtualizado se evita que losclústeres físicos gasten gran cantidad de energía eléctrica, lo cual lo hacemás barato.

Ocupar menos espacio. Los clústeres físicos ocupan más espacio en unlaboratorio, y laconstrucción de un cluster virtualizado nos evita ocuparmucho espacio.

La instalación es más fácil. Se evita de que la instalación de sus compo-nentes de hardaware y de software sean complicados

Evitar redes de cómputo avanzado. No se ocuparía cableado físico nitampoco se utilizaría dispositivos de conectividad como lo es el uso deswitches. Ya que la virtualización permite ocupar redes virtuales.

En trabajos anteriores se hablan de la tecnología de clusterización en apli-caciones de resguardo y compartición de información, y en la tecnología devirtualización se han encontrado trabajos para aplicaciones de red a nivelde múltiples sistemas operativos, así como la programación en diferentes sis-temas operativos.

2

Se puede decir que no existen trabajos que hablen de los sistemas declusterización y virtualización trabajando juntos para algún próposito,razón la cual se está desarrollando la presente investigación.

2. Planteamiento del problema.

Existen aplicaciones de cluster físicos implantados para la realización deexperimentos, los cuales son empleados en simulación de vuelos para el entre-namiento de los pilotos, otras aplicaciones son el diseño de nuevos productosfarmacéuticos, componentes electrónicos, simulación de terremotos, estudiode la evolución de la contaminación en áreas extensas, predicción meteorológ-ica y estudios del cambio climático o simulación de órganos corporales, conel objetivo de reproducir su funcionamiento con representaciones en 3D dealta precisión a partir de métodos de resonancia magnética, etc.Como ya se explicó anteriormente, este tipo de clusterización se hace

conectando a todos los clusters (servidores) en una red de alta velocidadcomo Gigabit Ethernet o Mirynet, y hacen que éstos simulen un sólo equipo.El alto costo de la compra de pequeños servidores para la utilización de clus-ters, así como otros componentes de conexión como son: los switches, cableUTP de alta velocidad para Gigabit Ethernet o �bra óptica para Mirynet;o también de los altos costos de reparación en algún equipo cluster que estédescompuesto.En esta propuesta se pretende utilizar un sólo equipo de alta capacidad

y alto desempeño a nivel de hardware y software capaz de emular el fun-cionamiento de 5 o más clusters físicos dentro de una misma computadora.Las características de hardware del equipo a utilizar sería un equipo de altadisponibilidad con un procesador o dos que trabajen en paralelo, memoriaRAM de alto desempeño (arriba de 2 Gb) , un disco duro con una capacidadpara almacenar y compartir recursos. En lo que se re�ere al software seríautilizar un sistema operativo que cumpla con las características de ser mul-tiprocesamiento, multiusuario, multiacceso y multiprogramación, y para estecaso se ha optado por el sistema operativo Linux en su distribución Ubun-tu 8.10 y su cualidad de esta distribución es que pertenece al software librey además es gratuito, por lo que no requiere licenciamiento. Otras de las

3

tecnologías a utilizar es una máquina virtual, en este caso las distribucionesde Ubuntu en sus versiones que van desde la versión 6 hasta la 8.10, traenconsigo la máquina virtual llamada VirtualBox, que consiste en un sistemaan�trión que utiliza una máquina virtual que emula el hardware, y esto esmuy complejo. La �gura 3 nos muestra la emulación a nivel de hardware.La emulación de hardware describe como el equipo físico se comporta com-

pletamente como una Máquina Virtual, de forma que todas las llamadas quehagan los sistemas invitados sean interpretadas y canalizadas por parte delhost hacia el verdadero hardware.

Figura 1: Emulación a nivel de hardware

Considerando la metodología del funcionamiento de una máquina virtual,se instalará en una computadora an�trión (con las características antes men-cionadas) 5 computadoras a nivel de máquina virtual, utilizando Virtual Boxy cada computadora virtual estará instalada dentro de la computadora an-�trión. La computadora an�trión tendrá para administrar a los otros equiposvirtuales al sistema operativo Ubuntu en su versión 8.10 y los clústers in-stalados en el nodo huésped tendrán instalados el sistema operativo LinuxUbuntu en su versión 7.10 ver �g 4. Todos estos nodos se van a interconec-tar en una red virtual, donde la tarjeta de red (NIC) instalada en el nodohuésped, proporcionará la velocidad de comunicación. Y cada cluster virtualal igual que lo hacen los clusters físicos van a prescindir de un número IP de

4

clase C, para que entre cada cluster haya compartición de recursos.

Figura 2: Cluster virtuales conectados a una red virtual con el cluster huésped.

Una vez instalados los cluster virtuales se pretende que el clúster an�trión,sea el servidor de páginas Web (Webserver), y cada clúster tenga la carac-terística de guardar información parecida a la que tiene cada cluster conectadoa él. Para esto se utilizarán herramientas de software libre tal como lo es elMpich Cluster que nos ayudará a con�gurar cada cluster dentro del clústeran�trión.

3. Objetivo.

Diseñar y construir un clúster de alto desempeño utilizando las técnicas devirtualización, de redes y aplicando herrramientas de aplicación para clústers.

3.1. Metas.

Para alcanzar los objetivos antes mencionados es necesario cumplir con lassiguientes metas:a) Diseñar y construir un prototipo de un clúster HPC virtualizado.b) Establecer y a�nar el prototipo para su buen desempeño.c) Adoptar el prototipo para que trabaje conforme a los estándares mundi-

ales y sea compatible con otros sistemas.

5

4. Metodología

Para llegar a la implantación del prototitpo deseado, se llevará a cabo lasiguiente metodología para el desarrollo de la tesis y se toman los siguientesaspectos:a) Estudio de los clústeres de alto performance.b) Construcción de un clúster físico.c) Construcción de un ambiente virtual.d) Diseño de un sistema de red local para huésped virtual.e) Implementación de un clúster virtual.f) Diseño de un maestro virtual.g) diseño de clúster virtual.h) Implementación del clúster virtualizado.

Figura 3: Metodología

6

5. Discusión preliminar

Máquinas virtuales

La máquinas virtuales (VM) son sistemas con un mayor aprovechamientoen el diseño de sistemas [2]. Éstos proveen un e�ciente trabajo de unao mas sistemas completos de computadoras, las máquinas virtuales tra-bajan directamente con el multiacceso, multiprogramación, multiproce-samiento, y hablando de la pasada década, ésta se dedicaba a los sistemasde múltiples ambientes. Una de las ventajas en el uso fácil de los sistemas,es que usan previamente un provecho sólo de aplicaciones para sistemasprogramables.

Algunas de las ventajas [3] incluyen soporte de las siguientes actividadesde concurrencia que produce la virtualización:

* Mejora y prueba el software de un sistema operativo.

* Corre software de diagnóstico en el hardware de una computadora [2].

* Corre diferentes versiones de sistemas operativos en una sola computa-dora con un sólo sistema operativo. [4], [5]

* Corre con una con�guración virtual que es muy diferente al trabajode los sistemas reales, como el aprovechamiento de más memoria o másprocesamiento, y diversos componentes de entrada/salida (I/O). [6]

* Compara a los sistemas operativos instalados. [7], [8]

* Agregando hardware que realza la con�guración del mismo sistemaoperativo. [4]

Tipos de virtualización

Actualmente existen diferentes tipos de virtualización [9] y una gran var-iedad de empresas que desarrollan esta tecnología, como es el caso dea)VMware [10], b) Parallels [11], c)Xen [12], d)Virtualbox [13], e)Qemu[14], f)Virtual PC [15], entre otras. En la Figura 2, se pueden observardiferentes marcas de software de virtualización. Cada uno de estos pro-ductos maneja una técnica de virtualización diferente; algunas se puedenaplicar a la virtualización de servidores, otras a sistemas operativos o sim-plemente como emuladores. Cabe señalar que algunos de estos productos

7

tienen un costo determinado como es el caso de VMware en sistemas em-presariales; por otro lado Xen, es uno de los productos que pertenecen algrupo de software libre, la diferencia principal entre las dos alternativasse re�eja en la funcionalidad y el fácil manejo.

Figura 4: Diferentes sistemas de virtualización

Las ventajas que se adquieren al utilizar esta tecnología son: ahorroeconómico, mejor aprovechamiento de los recursos de un sistema de cóm-puto, reducción de espacios físicos, consolidación de servidores, fácil mane-jo y mejor manipulación de la información.

Además disminuye los costos y riesgos al tiempo que aumentan la cal-idad y agilidad de la infraestructura de cómputo en una organización.Permite a los usuarios ejecutar múltiples sistemas operativos al mismotiempo en un único servidor físico, donde cada uno de los sistemas op-erativos funciona como un equipo independiente. Lo anterior brinda unamejor e�ciencia del hardware, aprovechando al máximo los recursos deun equipo de cómputo, ofreciendo una gran solución para aislamiento yadministración del hardware.

6. Calendario de Actividades

8

Figura 5: Cronograma de actividades

Referencias

[1] JAIN, A. K. AND DUBES, R. C. 1988. Algorithms for Clustering Data.Prentice Hall, Englewood Cli¤s, NJ.

[2] J P BUZEN U O GAGLIARDI The evolution of virtual machine archi-tecture Proceedings AFIPS National Computer Conference 1973

[3] M BERTHAUD M JACOLIN P POTIN H SAVARY Coupling virtualmachines and system constructionProceedings ACM SIGARCH-SIGOPSWorkshop on Virtual Computer Systems Cambridge Massachusetts 1973

[4] R A MEYER L H SEAWRIGH A virtual machine time-sharing systemIBM Systems Journal Vol 9 No 3 1970.

[5] R P PARMELEE Virtual machines: some unexpected applicationsProceedings IEEE International Computer Society Conference BostonMassachusetts 1971

9

[6] J MWINETTVirtual machines for developing systems software Proceed-ings IEEE International Computer Society Conference Boston Massa-chusetts 1971.

[7] V CASAROSA C PAOLI VHM: a virtual hardware monitor Proceed-ings ACM SIGARCH-SlGOPS Workshop on Virtual Computer SystemsCambridge Massachusetts 1973.

[8] D D KEEFE Hierarchical control programs for systems evaluation IBMSystems Journal Vol 7 No 2 1968.

[9] Menascé D.A., ?Virtualization: concepts, applications, and performancemodeling?, Computer Measurement Group, Inc., 2005.

[10] VMware; ver: http://www.vmware.com/virtualization

[11] Parallels, ver: www.parallels.com/en/landingpage/dskd10_4/?gclid=COKiu-i7wpUCFRdinAodkCP7Pw.

[12] Barham P., Dragovic B., Fraser K., Hand S., Harris T., Ho A., Neuge-baurey R.,Pratt I., and Wareld A., ?Xen and the Art of Virtualization?,in SOSP´03, ACM,2003.

[13] Sun Microsystems, ?Sun x VM Virtualbox?, April 30, 2008.

[14] Ciacchi F., ?Emulación de sistemas con Qemu?, Linux-magazine, pp 55-58, 2005.

[15] Microsoft, ?Virtual PC for MAC?, 2006.

[16] Rajkumar Buyy High Performance Cluster Computing Programmingand Aplications Vol. 2 Prentice Hall, Upper Saddle River, NJ

10

top related