Virtualización de un cluster de alto desempeño



Documentos relacionados
Alta Disponibilidad y Virtualización con soluciones de bajo costo. Virtualización. Conceptos básicos

Guía de uso del Cloud Datacenter de acens

Nuevas tendencias: Virtualización de computadores / servidores

COMO CONFIGURAR UNA MAQUINA VIRTUAL EN VIRTUALBOX PARA ELASTIX

VIRTUALIZACIÓN DE SERVIDORES

MANUAL TÉCNICO DE IMPLEMENTACIÓN PROYECTO SOCIAL COMPUESCUELA. Elaborado por: Julián A. Hernández M.


VIRTUALBOX (MAQUINA VIRTUAL)

Sistemas Operativos. Curso 2013 Virtualización

- Qué es una Máquina Virtual?

Virtualización en Servidores. Conceptos básicos

NOMBRE: Sánchez Sandoval Edgar Rafael GRUPO: 301 MATERIA: OPERAR EL EQUIPO DE COMPUTO PROFESOR: Joel rodríguez Sánchez FECHA DE CREACION: 24/09/2013

Experiencias Cloud en el CESGA Virtualización en entornos Cloud

Infraestructura Tecnológica. Sesión 8: Configurar y administrar almacenamiento virtual

Pruebas y Resultados PRUEBAS Y RESULTADOS AGNI GERMÁN ANDRACA GUTIERREZ

Preguntas Frec uentes Ia a S

GlusterFS. Una visión rápida a uno de los más innovadores sistema de archivos distribuido

CAPÍTULO 3: Resultados

Windows 2000 Server. Manual de Windows 2000 Server

UNIVERSIDAD LUTERANA SALVADOREÑA FACULTAD DE CIENCIAS DEL HOMBRE Y LA NATURALEZA LICENCIATURA EN CIENCIAS DE LA COMPUTACIÓN

Almacenamiento virtual de sitios web HOSTS VIRTUALES

Montando Web for Pentester en VirtualBox

Soluciones de virtualización en sistemas Linux:

ANÁLISIS DE HERRAMIENTAS PARA CLONAR DISCOS DUROS

La Pirámide de Solución de TriActive TRICENTER

UT04 01 Máquinas virtuales (introducción)

Virtualización en GNU/Linux

Cómo crear una máquina virtual?

Sugar en Windows. Creación de una máquina virtual con la imagen de Sugar. Autor. Versión Fecha Setiembre Ubicación

Maquinas virtuales Conceptos Básicos

Instalación de XEN Información de XEN Qué es XEN? Componentes de XEN:... 2

Microsoft HPC. V 1.0 José M. Cámara (checam@ubu.es)

TEMA 1: SISTEMAS INFORMÁTICOS. Parte 3: sistemas operativos

Actividad 2: Configurar e Instalar un Sistema Operativo virtual

Cómo instalar un sistema operativo en VirtualBox

CONFIGURACIONES DE ALTA DISPONIBILIDAD

Arquitectura: Clusters

Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA

Gestión de Recursos y Seguridad en Redes Virtualización de Servidores, VMware. Derman Zepeda Vega. dzepeda@unan.edu.ni

Virtualización. Carlo López Armando Mejía Andrés Sánchez

Soluciones innovadoras para optimizar su infraestructura TI. Virtualización con el sistema operativo i, PowerVM y Power Systems de IBM

Manual de uso de la plataforma para monitores. CENTRO DE APOYO TECNOLÓGICO A EMPRENDEDORES -bilib

DEPARTAMENTO ADMINISTRATIVO NACIONAL DE ESTADÍSTICA. Oficina de Sistemas

Capítulo 2 Red UDLA-P

Capitulo 3. Desarrollo del Software

Tipos de conexiones de red en software de virtualizacio n: VirtualBox y VMware

Maquinas Virtuales - VirtualBox. Talleres ETSIIT Oficina de Software Libre Universidad de Granada José Antonio Serrano García

