Monitoring All Grid Object MAGO Monitoring All Grid Object
Ruolo del CRIAI in ENEA-CRESCO Ganglia MAGO MAGO-WEB MAGO-CORE MAGO-DB Agenda Agenda Ruolo del CRIAI in ENEA-CRESCO Ganglia MAGO MAGO-WEB MAGO-CORE MAGO-DB Conclusione
Ruolo del CRIAI in ENEA-CRESCO Ganglia MAGO MAGO-WEB MAGO-CORE MAGO-DB Agenda Agenda Ruolo del CRIAI in ENEA-CRESCO Ganglia MAGO MAGO-WEB MAGO-CORE MAGO-DB Conclusione
da quelle in fase di sviluppo a quelle in via di sperimentazione. CRIAI - Studio e competenze Ogni ricercatore del CRIAI è impegnato nello studio delle tecnologie ICT presenti nel mondo della ricerca e dell’industria, da quelle in fase di sviluppo a quelle in via di sperimentazione.
elaborare modelli e progettare soluzioni innovative CRIAI – Analisi delle problematiche L’analisi delle problematiche su cui opera il CRIAI porta ad elaborare modelli e progettare soluzioni innovative efficaci ed efficienti, aderenti agli standard presenti, integrabili agevolmente nelle infrastrutture tecnologiche
Il valore aggiunto offerto dal CRIAI è la capacità di CRIAI - Introduzione Il valore aggiunto offerto dal CRIAI nell’ambito della ricerca industriale è la capacità di progettare soluzioni architetturali basate sull’innovazione tecnologica derivante dalla ricerca di base che siano di prospettiva per i processi di industrializzazione Ricerca di base Università Processi di Industrializzazione Industrie CRIAI
Il CRIAI partecipa al PON 2000-2006 dell’ENEA nel progetto CRESCO CRIAI – CRESCO Il CRIAI partecipa al PON 2000-2006 “Ricerca Scientifica, Sviluppo Tecnologico, Alta Formazione” Misura II.2 “Società dell’Informazione per il Sistema Scientifico Meridionale” dell’ENEA nel progetto CRESCO (Centro computazionale di RicErca sui Sistemi COmplessi)
CRESCO – ENEA Il Progetto ha come obiettivo la realizzazione, presso il Centro Ricerche ENEA di Portici (NA), di un importante Polo di calcolo multidisciplinare per lo studio dei sistemi complessi di natura biologica e tecnologica, collegato con facilities di elaborazione, archiviazione e visualizzazione 3D di dati ubicate presso i Centri ENEA di Brindisi e Trisaia (MT). Sul piano delle applicazioni e dei contenuti scientifici, il Progetto si focalizza sulle seguenti linee d'attività: SP I - Implementazione di soluzioni innovative in tema di architetture di sistemi di calcolo e di GRID computing per le attività R&S di punta dell’ENEA che richiedano l’utilizzo di risorse computazionali estremamente importanti. Sul versante infrastrutturale il Progetto prevede la realizzazione di una piattaforma di calcolo di assoluta eccellenza in grado di erogare una potenza dell’ordine del Teraflop, corredata di una nuova classe di funzionalità GRID innovative; SP II - Studio di oggetti biologici dal punto di vista sistemico (in silico cell) e lo studio di sistemi naturali (comunità animali e sociali) secondo il paradigma dei sistemi complessi; SP III - Studio di sistemi tecnologici complessi e delle loro mutue interazioni, e la realizzazione di opportuni strumenti per il modelling, la simulazione e il controllo.
CRIAI – ENEA Il CRIAI è partner di ENEA nelle attività del SPI e del SPIII Nell’ambito del SPI per l’implementazione di soluzioni innovative in tema di architetture di sistemi di calcolo e di GRID computing, il CRIAI ha effettuato uno studio dei sistemi di monitoraggio per la realizzazione del sistema informativo delle risorse, secondo lo standard del GLUE Schema (http://glueschema.forge.cnaf.infn.it/)
Ruolo del CRIAI in ENEA-CRESCO Ganglia MAGO MAGO-WEB MAGO-CORE MAGO-DB Agenda Agenda Ruolo del CRIAI in ENEA-CRESCO Ganglia MAGO MAGO-WEB MAGO-CORE MAGO-DB Conclusione
CRIAI – Ganglia Dopo un’accurata fase di scouting è stato scelto il sistema di monitoraggio GANGLIA Il CRIAI ha messo a disposizione la propria rete come testbed del sistema di monitoraggio, costruito in modo da emulare le caratteristiche dell’infrastruttura dei nodi di calcolo ENEA nella quale il sistema andrà in produzione
CRIAI - Ganglia Il CRIAI sta realizzando la sperimentazione controllando sia le metriche di default di Ganglia che misure aggiuntive opportunamente implementate
Ganglia - Introduzione Ganglia è un sistema di monitoraggio distribuito che permette di controllare diversi parametri di un gruppo di nodi di calcolo, come: carico del processore uso della memoria I/O spazio disco …
Ganglia - Definizione Ganglia è un sistema di monitoraggio scalabile e distribuito per sistemi di calcolo ad alte prestazioni come i cluster ed i Grid. È basato su un disegno gerarchico destinato alle federazioni di cluster.
Ganglia - Tipo di comunicazione Poggia su un protocollo request/response per monitorare lo stato tra i cluster ed usa un albero di connessioni punto-punto attraverso i nodi rappresentativi dei clusters basato sul multicast per aggregare i loro stati.
Fa leva su tecnologie consolidate e diffuse quali : Ganglia - Tecnologie usate Fa leva su tecnologie consolidate e diffuse quali : XML per il trasporto dei dati XDR per la portabilità dei dati RRDtool per il salvataggio dei dati e visualizzazione grafica
Ganglia - Vantaggi e potenzialità Usa strutture di dati ed algoritmi che realizzano un overhead molto basso su ciascun nodo e favoriscono l’alta concorrenza dell’insieme dei nodi. L'implementazione è robusta, portata ad un vasto insieme di sistemi operativi e di architetture di processori, ed è attualmente in uso su moltissimi cluster nel mondo. È stato usato per collegare cluster attraverso campus universitari ed intorno al mondo e può essere configurato per controllare cluster con una grande quantità di nodi.
Può essere integrato in architetture GRID, Ganglia - Possibilità di utilizzo È un sistema apprezzato in ambienti linux / unix per gestire siti eterogenei e complessi. Può essere integrato in architetture GRID, come strumento di monitoraggio delle risorse distribuite (performance evaluation) o come strumento di supporto al bilanciamento di carico (capacity planning)
Ganglia - Architettura Il sistema Ganglia è costituito da: un processo Ganglia Meta Daemon (gmetad) ad ogni nodo nell’albero di connessioni un processo multi-thread (gmond) attivo su ciascun nodo del cluster che si vuole monitorare un web frontend basato sul PHP tool aggiuntivi Il sistema memorizza i dati in un database RRD (Round Robin Database) ed attraverso rrdtool visualizza i grafici richiesti dall’utente attraverso la web application.
Ganglia - gmetad Il demone gmetad attivo sui nodi di ramificazione: ottiene una collezione di dati ad intervalli predefiniti, dalle sorgenti dei suoi rami discendenti, analizza l’XML collezionato, salva tutte le metriche numeriche volatili nel database round-robin ed esporta gli XML aggregati sulle socket TCP verso i client.
Ganglia - gmond gmond esplica quattro funzionalità: monitorare i cambiamenti di stato negli host, annunciare i cambiamenti rilevanti, ascoltare lo stato di tutti gli altri nodi ganglia attraverso un canale unicast o multicast e rispondere alla richiesta con una descrizione XML dello stato del cluster.
Ruolo del CRIAI in ENEA-CRESCO Ganglia MAGO MAGO-WEB MAGO-CORE MAGO-DB Agenda Agenda Ruolo del CRIAI in ENEA-CRESCO Ganglia MAGO MAGO-WEB MAGO-CORE MAGO-DB Conclusione
Si sta realizzando un sistema di monitoraggio dell’infrastruttura ENEA MAGO Si sta realizzando un sistema di monitoraggio dell’infrastruttura ENEA che si basa su Ganglia, ma è adattato alle specifiche esigenze e sfrutta tutte le potenzialità già presenti in ENEA-Grid, pur ponendosi in maniera trasversale rispetto ad esse
“Monitoring All GRID Object” MAGO – Monitoring All Grid Object MAGO che sta per “Monitoring All GRID Object” in sintesi gestisce il monitoraggio delle risorse di ENEA-Grid ed il caricamento del Database delle Risorse
Il monitoraggio di tutte le risorse della rete di calcolo ENEA-Grid MAGO – Funzionalità Il sistema “MAGO: Monitoring All GRID Objects” indica il complesso delle varie funzionalità: La memorizzazione di tutti i dati riguardanti le risorse disponibili nella rete di calcolo ENEA-Grid Il monitoraggio di tutte le risorse della rete di calcolo ENEA-Grid La comunicazione tra il database suddetto ed il sistema di ENEA-GRID
Il sistema MAGO è costituito da vari componenti MAGO – Componenti Il sistema MAGO è costituito da vari componenti MAGO System mago.sql Web Application MAGO SignOn MSetup MMonitor Menquiry Monitoring Complex magoupdate.sh MSiteLoader MSiteProvider MMasterLoader metric
MAGO – WEB MAGO – CORE MAGO – DB Il sistema MAGO quindi si divide in: MAGO – Componenti Il sistema MAGO quindi si divide in: MAGO – WEB MAGO – CORE MAGO – DB
Ruolo del CRIAI in ENEA-CRESCO Ganglia MAGO MAGO-WEB MAGO-CORE MAGO-DB Agenda Agenda Ruolo del CRIAI in ENEA-CRESCO Ganglia MAGO MAGO-WEB MAGO-CORE MAGO-DB Conclusione
MAGO – WEB La parte WEB si compone di un Application Server e di una Web Application Un application server è un sistema software che fornisce l'infrastruttura e le funzionalità di supporto, sviluppo ed esecuzione di applicazioni e componenti server side in un contesto distribuito. Si tratta di un complesso di servizi orientati alla realizzazione di applicazioni per il web, multilivello ed enterprise, con alto grado di complessità. Una applicazione Web è una applicazione per Internet, a cui gli utenti accedono tramite un Web browser. Dal punto di vista del browser,l'interazione con una applicazione web è indistinguibile dall'accesso a un sito Web statico. Le pagine visualizzate dal browser, in questo caso, sono però generate dinamicamente dall'applicazione. La web application di MAGO è costruita secondo il pattern Model View Controller (MVC)
L’istanza tecnologica scelta per l’Application Server è JBoss MAGO – WEB – Application Server L’istanza tecnologica scelta per l’Application Server è JBoss JBoss è un application server open source. E’ conforme a tutte le specifiche J2EE imposte dalla Sun Microsystems e può essere installato su tutte le piattaforme (compreso i mainframe AS400 e OS390) Si tratta di un motore applicativo in grado di contenere e gestire applicazioni Web ed Enterprise scritte in Java secondo le specifiche J2EE. L’utilizzo di questa tecnologia porta con sé il vantaggio di essere basato su standard e di supportare le ultime novità tecnologiche nell’ambito dello sviluppo java quali il motore di persistenza Hibernate e le specifiche Enterprise Java Bean (EJB ) 3.0.
MAGO – WEB – JBoss L’installazione della distribuzione di JBoss per una architettura hardware (es. INTEL) crea una directory jboss-*(es. 4.0.4) che contiene gli script di start del server, JARs, i set di configurazione del server e le working directories
MAGO – WEB – Integrazione JBoss e AFS Enea Installazione del server JBoss su un PC dotato di sistema operativo Scientific Linux 4 e di un client AFS Configurazione di JBoss in modo da estendere la pubblicazione delle sue applicazioni anche al sistema Enea-Grid L’infrastruttura ENEA–Grid in questo modo è dotata di 2 tipi di server: il web server Apache all’indirizzo www.afs.enea.it l’application server JBoss ad un altro indirizzo IP (da definirsi) In questo modo, richiamando da un browser, l’indirizzo: http://indirizzo_IP_server_JBoss/Nome_Applicazione sarà possibile visualizzare qualunque applicazione web che si trova nella directory /afs/enea.it/…./public_html Si sottolinea che il web server Apache continua a funzionare secondo le attuali modalità di utilizzo, pubblicando le pagine HTML contenute in /afs/enea.it/…./public_html
MAGO – WEB – Integrazione JBoss e AFS Enea
MAGO – WEB – User Interface La Web Application di MAGO fornisce una interfaccia utente che garantisce le seguenti funzionalità: l’accesso al sistema mediante le credenziali dell’utente in ENEA-Grid (klog) l’utilizzo delle potenzialità fornite dai sistemi AFS ed LSF già presenti nell’infrastruttura ENEA-Grid l’aggiunta di ulteriori servizi e funzionalità tuttora non presenti in ENEA-Grid
MAGO – WEB – User Interface: Login
MAGO – WEB – User Interface: Home
MSetup che consente la configurazione del sistema di monitoraggio MAGO – WEB – User Interface – Componenti Attraverso un browser si possono utilizzare i seguenti componenti di MAGO: MSetup che consente la configurazione del sistema di monitoraggio MMonitor che consente la visualizzazione del monitoraggio globale con un opportuno sistema di allarmi MEnquiry che consente la ricerca mirata nel DB di specifici dati monitorati richiesti
MAGO – WEB – User Interface – MSetup Il sistema MAGO è stato progettato in maniera da monitorare un insieme globale di risorse eterogenee e distribuite, configurabili mediante il componente MSetup. Si sottolinea che l’insieme dei nodi di calcolo ENEA-Grid, attualmente gestiti mediante LSF, è una parte delle risorse considerate.
Definisce ciascun SITO ENEA MAGO – WEB – User Interface – MSetup Il componente MSetup: Definisce ciascun SITO ENEA Assegna a ciascun sito un insieme di HOST suddividendoli per gruppi multicast Definisce ogni METRICA che si intende misurare Definisce i RUOLI in base a gruppi di metriche e li assegna a gruppi di nodi, per facilitare la gestione di un numero elevato di risorse
Ruolo del CRIAI in ENEA-CRESCO Ganglia MAGO MAGO-WEB MAGO-CORE MAGO-DB Agenda Agenda Ruolo del CRIAI in ENEA-CRESCO Ganglia MAGO MAGO-WEB MAGO-CORE MAGO-DB Conclusione
Livello Server Centrale Livello Server di Sito Livello Nodo MAGO – CORE – Architettura Il CORE del sistema MAGO è basato su un’architettura distribuita su tre livelli distinti Livello Server Centrale Livello Server di Sito Livello Nodo
MAGO – CORE – Architettura
Server di monitoraggio di Ganglia Database delle Risorse MAGO – CORE – Server Centrale A livello di Server centrale si divide nei seguenti elementi: Server di monitoraggio di Ganglia Database delle Risorse Componente di caricamento del database: MMasterLoader
Server di monitoraggio di Ganglia (gmetad) MAGO – CORE – Server di Sito Ogni Server di sito ha i seguenti componenti: Server di monitoraggio di Ganglia (gmetad) Client-core di monitoraggio di Ganglia (gmond) Componente di caricamento del database locale di sito:MSiteLoader Componente di fornitura dei dati verso il Server centrale:MSiteProvider
Script-sonda generalizzato per tutti i nodi magoupdate.sh MAGO – CORE – Nodo Ogni Nodo della rete ENEA-Grid ha i seguenti componenti: Client di monitoraggio (gmond) sempre attivo come servizio ed esso fornisce le informazioni standard di Ganglia Metriche addizionali che vengono raccolte tramite l'esecuzione di script e fanno uso di gmetric per passare l'informazione a gmond Ambiente locale MAGO Script-sonda generalizzato per tutti i nodi magoupdate.sh
MAGO – CORE – Gestione centralizzata La gestione dei nodi è progettata in modo da essere il più centralizzata possibile, avvalendosi attualmente del file system distribuito AFS di ENEA, ma estensibile ad altri diversi canali di comunicazione
MAGO – CORE – Gestione centralizzata Il componente script-sonda magoupdate è installato una sola volta su un server (in AFS e/o altro tipo) Viene eseguito ad una cadenza temporale prestabilita in maniera automatizzata sulla lista di tutti nodi configurati da MSetup La conseguenza diretta di tale meccanismo è che il componente si auto-installa e si auto-aggiorna su tutti i nodi
/afs/enea.it/project/cresco/LA1/cresco_sp12_criai/soft/mago MAGO – CORE – Gestione centralizzata del Nodo il componente magoupdate.sh posizionato in /afs/enea.it/project/cresco/LA1/cresco_sp12_criai/soft/mago esplica le seguenti funzionalità: Verifica l'accessibilità ad AFS (se non è accessibile termina o provvede a ricevere le informazioni da canali alternativi) Copia la versione aggiornata di magoupdate.sh (oppure se non ancora presente installa lo script) sul nodo Copia da AFS sul nodo La lista delle metriche da misurare per il nodo stesso La tabella dei tempi di rilevazione delle misure per le metriche al punto a) Tutti gli script definiti nella lista al punto a) che effettuano le misure in locale sul nodo Aggiorna il crontab locale dell' utente “mago”
MAGO – CORE – Gestione centralizzata del Nodo Il componente in esecuzione sul singolo nodo per effetto diretto delle operazioni di copia delle metriche e di aggiornamento del crontab locale, genera le seguenti conseguenze: Esecuzione dei rispettivi script secondo la tempistica stabilita dal crontab (cioè misura dei parametri sul nodo) Accodamento del risultato ottenuto da ciascuno script a gmond (Ganglia) mediante gmetric Invio automatico, grazie all’esecuzione di gmond, del file XML di Ganglia sulla porta 8649 (default) contenente anche i valori delle metriche aggiunte ed eseguite
Ruolo del CRIAI in ENEA-CRESCO Ganglia MAGO MAGO-WEB MAGO-CORE MAGO-DB Agenda Agenda Ruolo del CRIAI in ENEA-CRESCO Ganglia MAGO MAGO-WEB MAGO-CORE MAGO-DB Conclusione
MAGO – DB Database generale delle risorse di ENEA-Grid implementato con MySQL, e presente fisicamente sul server centrale dedicato Tale database contiene sia le tabelle statiche di configurazione che vengono caricate da MSetup ed utilizzate dagli altri componenti del sistema, sia le tabelle dinamiche contenenti i dati aggiornati dell’intera infrastruttura di monitoraggio
MAGO – DB – Visione globale
Ruolo del CRIAI in ENEA-CRESCO Ganglia MAGO MAGO-WEB MAGO-CORE MAGO-DB Agenda Agenda Ruolo del CRIAI in ENEA-CRESCO Ganglia MAGO MAGO-WEB MAGO-CORE MAGO-DB Conclusione
Conclusione Il sistema descritto è attualmente in fase di implementazione da parte del CRIAI nell’ambito delle attività SPI.2 del progetto PON CRESCO di Enea
Implementazione MAGO-WEB (50%)(rif. OR3) Conclusione Le attività realizzate finora sono: Studio di scouting sui sistemi di monitoraggio e scelta di Ganglia (100%)(rif. OR1) Sperimentazione ed installazione di Ganglia sul testbed CRIAI(100%)(rif. OR2) Installazione demone gmond su campione di differenti piattaforme disponibili in ENEA-Portici (60%)(rif. OR2) Progettazione e stesura relativa documentazione del sistema MAGO (80%)(rif. OR2) Implementazione MAGO-WEB (50%)(rif. OR3) Implementazione MAGO-CORE (50%)(rif. OR3) Implementazione MAGO-DB (100%)(rif. OR1) Installazione sistema in ambiente di produzione (0%)(rif. OR3)
Conclusione Le soluzioni applicative descritte verranno predisposte per il sistema MAGO ma potranno essere riutilizzate ed estese nell’infrastruttura ENEA-Grid per ogni ulteriore realizzazione che si vorrà effettuare
Grazie per la cortese attenzione Conclusione Domande? Grazie per la cortese attenzione