Trinacria Grid Virtual Laboratory AMGA - Official Metadata Service for EGEE Salvatore Scifo INFN Catania Primo Grid Tutorial Catania, 14-15 Marzo 2006 University of Coimbra www.trigrid.it FESR Contenuti • Background e Motivazioni • Concetti di base sui metadati • Requisiti e Architettura • Replicazione dei Metadati Catania, Primo Grid Tutorial, 14.03.2006 2 Perchè AMGA? • Generalmente Grid contiene milioni 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 (metadata querying) • Questo è fornito – associando attributi descrittivi (metadata) ai file – pubblicando queste informazioni in appositi cataloghi, accessibili e interrogabili da utenti e/o applicazioni client Catania, Primo Grid Tutorial, 14.03.2006 3 I requisiti del Metadata Service • Un servizio di metadati deve esporre una interfaccia completa ma semplice, tale da essere facilmente usabile da ogni utente • Dovrebbe essere flessibile e fornire schemi dinamici al fine di supportare un gran numero di domini applicativi – 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, Primo Grid Tutorial, 14.03.2006 4 I 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 • Qualità del servizio – Ridurre i tempi di latenza della rete migliorando le performance per client WAN – Permettere l’accesso off-line al servizio – repliche locali – Essere trasparente ai differenti Back End (l’ambiente GRID è eterogeneo per definizione) – Garantire affidabilità e scalabilità Catania, Primo Grid Tutorial, 14.03.2006 5 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, Primo Grid Tutorial, 14.03.2006 6 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, Primo Grid Tutorial, 14.03.2006 7 AMGA – Concetti Base • Per comprendere come lavora AMGA 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 <nome,valore> con tipo – Nome – il nome dell’attributo – Valore – il valore dell’attributo – Tipe – il tipo del valore (int, float, varchar,…) Catania, Primo Grid Tutorial, 14.03.2006 8 AMGA - Sicurezza • Access control – Tutte le entry di una collection/directory condividono la stessa ACL – È possibile filtrare l’accesso ai gruppi di utenti in uno Unix style permissions • Client Authentication – – – – Username/password General X509 certificates Grid-proxy certificates VOMS - Virtual Organization Management System è supportato • Secure connections – SSL – SSL implementato nei webservice VOM S Authenticate with X509 Cert VOMS-Cert with Group & Role information VOMS-Cert Resource management Orac le A AMG Catania, Primo Grid Tutorial, 14.03.2006 9 AMGA - Implementazione • C++ multiprocess server Metadata Server – Backends Oracle, MySQL, PostgreSQL, SQLite Oracle Client SOAP MD Server – Front Ends TCP Streaming Client Postgre SQL MySQL TCP Streaming • High performance • Client API for C++, Java, Python, Perl, Ruby SQLite SOAP (web services) • Interoperability • Scalability • Standalone Python Library implementation – Data stored on file system Python Interpreter Client Metadata Python API filesystem Catania, Primo Grid Tutorial, 14.03.2006 10 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 qualunqu 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, Primo Grid Tutorial, 14.03.2006 11 AMGA - Metadata Replication Patterns Full replication Federation Partial replication Proxy Redirected Commands Metadata Commands Catania, Primo Grid Tutorial, 14.03.2006 12 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 GUID Images Date Patient • Riferimenti – https://uimon.cern.ch/twiki/bin/view/EGEE/DMEncryptedStorage – http://project-arda-dev.web.cern.ch/project-ardadev/metadata ID Patient Doctor Name Doctor Hospital Catania, Primo Grid Tutorial, 14.03.2006 13 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, Primo Grid Tutorial, 14.03.2006 14 Questions… Catania, Primo Grid Tutorial, 14.03.2006 15