SCT Software para la calibración de transductores de fuerza. Versión 3.5. Microtest S.A.

Trabajo TICO Unidad 2: Sistemas Operativos. Guillermo Jarne Bueno.

LIVE MIGRATION EN HYPER-V 1

Una mirada práctica a los Micro-Kernels y los Virtual Machine Monitors François Armand, Michel Gien INFORMATICA III

LINEAMIENTOS ESTÁNDARES APLICATIVOS DE VIRTUALIZACIÓN

Instalación y configuración de VMWare ESX

Instituto Universitario Politécnico. Santiago Mariño. Unidad I Revisión de conceptos de Sistemas. Operativos. Elaborado por: Ing. Víctor Valencia.

Descripción. Este Software cumple los siguientes hitos:

JORNADAS TÉCNICAS REDIRIS Gestión del parque de máquinas virtuales Xen con herramientas de software libre

Taller de Software Libre

Microsoft Virtual Server

UNIVERSIDAD TECNOLOGICA ECOTEC DIEGO BARRAGAN MATERIA: Sistemas Operativos 1 ENSAYO: Servidores BLADE

Trabajo TP6 Sistemas Legados

Instalación y configuración servidor WDS

Capítulo 5. Cliente-Servidor.

General Parallel File System

Planificación de Procesos. Módulo 5. Departamento de Informática Facultad de Ingeniería Universidad Nacional de la Patagonia San Juan Bosco

(PHP y APACHE), y el programa de comunicación Skype, para controlar de manera

Infraestructura Tecnológica. Sesión 1: Infraestructura de servidores

CAPITULO 9. Diseño de una Base de Datos Relacional Distribuida

Conoce los Tipos de Hosting que Existen y Elige el Mejor para tus Necesidades

Iván Daniel Fiedoruk 12 de Marzo de 2013 Buenos Aires - Argentina

Análisis de aplicación: Virtual Machine Manager

Redes de Nueva Generación Área de Ingeniería Telemática. Virtualización

Arquitectura de sistema de alta disponibilidad

Virtualización - Que es?

Práctica Virtual Box.

Instalación del sistema operativo Microsoft Windows Server 2008 Standard Edition x86

Soporte y mantenimiento de base de datos y aplicativos

Global File System (GFS)...

Roles y Características

Operación Microsoft Windows

Sistemas Operativos Windows 2000

SISTEMAS OPERATIVOS. Instalación

2. Antes de crear la maquina virtual, debemos tener en cuenta sus características.

Herramientas utilizadas: Tenemos 3 opciones que son:

MODERNIZANDO PCN Y RECUPERACION DE DESASTRES UTILIZANDO VIRTUALIZACION Y LA NUBE

PROYECTO INTEGRADO CLUSTER DE ALTA DISPONIBILIDAD CON HAPROXY Y KEEPALIVED. Antonio Madrena Lucenilla 21 de Diciembre de 2012 I.E.S.

Instalación de Microsoft Virtual PC

Implantar Microsoft Software Updates Service (SUS)

Tema: INSTALACIÓN Y PARTICIONAMIENTO DE DISCOS DUROS.

SMR ÍNDICE. Sistemas Microinformáticos y Redes. Sistemas Operativos Monopuesto

Introducción a las redes de computadores

Tema 6. Gestión de la memoria

Windows Server 2012: Infraestructura de Escritorio Virtual

Acronis License Server. Guía del usuario

Hostaliawhitepapers. Las ventajas de los Servidores dedicados. Cardenal Gardoki, BILBAO (Vizcaya) Teléfono:

Módulos: Módulo 1. Hardware & Arquitectura de sistemas - 20 Horas

Prácticas con Elastix Asterisk - Lab. 3

Guia para examen de Sistemas Operativos Para primer parcial Febrero 2013 Revisión 2 Ing. Julio Cesar Gonzalez Cervantes

