FESR Trinacria Grid Virtual Laboratory University of Coimbra AMGA - Official Metadata Service for EGEE Salvatore Scifo INFN Catania Catania, 23 Ottobre 2006
Catania, Contenuti Background e Motivazioni Concetti di base sui metadati Requisiti e Architettura Replicazione dei Metadati
Catania, AMGA e Metadati Generalmente Grid contiene una mole non indifferente di file distribuiti su diversi siti Utenti e applicazioni necessitano di un meccanismo efficiente per: –trovare agevolmente i file di interesse sulla Grid –ricercare file per mezzo di indicazioni sui loro contenuti Ricerca intelligente : –associando attributi descrittivi (metadata) ai file –pubblicando queste informazioni in appositi cataloghi, accessibili e interrogabili da utenti e/o applicazioni client
Catania, AMGA e Database Virtualization Non solo Metadati –Molte applicazioni Grid utilizzano dati strutturati –Generalmente schemi molto semplici possono essere modellati come metadati Vantaggi –Integrazione immediata con l’infrastruttura Grid Metadata Service è un Grid Component –Grid security –Hide DB heterogeneity
Catania, Requisiti del Metadata Service Un servizio di metadati: –deve esporre una interfaccia completa ma semplice, tale da essere facilmente usabile da ogni utente –Deve essere flessibile e fornire schemi dinamici al fine di supportare un gran numero di domini applicativi (differenti esigenze) Uno Schema è un set di metadati raggruppati attorno al significato logico di una data entità (es. Dublin Core) –Il servizio deve permettere la definizione di metadati strutturati e gerarchici che permettono la definizione di collezioni Collezione: un insieme di entry + valori degli attributi associati (per esempio: una collezione potrebbe descrivere tutti i file video in un qualunque formato di codifica, title, singer, duration, format, owner, …)
Catania, Requisiti del Metadata Service Deve essere progettato con un’attenzione particolare alla scalabilità, per permettere l’interazione con un largo numero di entry (diversi milioni) Per quanto concerne la sicurezza è richiesto un meccanismo di accesso a livelli differenti per utenti differenti Ridurre i tempi di latenza della rete migliorando le performance per client WAN Essere trasparente ai differenti Back End (l’ambiente GRID è eterogeneo per definizione)
Catania, Un pò di storia AMGA nasce dalla valutazione dei Metadata Services esistenti per gli esperimenti HEP (High Energy Physics): –AMI (ATLAS), RefDB (CMS), Alien Metadata Catalogue (ALICE) –Analoghi concetti e analoghi obiettivi –Progettazione dipendente dal dominio dell’applicazione (scarsamente riusabile) –Molte limitazioni tecniche: prestazioni, scalabilità, velocità, flessibilità AMGA – ARDA Metadata Grid Application –ARDA ha adottato AMGA come EGEE Metadata Interface ufficiale –Prima release integrata in gLite 1.5 –Il servizio è disponibile anche come componente “standalone” Basato sui requisiti dell’esperimento LHC General purpose – aperto a qualunque dominio applicativo Progettato in collaborazione con il gLite/EGEE team Incorpora i feedback del gruppo GridPP (Grid Particle Physicists)
Catania, AMGA – Funzionalità Schemi dinamici –Schemi modificabili a runtime dall’utente Create schemas Delete schemas Add attributes Drop attributes Metadati strutturati e gerarchici –Gli schemi possono contenere sotto-schemi –Analogia con il file system: Schema Directory Entry File Query flessibili –SQL-like query language –Join tra schemi e collezioni differenti ammessi
Catania, AMGA – Concetti Base Pensiamo a: –schema table –collection instance table –attribute column –entry row Schema - set di attributi associabili ad una directory/file Entry - astrazione di una directory/file registrata sul catalogo Collection - un set di entry (istanze di directory/file) con i valori degli attributi definiti dallo schema Attributo – è una coppia con tipo –Nome – il nome dell’attributo –Valore – il valore dell’attributo –Tipe – il tipo del valore (int, float, varchar,…)
Catania, AMGA - Sicurezza Access control –ACL per collection (condivise tra le entries) –ACL per entry –È possibile filtrare l’accesso ai gruppi di utenti in uno Unix style Access Control Group Based Client Authentication –Username/password –General X509 certificates –VOMS Grid-proxy certificates Secure connections – SSL –SSL implementato nei webservice
Catania, AMGA - Implementazione C++ multiprocess server –Backends Oracle, MySQL, PostgreSQL, SQLite –Front Ends TCP Streaming High performance Client API for C++, Java, Python, Perl, Ruby SOAP (web services) Interoperability Scalability Standalone Python Library implementation –Data stored on file system
Catania, AMGA – come accedere TCP Streaming Front-end –mdcli & mdclient and C++ API (md_cli.h, MD_Client.h) –Java Client API and command line mdjavaclient.sh & mdjavacli.sh (also under Windows !!) –Python Client API –AMGA Web Interface ---NEW Developed totally by the GILDA team – INFN CT Based on JAVA AMGA Standard APIs Web Application using standard as JSP Custom Tags, Servlet SOAP Frontend (WSDL) –C++ gSOAP –AXIS (Java) –ZSI (Python)
Catania, AMGA - Metadata Replication AMGA fornisce un meccanismo efficiente per la replica del servizio –Scalabilità – ottime prestazioni da 100 a 1000 utenti –Distribuzione Geografica nasconde la latenza di rete –Affidabilità – la caduta di un singolo nodo non costituisce “breakdown” –Utilizzo off-line – access off-line (laptops) Architettura –Replica asincrona Scrittura su un database qualunque e aggiornamento asincrono sulle altre repliche –Modello Master-Slave Scritture permesse solo sul master, il master aggiorna tutti gli slave –Replica a livello Applicativo L’applicazione si occupa di garantire la coerenza tra le repliche –Replica Parziale La replica avviene solo su sotto-alberi della gerarchia dei metadati.
Catania, AMGA - Metadata Replication Patterns Full replication Partial replication FederationProxy
Catania, AMGA - progetti LHCb-bookkeeping –Migrated bookkeeping metadata to ARDA prototype 20M entries, 15 GB Large amount of static metadata –Feedback valuable in improving interface and fixing bugs –AMGA showing good scalability Ganga –Job management system Developed jointly by Atlas and LHCb –Uses AMGA for storing information about job status Small amount of highly dynamic metadata
Catania, AMGA - Biomed Medical Data Manager – MDM –Conservare immagini mediche su GRID e recuperarle tramite i metadati associati –Sviluppato su gLite 1.5 data management system –Dimostrato alla conferenza di EGEE Pisa, Ottobre 2005 Requisiti di sicurezza molto restrittivi –I dati dei pazienti sono dati sensibili (privacy) –I dati devono essere criptati sullo storage –L’accesso ai metadati deve essere ristretto solo agli utenti autorizati AMGA adottato come metadata server –Dimostrata funzionalità di autenticazione –Dimostrato la crittografia dei contenuti –Utilizzato come virtualizzazione del Database Riferimenti – – dev/metadata
Catania, AMGA - gLibrary Studio della implementazione di un Multimedia Management System su Grid –Esempi di Contenuti Multimediali gestibili con gLibrary: Images Movies Audio Files Office Documents (Powerpoint, Word, Excel, OpenOffice) s, PDFs, HTMLs Customized versions of well-know document type (ex. EGEE PPTs) …. –Tenere traccia e organizzare in modalità uniforme tutti i dettagli addizionali (metadata schema) dei files conservati negli Storage Elements e registrati sui File Catalogues –Fornite agli utenti un modo agevole per localizzare e recuperare i files in base ai loro contenuti (metadata schema instance)
Catania, AMGA – Grid Movie On Demand gMOD: –Applicazione che gestice la catalogazione, la ricerca e la visualizzazione di movies conservati nello Storage di Grid. Funzionalità –Utente può navigare la lista dei video e sceglierne uno per visualizzarlo in real time streaming sul video player della workstation. –Per ciascun video sono mantenute diverse informazioni di dettaglio Metadati (Title, Runtime, Country, Release Date, Genre, Director, Case, Plot Outline) e gli utenti possono eseguire ricerche accurate interrogando tali dati. –Due tipologie di utenti possono interagire con gMOD: TrailersManagers : gestisce il db dei movies (uploading new ones and attaching metadata to them); GILDA VO users (guest) : esegue il browsing del catalogo, cerca attraverso i metadati e sceglie il movie da scaricare.
Catania, AMGA – Digital Archive Applicazione che gestice la catalogazione, la ricerca e la visualizzazione di documenti digitali conservati nello Storage di Grid.
Catania, Conclusioni AMGA è il servizio di metadati per Grid –permette a utenti e applicazioni di definire e valorizzare metadati descrittivi per file e identificare tali file in base ai valori dei metadati AMGA è basato RDBMS –Multidomain metadata: permette di definire schemi di attributi che soddisfino le necessità dell’utente (metadata customization) –Fornisce un meccanismo per la replica del servizio il quale assicura una disponibilità locale del database e assicura l’aggiornamento delle istanze replicate –Database virtualization: un servizio di accesso a database per applicazioni Grid AMGA integrazione perfetta in un ambiente Grid –Il Metadata Service è un componente Grid –Il servizio è compatibile con la Grid Security Infrastructure –AMGA nasconde la eterogeneità dei Database server usati come back end
Catania, Questions…