Tesi di Laurea Analisi e sviluppo di un sistema automatico per la segnalazione di stati anomali dei job del Data Center S.Co.P.E. Anno Accademico 2011/2012 Relatore Ch.mo prof. Marcello Cinque Correlatore Ch.mo Ing. Flavio Frattini Ch.mo Ing. Davide Bottalico Candidato Salvatore De Simone Matr. 534003409 1
Motivazioni Il Data Center S.Co.P.E. Sistema Cooperativo per Elaborazioni Scientifiche 33 rack per il contenimento dei nodi; 280 server blade (doppia CPU quad-core per un totale di 2240 core); Soluzione di storage misto; Connessioni infiniband. Anomalia segnalata Alcuni job potrebbero non essere terminati a causa di nodi che risultano utilizzabili ma in realtà non sono in grado di eseguire job 2
N.O.M.A.D. Network Oriented Automated Monitoring Daemon Sistema automatico per la rilevazione di job in stallo basato su transizioni di stato anomale Interoperante con Scheduler e Resource Manager Modularità 3
Dettagli del Problema Stati Anomali Stato Waiting Accodamento di job waiting Transizioni temporanee e permanenti Conseguenze Diminuzione delle prestazioni del sistema Rilevazione delle transizioni Problematiche osservate S.Co.P.E. Administration Rilevazioni manuali Periodiche Segnalate Eventuale rilevazione di fallimento 4
Struttura Batch del Data Center Struttura Fisica un central node per la schedulazione dei job (torque02.scope.unina.it) e la gestione delle risorse uno o più execution node per l esecuzione dei job (wnxxx.scope.unina.it) uno o più user interface node per la sottomissione dei job (ui_node.scope.unina.it) 5
Schedulatore e Resource Manager Gestore delle risorse TORQUE Struttura a demoni Riceve comandi di schedulazione dallo schedulatore esterno MAUI Mantiene informazioni relative alle risorse libere ed assegnate Schedulatore MAUI Schedulazione su base prioritaria Concetto di componente La priorità di un job varia in funzione dei suoi componenti Entrambi sono installati sul nodo amministrativo Torque02 6
Il sistema di monitoraggio N.O.M.A.D. Composto da un lato client e un lato server Il demone di monitoraggio N.O.M.A.D. Scritto in Python Comunica col Resource Manager TORQUE per l'individuazione degli stati dei job Scansione ciclica a tempo continuo delle attività dei nodi del Data Center Il Front End Web Scritto in PHP Visualizza le segnalazioni relative ad eventuali fallimenti Mantiene uno storico delle segnalazioni temporanee e permanenti 7
Fasi di un ciclo di monitoraggio Ottenimento della lista dei job waiting state Verifica Presenza Estrazione delle credenziali Invio della segnalazione Aggiornamento dell archivio Logica di monitoraggio Controllo sulla Temporaneità Il controllo sulla temporaneità è implementato mediante flag di presenza aggiornati ad ogni ciclo di scansione 8
Vantaggi e Limiti Vantaggi Segnlazioni quasi istantanee Gestione esterna delle informazioni estratte dal Resource Manager Limiti Impossibilità di definire la causa del fallimento (se presente) Il sistema non è in grado di individuare la macchina che ha causato la transizione sbagliata, bensì un insieme di macchine (job paralleli schedulati su più nodi) 9
Sviluppi Futuri Studio delle cause dei fallimenti Analisi dei nodi individuati al fine di identificare eventuali fallimenti che hanno causato la transizione in uno stato errato Integrazione del parser XML Le statistiche di utilizzo sono memorizzate per ogni nodo in formato XML cpu_load.rrd, mem_free.rrd, ecc.. Utilizzo dei dati di performance per definire la correlazione tra le statistiche di utilizzo dei nodi segnalati e le segnalazioni 10