MS_10974 Deploying Windows Server

Studium, Campus Virtual de la Universidad de Salamanca.

Transcripción:

Virtualización de un cluster de alto desempeño Arquitectura y beneficios Farfán Estrada Ismael 1 Centro de Investigación en Computación 2 Instituto Politécnico Nacional ifarfane0900@ipn.mx 2 de marzo de 2012 1 / 62

Contenido Introducción Clusters de cómputo 1 Introducción Clusters de cómputo Problema Soluciones Virtualización 2 Solución propuesta Cluster virtual Balanceo de carga 3 Experimentos Entorno de pruebas Planificación flexible: 1 VM disponible Planificación flexible 2: creando una VM para ejecutar un trabajo Rendimiento 4 Conclusiones Notas finales 2 / 62

Qué es un cluster? Introducción Clusters de cómputo Un cluster de cómputo es una colección de computadoras conectadas en red, compartiendo diferentes recursos, dedicadas a ejecutar programas científicos complejos computacionalmente. Los clusters típicamente cuentan con un punto único de acceso para los usuarios y no proporcionan acceso directo a los nodos de cómputo. 3 / 62

Introducción Clusters de cómputo Arquitectura del cluster Nodos de cómputo Nodos de almacenamiento Servidores ssh DHCP NFS Existen otros tipos Figura: Topología/Arquitectura de un cluster Beowulf 4 / 62

Introducción Clusters de cómputo Administrador de recursos Es un software que realiza, entre otras cosas, lo siguiente: Proporciona una manera estandarizada y automática de solicitar recursos de cómputo Monitorea los recursos registrados (computadoras del cluster) Reparte los trabajos pendientes entre los recursos disponibles (planifica) Ejemplos: SLURM, TorquePBS 5 / 62

Introducción Cómo se ejecutan los programas? Clusters de cómputo Se escribe un archivo batch normal que incluye comentarios especiales para solicitar recursos, este es enviado al planificador. El siguiente es un ejemplo utilizando SLURM. Pi.sh #!/bin/bash #SBATCH --time=1 #SBATCH --ntasks=5 #SBATCH --job-name=pi #SBATCH -o pi.txt mpirun PiM 90000 Se puede ejecutar Pi.sh en el cluster de la siguiente manera Enviar trabajo sbatch Pi.sh 6 / 62

Contenido Introducción Problema 1 Introducción Clusters de cómputo Problema Soluciones Virtualización 2 Solución propuesta Cluster virtual Balanceo de carga 3 Experimentos Entorno de pruebas Planificación flexible: 1 VM disponible Planificación flexible 2: creando una VM para ejecutar un trabajo Rendimiento 4 Conclusiones Notas finales 7 / 62

Utilización del cluster Introducción Problema Si se invierten millones en el equipo de cómputo y también en costos de energía y personal, lo natural es que se le quiera sacar provecho. Como se verá en seguida, esto no siempre es posible, lo cual resulta en una baja utilización. 8 / 62

Introducción Problema Planificación Una buena planificación incrementa la utilización(?) Los trabajos para ejecutar en el cluster llegan de manera aleatoria y continua con picos en horas y días Se desea ser justos en cuanto a la manera de planificar los trabajos: no favorecer a algún tipo de trabajo sin que se lo merezca Existen muchos algoritmos de planificación 9 / 62

Introducción Utilización y trabajos pequeños Problema Solo si hay trabajos pequeños se pueden rellenar los huecos. Qué tanto están trabajando en realidad los nodos? Figura: Huecos en la planificación 10 / 62

Introducción Utilización de Blue Gene FCFS Problema Resultado de simular la ejecución de los primeros 50,000 trabajos de Blue Gene utilizando FCFS como algoritmo de planificación, nótese que casi nunca supera una utilización de 90 %. 11 / 62

