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