Tesi di Laurea Magistrale Anno Accademico 2013-2014 Relatore Ch.mo Prof. Marcello Cinque Correlatori Ch.mo Ing. Flavio Frattini Ch.mo Ing. Davide Bottalico Candidato Antonio Nappi Matr. M63000141
Supercalcolatori e Grid Computing Collezione di computer situati nello stesso luogo Capacità di elaborare enormi quantità di dati Connessioni wide-band Distribuzione geografica sparsa Condivisione delle risorse Connessioni su reti da 20Gb Grid Computing Infrastruttura di calcolo distribuito Supercomputer virtuale Scopo comune Organizzazioni virtuali
Problemi Consumo di potenza Gestione inefficiente delle macchine fisiche (PM) Gestione dei fallimenti Un aiuto dal Cloud Risorse on-demand Consolidamento del carico Elasticità nella gestione delle macchine virtuali (VM) Configurazione ad-hoc Migrazione delle VM Isolamento delle risorse Grid on Cloud Nuovo paradgima per la gestione di infrastrutture di supercalcolo basato su cloud e virtualizzazione Come indirizzare il carico grid sulle risorse virtuali? Come verficare l efficacia e l efficienza del sistema?
Contributi Implementazione di un sistema Grid On Cloud : Installazione di una piattaforma Cloud Configurazione del software Realizzazione di script per l interazione trasparente delle VM con il middleware glite Implementazione di un sistema di Monitoraggio : Installazione e configurazione del sistema di Monitoraggio Ganglia Implementazione di plug-in aggiuntivi in python Implementazione di script per facilitare la raccolta e l'analisi dei dati Verifica del funzionamento : Esecuzione di job CPU intensive su piattaforma fisica e virtuale
Implementazione di un sistema Grid on Cloud Nodi del supercomputer S.Co.P.E UNINA INFN Grid Italiana ed Europea Tier-2 per esperimento ATLAS 3 Nodi 8 core e 16 GB di memoria 3 Nodi 8 core e 8 GB di memoria Piattaforma Cloud OpenStack 1 Nodo Controller 5 Nodi Compute
Implementazione di un sistema Grid on Cloud Grid Virtuale È necessaria la creazione di macchine virtuali che fungano da worker node In maniera trasparente per gli utilizzatori Ogni componente virtuale del grid necessita del middleware glite (utilizzato da S.Co.P.E.)
Implementazione di un sistema di Monitoraggio Perchè Verifica dell'efficacia e dell'efficienza del Cloud Rilevazione dei guasti e dei colli di bottiglia Fornisce una base per ipotesi di testing e modellazione Facilità il management delle risorse Ganglia Gmetad Gmond RRD (Round Robin DB) Utilizzato già nel progetto S.Co.P.E. Problemi Di default monitora solo informazioni di base (CPU,RAM,rete..) Non monitora VM Dati memorizzati in RRDB Difficoltà di analisi
Implementazione di un sistema di Monitoraggio Plugin aggiuntivi creati per monitorare: Il consumo energetico di ogni singolo nodo e degli chassis Informazioni del sistema di raffreddamento del datacenter Temperature di inlet e outlet, velocità delle ventole, temperatura liquido di raffreddamento, Monitoraggio delle VM: Attraverso l uso dell'agent hsflowd e del protocollo sflow Creati script per : Trasformare i file rrd in file XML human readable Effettuare il parsing dei file XML e memorizzarli in un database MySQL Collezionamento delle informazioni sul workload (ricavate dai log del Resource Manager) in un database MySQL
Un semplice esperimento Premesse: Utilizzo del Benchmark LINPACK Macchine fisiche e virtuali con IDENTICHE caratteristiche tecniche Monitoraggio continuo delle due infrastrutture durante gli esperimenti.
Risultati degli esperimenti Nodo fisico : Nodo virtuale : Avg. 243.15W±47.56W Avg. 215.47W±32.26W Avg. 97.84 ±4.03 % Avg. 90.65 ±0.46 % Avg. 0.80 ±0.01 % Tempo mediodi esecuzione: 6084±1046 s Tempomediodi risoluzione :5082±19 s Avg. 9.17 ±0.05 % Tempomediodi esecuzione: 9221±291s Tempo mediodi risoluzione :6804±6158s
Conclusioni È stato creato un sistema di Grid on Cloud e un infrastruttura di monitoraggio per sperimentazioni future È stato verificato il funzionamento attraverso un esperimento Si è osservato un degrado delle prestazioni ma anche L elasticità del Cloud nel fornire risorse solo quando necessario e configurate per il carico del sistema in un determinato periodo Sviluppi Futuri Allargare il set di esperimenti per capire come gestire al meglio le risorse(ad.esempio spegnere le macchine che non ospitano VM) Analizzare il comportamente delle VM con diversi tipi di carico (ad es. I/O e CPU) Monitorare parametri di affidabilità : log di sistema, della piattaforma cloud, dello scheduler