Introducción Utilización de Blue Gene EASY Problema Misma simulación, pero ahora planificando con EASY backfilling, se comporta un poco mejor pero pocas veces supera una utilización del 90 %. 12 / 62

Introducción Problema La utilización real es aún menor Los resultados de las dos simulaciones mostradas son suponiendo que todos los trabajos utilizaron el 100 % de todos los núcleos de procesador asignados. Dicha suposición no necesariamente se cumple por muchas y diversas razones. El resultado es que la utilización real es menor a la indicada por el administrador de recursos. 13 / 62

Contenido Introducción Soluciones 1 Introducción Clusters de cómputo Problema Soluciones Virtualización 2 Solución propuesta Cluster virtual Balanceo de carga 3 Experimentos Entorno de pruebas Planificación flexible: 1 VM disponible Planificación flexible 2: creando una VM para ejecutar un trabajo Rendimiento 4 Conclusiones Notas finales 14 / 62

Algorítmicas Introducción Soluciones Existen muchos algoritmos de planificación, la mayoría de estos se quedan en las publicaciones y nunca son implementados. Figura: 2 algoritmos de planificación: FCFS y EASY 15 / 62

Computacionales Introducción Soluciones Los AR se pueden configurar para que ejecuten procesos aún si no hay tiempo suficiente. Esto en ocasiones es complicado y puede tener resultados inesperados. Figura: 2 soluciones existentes poco utilizadas 16 / 62

Contenido Introducción Virtualización 1 Introducción Clusters de cómputo Problema Soluciones Virtualización 2 Solución propuesta Cluster virtual Balanceo de carga 3 Experimentos Entorno de pruebas Planificación flexible: 1 VM disponible Planificación flexible 2: creando una VM para ejecutar un trabajo Rendimiento 4 Conclusiones Notas finales 17 / 62

Qué es la virtualización? Introducción Virtualización Virtualización es una tecnología que combina o divide recursos de cómputo para presentar uno o más entornos de operación usando metodología como particionamiento o agregación de hardware o software, simulación parcial o completa de máquina, emulación, compartición de tiempo y muchas otras. Susanta Nanda y Tzi-cker Chiueh, A survey of virtualization technologies, 2005. 18 / 62

En otras palabras Introducción Virtualización Es un concepto muy amplio que engloba muchas cosas distintas y sin relación alguna. Nos interesa la virtualización del Sistema Operativo (SO) con agregación de recursos como RAM y CPU. 19 / 62

Introducción Virtualización Por qué la virtualización? Con la virtualización de SO podemos: Ejecutar múltiples procesos, cada uno en su entorno Compartir los recursos entre diferentes procesos Presentar muchos sistemas operativos distintos en cada nodo físico Aislar los procesos para que no sepan de la existencia de los otros Controlar a que recursos accede cada proceso Figura: 1 anfitrión, 4 invitados 20 / 62

Introducción Virtualización Diferencia en rendimiento Entre 2 % y 8 % de penalización. La máquina virtual es ligeramente más lenta para acceder a la memoria (ver la sección de resultados) La latencia de acceso al disco virtual puede ser considerable si no se configura bien El retardo en el acceso a la red depende del dispositivo presentado a la máquina virtual El rendimiento depende de la configuración. 21 / 62

Contenido Solución propuesta Cluster virtual 1 Introducción Clusters de cómputo Problema Soluciones Virtualización 2 Solución propuesta Cluster virtual Balanceo de carga 3 Experimentos Entorno de pruebas Planificación flexible: 1 VM disponible Planificación flexible 2: creando una VM para ejecutar un trabajo Rendimiento 4 Conclusiones Notas finales 22 / 62

Resumen Solución propuesta Cluster virtual Se propone utilizar un cluster virtual que cambie de tamaño dinámica y automáticamente. Dado que eso no parece existir hasta el momento, tuvimos que desarrollarlo. Necesitábamos seleccionar administrador de recursos y tecnología de virtualización apropiados para esto. 23 / 62

