FESR Trinacria Grid Virtual Laboratory University of Coimbra AMGA - Official Metadata Service for...

Post on 03-May-2015

218 views 0 download

Transcript of FESR Trinacria Grid Virtual Laboratory University of Coimbra AMGA - Official Metadata Service for...

FESR

www.trigrid.it

Trinacria Grid Virtual Laboratory

University of CoimbraUniversity of Coimbra

AMGA - Official Metadata Service for EGEE

Salvatore Scifo

INFN Catania

Primo Grid Tutorial

Catania, 14-15 Marzo 2006

Catania, Primo Grid Tutorial, 14.03.2006 2

Contenuti

• Background e Motivazioni

• Concetti di base sui metadati

• Requisiti e Architettura

• Replicazione dei Metadati

Catania, Primo Grid Tutorial, 14.03.2006 3

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 4

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 5

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 6

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 7

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 8

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 9

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 Authenticate

with X509 Cert VOMS-Cert

with Group & Role information

VOMS-Cert

Resource management

AMGAOracle

VOMS

Catania, Primo Grid Tutorial, 14.03.2006 10

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

Metadata Server

MDServer

SOAP

TCP Streaming

PostgreSQL

Oracle

SQLite

Client

Client

MySQL

Python Interpreter

Metadata Python

APIClient

filesystem

Catania, Primo Grid Tutorial, 14.03.2006 11

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 12

AMGA - Metadata Replication Patterns

MetadataCommands

RedirectedCommands

Full replication Partial replication

Federation Proxy

Catania, Primo Grid Tutorial, 14.03.2006 13

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– https://uimon.cern.ch/twiki/bin/view/EGEE/DMEncryptedStorage– http://project-arda-dev.web.cern.ch/project-arda-dev/

metadata

ImagesGUID Date

PatientID Doctor

DoctorName Hospital

Patient

Catania, Primo Grid Tutorial, 14.03.2006 14

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 15

Questions…