Sistema De Recuperación Automática De Un Supercomputador Con Arquitectura De Cluster
Total Page:16
File Type:pdf, Size:1020Kb
Universidad Politecnica´ de Madrid Facultad de Informatica´ Proyecto fin de carrera Sistema de recuperacion´ automatica´ de un supercomputador con arquitectura de cluster Autor: Juan Morales del Olmo Tutores: Pedro de Miguel Anasagasti Oscar´ Cubo Medina Madrid, septiembre 2008 La composicion´ de este documento se ha realizado con LATEX. Diseno˜ de Oscar Cubo Medina. Esta obra esta´ bajo una licencia Reconocimiento-No comercial-Compartir bajo la misma licencia 2.5 de Creative Commons. Para ver una copia de esta licencia, visite http://creativecommons.org/licenses/by-nc-sa/2.5/ o envie una carta a Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA. Las ideas no duran mucho. Hay que hacer algo con ellas. Santiago Ramon´ y Cajal A todos los que he desatendido durante la carrera Sinopsis El continuo aumento de las necesidades de computo´ de la comunidad cient´ıfica esta´ ocasionando la proliferacion´ de centros de supercomputacion´ a lo largo del mundo. Desde hace unos anos˜ la tendencia es ha utilizar una arquitectura de cluster para la construccion´ de estas maquinas.´ Precisamente la UPM cuenta con uno de estos computadores. Se trata de Magerit, el segundo super- computador mas´ potente de Espana˜ que se encuentra alojado en el CeSViMa y que alcanza los 16 TFLOPS. Los nodos de computo´ de un sistema de estas caracter´ısticas trabajan exhaustivamente casi sin des- canso, por eso es frecuente que vayan sufriendo problemas. Las tareas de reparacion´ de nodos consumen mucho tiempo al equipo de administracion´ de CeSViMa y no existen herramientas que agilicen estas labo- res. El objetivo de este proyecto es dotar de cierta autonom´ıa a Magerit para que pueda recuperar de forma automatica´ sus nodos de computo´ sin la intervencion´ de los administradores del sistema. Al final de este proyecto se obtendra´ un sistema software inedito´ que controlara´ y mantendra´ el buen funcionamiento de los nodos de computo´ de un cluster formado por mas´ de 1200 maquinas.´ – I – Agradecimientos Quisiera dar las gracias a todas las persona que de alguna manera me han ayudado a terminar y disfrutar la carrera: A mis padres, Jose Luis y Carmen por apoyarme y preocuparse tanto por mi y mis estudios en estos 5 anos˜ de carrera. A mis hermano Luis, por alegrarme tanto el d´ıa a d´ıa y siempre estar dispuesto a echar la ultima.´ A mis abuelas, Nica y Santos por ensenarme˜ a mirar la vida desde otra perspectiva. Al resto de mi familia por todo el animo´ que me han dado. A Clara, por todo. A mis companeros˜ del CeSViMa, a Oscar por haberme ensenado˜ lo que no esta´ en los escritos. A Fernando por proteger a capa y estada, y tratar tan bien a los suyos. A Carlos por ensenarme˜ que el saber no ocupa lugar, solo´ en los cajones. A Victor por los ratos de aprendizaje y los cables que me ha echado. A Santi por estar siempre en el despacho y siempre abierto a una buena charla. A Pedro por haberme dado la oportunidad de trabajar en CeSViMa y por las ayudas prestadas. A mis companeros˜ de aquella practica´ de cuyo nombre no quiero acordarme, Adri, Geno, Giorgi y Clara. A mis companeros˜ de clase, Bego, Sara, David, Riqui, Mario, Sergio y Anto. A la gente de Histrion,´ por tantos buenos momentos figurando. Y a todo aquel que crea que debe que estar aqu´ı y que me sepa disculpar por mi mala memoria. – III – Indice´ general Sinopsis . I Agradecimientos . III Indice´ general . V Indice´ de figuras . XI Indice´ de cuadros . XIII Acronimos´ . XV PARTE IINTRODUCCION´ Y OBJETIVOS 1. Introduccion..........................´ 3 1.1. CeSViMa .......................... 3 1.2. Magerit . 5 1.3. Necesidades que cubre el proyecto . 6 1.4. Objetivos . 6 1.5. Estructura de la Memoria . 7 – V – Indice´ general PARTE II ESTADO DE LA CUESTION´ 2. Desarrollo de un sistema software . 11 2.1. Ciclos de vida . 11 2.1.1. Ciclos de vida de referencia . 14 2.1.1.1. Secuencial o en cascada . 14 2.1.1.2. Prototipado . 15 2.1.1.3. Espiral . 15 2.2. Paradigmas . 17 2.2.1. Estructurado . 17 2.2.2. Orientado a objetos . 17 2.2.3. Agentes moviles´ . 19 2.2.4. Basado en el conocimiento . 19 3. El supercomputador Magerit . 21 3.1. BladeCenter JS20 y JS21 . 22 3.2. BladeCenters ........................23 3.2.1. Management Module (MM) . 24 3.2.2. Modulos´ de entrada salida . 25 3.3. Servidores . 26 3.4. Almacenamiento . 27 3.4.1. General Parallel File Sistem (GPFS) . 28 3.5. Comunicaciones . 28 3.5.1. Gigabit Ethernet . 29 3.5.2. Myrinet . 30 3.6. Configuracion´ software . 31 3.7. Ejecucion´ de trabajos . 31 3.7.1. LoadLeveler . 32 3.8. Gestion´ . 32 – VI – Indice´ general 4. Magerit Monitor and Management System . 33 4.1. Filosof´ıa . 33 4.2. Arquitectura . 34 4.3. Diseno˜ . 35 4.3.1. Modelo vista controlador (MVC) . 35 4.3.2. Configuracion´ . 36 4.3.3. Base de datos . 36 4.4. Normativas . 36 4.4.1. Documentacion´ . 37 4.4.2. Codificacion´ . 37 4.4.3. Gestion´ de versiones . 38 4.5. Tecnolog´ıas . 38 4.5.1. PHP Hypertext Pre-processor (PHP) . 39 4.5.2. Zend Framework . 39 4.5.3. MySQL ........................40 4.5.4. Subversion . 41 4.5.5. Eclipse . 41 PARTE III DESARROLLO DEL PROYECTO 5. Recuperacion´ Automatica´ . 45 5.1. Contexto . 45 5.2. Recuperacion´ manual . 47 5.3. Analisis´ inicial . 48 5.3.1. L´ımites . 48 5.3.2. Interaccion´ con el sistema . 49 5.3.3. Problemas . 49 5.3.4. Viabilidad . 51 5.3.5. Proceso de desarrollo . 52 – VII – Indice´ general 6. Recuperador Secuencial . 53 6.1. Requisitos . 53 6.2. Diseno˜ . 54 6.2.1. Proceso de recuperacion´ . 54 6.2.2. Modelo del dominio . 54 6.2.3. Acciones de Recuperacion´ . 55 6.3. Resultados . 59 7. Recuperador Paralelo . 61 7.1. Requisitos . 61 7.2. Diseno˜ . 62 7.2.1. Proceso de recuperacion´ . 62 7.2.2. Modelo del dominio . 63 7.2.3. Acciones de Recuperacion´ . 64 7.2.4. Hilos de ejecucion´ . 65 7.2.4.1. Hilo WatchDog . 66 7.2.4.2. Hilos Recoverer . 66 7.3. Resultados . 68 8. Recuperador Distribuido . 71 8.1. Requisitos . 71 8.2. Diseno˜ . 72 8.2.1. Proceso de recuperacion´ . 73 8.2.2. Modelo del dominio . 73 8.2.3. Acciones de Recuperacion´ . 74 8.2.4. Comunicacion´ entre recuperadores . 76 8.2.5. Informes efectivos . 78 8.3. Resultados . 79 9. Diseno˜ de un recuperador experto . 81 – VIII – Indice´ general 9.1. Justificacion´ del metodo´ elegido . 81 9.1.1. Justificacion´ de las tecnicas´ de representacion´ simbolica´ utilizadas . 83 9.2. Conclusiones . 85 PARTE IV CONCLUSIONES Y L´INEAS FUTURAS 10. Conclusiones . 89 10.1. Analisis´ de esfuerzo . 90 10.2. L´ıneas Futuras . 91 PARTE VANEXOS A. Detalles del diseno˜ de un recuperador experto . 95 A.1. Descripcion´ del modelo . 95 A.1.1. Vocabulario conceptual: jerarqu´ıa de marcos . 95 A.1.1.1. Componentes hardware . 97 A.1.1.2. Maquinas´ . 100 A.1.1.3. Componentes Software . 102 A.1.2. Relaciones Efecto-Causa . 104 A.1.3. Diferenciacion´ . 105 A.1.3.1. Relaciones causa-efecto . 105 A.1.3.2. Conocimiento circunstancial . 106 A.1.3.3. Refino . 107 A.1.3.4. Cualificacion´ . 108 A.1.4. Estrategias de combinacion´ . 108 A.1.5. Producciones . 108 A.1.6. Prioridades . 109 A.1.7. Estrategias . 110 A.1.8. Acciones . 110 – IX – Indice´ general A.1.9. Efectos . 110 A.2. Ejemplos de funcionamiento . 111 A.2.1. Ejemplo 1: Existen fallos graves . 111 A.2.2. Ejemplo 2: No hay fallos graves . 118 Bibliograf´ıa . 123 – X – Indice´ de figuras 1.1. El supercomputador Magerit . 5 2.1. Complejidad del universo software . 11 2.2. Clasificacion´ de la incertidumbre . 12 2.3. Ciclo de vida secuencial . ..