Solución propuesta Cluster virtual Arquitectura El nodo principal administra los trabajos y las VMs Los nodos físicos hospedarán las VM Las VM ejecutan los trabajos Figura: Topología para el cluster virtual 24 / 62

Solución propuesta Cluster virtual Selección del administrador de recursos Optamos por utilizar SLURM sobre de otros puesto que es modular y proporciona muchas características interesantes, especialmente nos llamó la atención su modo de ahorro de energía Figura: Arquitectura de SLURM 25 / 62

Solución propuesta Tecnología de virtualización Cluster virtual Evaluamos diferentes maneras de virtualizar el sistema operativo. Sistemas de emulación: VirtualBox y VMWare Paravirtualización: XEN y KVM Frameworks: libvirt y usher Preferimos KVM por ser rápido, no requerir GUI, estar integrado con el SO, entre otras ventajas 26 / 62

Evaluación de KVM Solución propuesta Cluster virtual El desempeño es muy similar al de XEN, sin embargo KVM es más fácil de instalar y se integra con el kernel. Tiene truco: utilizar imágenes QCOW2 sin pre-alojamiento de metadatos. Se puede lanzar las VMs por ĺınea de comandos, solo que puede llegar a requerir muchos parámetros y es dependiente de la infraestructura. 27 / 62

Solución propuesta Cluster virtual Sistemas de nube Decidimos delegar la responsabilidad de administrar las VMs. Nimbus one click cluster Temporizador para apagado de VMs Definición mediante archivos XML complejos OpenNebula Flexible Definición de VMs muy sencilla 28 / 62

Solución propuesta Por qué un sistema para nube? Cluster virtual Facilitan el proceso de obtener muchos invitados distintos a partir de la misma imagen de disco. Cada VM necesita dirección MAC, IP y hostname distintos... Figura: Contextualización en OpenNebula 29 / 62

Middleware necesario Solución propuesta Cluster virtual Se desarrolló un software, llamado Thiao que fuerza la interacción entre OpenNebula y SLURM dado que no tienen idea de la existencia el uno del otro. Adicionalmente se implementó el módulo de balanceo de carga. 30 / 62

Solución propuesta Cluster virtual Interacción SLURM proporciona un modo de ahorro de energía con el que podemos: Lanzar nuevas VMs cuando haya trabajos esperando para ser ejecutados Apagar automáticamente VMs ociosas Compartir nodos y recursos al lanzar múltiples VMs Configurar el número de VMs a usar SLURM sabe cuales VMs están trabajando y cuales no dado que este les asigna trabajo 31 / 62

Solución propuesta Cluster virtual Habilitando el modo de ahorro de energía Thiao proporciona dos módulos Resume y Suspend, SLURM los usa para iniciar y apagar VMs automáticamente. slurm.conf SuspendProgram=/opt/thiao/bin/Suspend ResumeProgram=/opt/thiao/bin/Resume ResumeTimeout=180 SuspendTime=60 # Register 11 VMs NodeName=fg[0-10] Procs=1 State=UNKNOWN PartitionName=virtual Nodes=fg[0-10] State=UP 32 / 62

Solución propuesta Cluster virtual Programa Resume 1 Resume recibe el nombre de las VMs a iniciar 2 Busca en /opt/thiao/examples/ un archivo llamado [nombre-vm].one 3 Pide a OpenNebula que inicie la VM 4 La VM dice hola a SLURM 5 La VM comienza a ejecutar procesos De manera similar, llama Suspend cuando ya no necesita alguna VM 33 / 62

Solución propuesta Diagrama de Resume y Suspend Cluster virtual SLURM le indica a Resume que VMs es necesario iniciar o apagar, Thiao a su vez indica a OpenNebula que acción realizar. 34 / 62

Machote de la VM Solución propuesta Cluster virtual El archivo [nombre-vm].one es un machote regular de OpenNebula fg0.one NAME = "fg0" CPU = 1 MEMORY = 3000 DISK = [ source = /img/rhel6.img", target = "hda", readonly = "no", clone = yes ] #... 35 / 62

Archivo del trabajo Solución propuesta Cluster virtual No es necesario modificar los archivos de trabajos o5m.sh #!/bin/bash #SBATCH --time=30 #SBATCH --nodes=4 #SBATCH --ntasks-per-core=1 #SBATCH --job-name=o5m date cd /pub/user/ time mpirun./o5m 180 date 36 / 62

Contenido Solución propuesta Balanceo de carga 1 Introducción Clusters de cómputo Problema Soluciones Virtualización 2 Solución propuesta Cluster virtual Balanceo de carga 3 Experimentos Entorno de pruebas Planificación flexible: 1 VM disponible Planificación flexible 2: creando una VM para ejecutar un trabajo Rendimiento 4 Conclusiones Notas finales 37 / 62

Migración en vivo Solución propuesta Balanceo de carga La migración en vivo de VMs es una manera eficiente de realizar balanceo de carga, con una penalización de procesamiento de entre 60ms y 210ms. 2005 - Christopher Clrark, et-al. Live migration of virtual machines. 38 / 62

Solución propuesta Balanceo de carga Balanceo de carga entre nodos OpenNebula monitorea la carga de los anfitriones El programa balancer de Thiao obtiene la información de la carga balancer migra las VMs de los nodos más ocupados a los nodos más ociosos Figura: Balanceo de carga 39 / 62

Solución propuesta Diagrama del balanceo de carga Balanceo de carga Obtiene la utilización de los anfitriones y VMs mediante llamadas a procedimientos remotos y posteriormente migra las VMs para mantener a todos los nodos ocupados 40 / 62

Después de migrar Solución propuesta Balanceo de carga Sí compiten por recursos La utilización de ambos nodos aumenta No compiten La utilización de un nodo aumenta y la de otro disminuye Ninguno de los dos aumenta su utilización (aún) 41 / 62

Contenido Experimentos Entorno de pruebas 1 Introducción Clusters de cómputo Problema Soluciones Virtualización 2 Solución propuesta Cluster virtual Balanceo de carga 3 Experimentos Entorno de pruebas Planificación flexible: 1 VM disponible Planificación flexible 2: creando una VM para ejecutar un trabajo Rendimiento 4 Conclusiones Notas finales 42 / 62

Resumen Experimentos Entorno de pruebas Todo lo indicado en la propuesta es realizado actualmente por diversos componentes de Thiao. A continuación se describirá la manera en que se están realizando los experimentos. 43 / 62

Experimentos Entorno de pruebas Entorno Un servidor Debian con SLURM y OpenNebula 2 nodos RHEL 6.0 con 8 núcleos y 32Gb RAM (cortesía de FutureGrid) Un directorio NFS compartido Una imagen de Debian/testing para KVM Una base de datos SQLite local 44 / 62

Experimentos Entorno de pruebas Base de datos La base de datos únicamente contiene 2 campos (para el modo de ahorro de energía): Nombre del nodo virtual Identificador asignado por OpenNebula para su administración 45 / 62

Procesos Experimentos Entorno de pruebas Ejecutamos algunos benchmarks como Stream y procesos sencillos que pueden durar mucho tiempo como el cálculo de pi. El objetivo era ver como reaccionaba el cluster virtual. 46 / 62

Contenido Experimentos Planificación flexible: 1 VM disponible 1 Introducción Clusters de cómputo Problema Soluciones Virtualización 2 Solución propuesta Cluster virtual Balanceo de carga 3 Experimentos Entorno de pruebas Planificación flexible: 1 VM disponible Planificación flexible 2: creando una VM para ejecutar un trabajo Rendimiento 4 Conclusiones Notas finales 47 / 62

Experimentos Planificación flexible: 1 VM disponible Nodos disponibles Los nodos marcados como idle son las VMs disponibles que están apagadas actualmente Thiao, mantendrá una VM activa siempre y cuando haya trabajo que esta pueda ejecutar En la siguiente imagen se ven 4 VMs activas y una dormida. Dado que todos los trabajos de la cola son de 4 nodos, no hay razón para iniciar otra VM. 48 / 62

Experimentos Planificación flexible: 1 VM disponible 49 / 62

Experimentos Planificación flexible: 1 VM disponible 50 / 62

Contenido Experimentos Planificación flexible 2: creando una VM para ejecutar un trabajo 1 Introducción Clusters de cómputo Problema Soluciones Virtualización 2 Solución propuesta Cluster virtual Balanceo de carga 3 Experimentos Entorno de pruebas Planificación flexible: 1 VM disponible Planificación flexible 2: creando una VM para ejecutar un trabajo Rendimiento 4 Conclusiones Notas finales 51 / 62

Experimentos Planificación flexible 2: creando una VM para ejecutar un trabajo Incremento dinámico de recursos Si encolamos un trabajo que requiera un solo nodo, se puede hacer backfill iniciando la VM dormida Los nodos marcados como alloc# ya tienen trabajo asignado pero aún no lo están realizando Hay que esperar un momento en lo que inicia la VM, pero no tanto como si hubiera que esperar a que se desocupen los nodos 52 / 62

Experimentos Planificación flexible 2: creando una VM para ejecutar un trabajo 53 / 62

Experimentos Planificación flexible 2: creando una VM para ejecutar un trabajo 54 / 62

Contenido Experimentos Rendimiento 1 Introducción Clusters de cómputo Problema Soluciones Virtualización 2 Solución propuesta Cluster virtual Balanceo de carga 3 Experimentos Entorno de pruebas Planificación flexible: 1 VM disponible Planificación flexible 2: creando una VM para ejecutar un trabajo Rendimiento 4 Conclusiones Notas finales 55 / 62

Stream benchmark Experimentos Rendimiento La latencia de acceso a memoria es despreciable s80r,s81r nodos físicos de 8 núcleos fg0,fg2 máquinas virtuales de 3 núcleos corriendo en s80r fg1 máquina virtual de 3 núcleos corriendo en s81r Figura: Resultados del benchmark stream, la versión original y MPI 56 / 62

Contenido Conclusiones Notas finales 1 Introducción Clusters de cómputo Problema Soluciones Virtualización 2 Solución propuesta Cluster virtual Balanceo de carga 3 Experimentos Entorno de pruebas Planificación flexible: 1 VM disponible Planificación flexible 2: creando una VM para ejecutar un trabajo Rendimiento 4 Conclusiones Notas finales 57 / 62

Trabajo futuro Conclusiones Notas finales Generar VMs por cada trabajo Considerar más parámetros para el balanceo 58 / 62

Conclusiones Notas finales Estado del arte Algunas personas han considerado la posibilidad de utilizar un cluster de VMs para incrementar la utilización del cluster real, pero no hay artículos publicados que lo hayan realizado aún, solamente teoría Stillwell et al., Resource Allocation Using Virtual Clusters, 2009 Huang et al. Virtual machine aware communication libraries for high performance computing, 2007 59 / 62

Conclusiones Notas finales Medios de comunicación Thiao fue presentado en el puesto de FutureGrid, Indiana University, durante el Supercomputing 2011. https://portal.futuregrid.org/presentations Resumen en FutureGrid https://portal.futuregrid.org/references/overview-virtual-cluster-usingopennebula-and-slurm 60 / 62

Conclusiones Notas finales Disponibilidad Página del proyecto https://github.com/scarmiglione/thiao Más capturas de pantalla de experimentos https://github.com/scarmiglione/thiao/tree/master/doc/screenshots 61 / 62

Fin Conclusiones Notas finales Gracias por su atención Preguntas? 62 / 62