LEZIONE N. 10LEZIONEpeople.na.infn.it/~merola/CORSO_GRID_2008-09/Lezione_10... · 2009-05-07 ·...

Post on 11-Jun-2020

2 views 0 download

Transcript of LEZIONE N. 10LEZIONEpeople.na.infn.it/~merola/CORSO_GRID_2008-09/Lezione_10... · 2009-05-07 ·...

1Introduzione alle griglie computazionali aa 2006-07Griglie Computazionali - aa 2008-09

LEZIONELEZIONE N. 10

• Gestione dei dati in GRID• Storage Element • Storage Resource Management• I protocolli di accesso ai dati• Il trasferimento dati: GridFTP• LCG File Catalogue

GriglieGriglie computazionali computazionali

Università degli Studi di Napoli Federico IICorso di Laurea Magistrale in Informatica – I Anno

2Introduzione alle griglie computazionali aa 2006-07Griglie Computazionali - aa 2008-09

Il problema della gestione dei dati• Supponete di eseguire una applicazione su una

macchina locale. E’ necessario:– allocare lo spazio per i file di input

– trasferire i file di input

– assicurasi della correttezza del trasferimento e recuperare eventuali errori

– allocare lo spazio per l’output

– rimuovere gli input per far spazio a nuove esecuzioni

• Supponete ora che lo storage sia condiviso:– fare i passi precendenti per tutti gli utenti e tutte le appicazioni

– stabilire quote per i diversi utenti

3Introduzione alle griglie computazionali aa 2006-07Griglie Computazionali - aa 2008-09

Gestione dei dati in GRIDIl sistema di gestione delle risorse di storage nella griddeve inoltre occuparsi di

• Eterogeneità:

– I dati sono registrati in diversi sistemi di storage, che usano differenti tecnologie d’accesso

• Distribuzione geografica:

– I dati sono registrati il locazoni diverse, in molti casi non esiste un file system condiviso né un namespace comune

– I Dati devo essere trasferiti in modo efficiente tra le diverse locazioni

• Descrizione:

– I dati sono immagazzinati come files; occorre un modo per identificare i file e localizzarli in base al loro contenuto

4Introduzione alle griglie computazionali aa 2006-07Griglie Computazionali - aa 2008-09

GRID Data Management System• In GRID si aggiungono anche altre funzionalità di

base:– localizzazione dei dati– accesso ai dati remoti– copia dei dati– catalogazione e replica dei dati– gestione dei meta-dati

• I dati sono gestiti sotto forma di files.• I metadati sono “dati che descrivono i dati” e possono

tra l’altro essere utilizzati per correlare files in insiemi, contenenti dati dello stesso tipo.

5Introduzione alle griglie computazionali aa 2006-07Griglie Computazionali - aa 2008-09

Risorse di storage• Tutti i dati, sia locali che in GRID, sono memorizzati in una

risorsa storage (che può variare da un singolo disco ad una libreria di nastri)

• Risorse differenti offrono differenti livelli di Quality of Service (QoS).

• Ogni hardware è controllato da un particolare software.

• Risorse differenti hanno differenti modi di accesso.

Definizione:

Una risorsa di storage è una combinazione di un hardware e di un software che lo controlla (file system)

StorageHardware

Risorsa di storage

6Introduzione alle griglie computazionali aa 2006-07Griglie Computazionali - aa 2008-09

Il servizio di Storage• Lo Storage Element è il servizio che consente ad utenti

o applicazioni GRID di utilizzare le risorse di storage, ossia di memorizzare i dati e ritrovarli per usi futuri

• Lo Storage Element fornisce tre tipi di interfacce:– Accesso ai dati (I/O)

– Trasferimento dati (GridFTP)

– Storage Management (SRM)

StorageHardware

Risorsa di storage

I/O Interface

Transfer Interface

Management Interface

7Introduzione alle griglie computazionali aa 2006-07Griglie Computazionali - aa 2008-09

Storage Resource Manager (SRM)• Chiamiamo SRM l’interfaccia che si occupa

dell’interazione tra la Grid e le risorse di storage.

• La definizione di uno standard SRM permette l’interoperabilità tra le molteplici implementazioni

• Il servizio SRM non effettua del trasferimento dei file tra SE, ma può invocare i componenti del middlewareche se ne occupano (come GridFTP).

Definizione:

I servizi SRM sono componenti del middleware di Grid la cui funzione è la gestione delle risorse di storage, mediante l’allocazione dinamica dello spazio di storage.

8Introduzione alle griglie computazionali aa 2006-07Griglie Computazionali - aa 2008-09

Storage Resource Manager (SRM)• I dati gestiti da un servizio SRM possono essere

registrati in disk pool servers e/o Mass StorageSystems (nastri+dischi)

• La caratteristica di un SRM è di fornire un file system virtuale che nasconde la complessità del pool di risorse gestite dall’interfaccia.

• I file possono essere spostati in modo trasparente tra diverse risorse di storage gestite dallo stesso SRM.

• Le risorse sono sono espandibili dinamicamente.

9Introduzione alle griglie computazionali aa 2006-07Griglie Computazionali - aa 2008-09

SRM v2.2

• I file non sono più entità permanenti sullo storage: mediante la definizione di una lifetime specificata possono avere durata limitata.

• L’utente può effettuare il pinning di un file, impedendone la cancellazione finchè ne ha bisogno.

• L’autorizzazione di accesso ai pool e ai singoli file ègestita mediante le credenziali VOMS.

• E’ implementata una space reservation che consente di preallocare lo spazio di storage alle VirtualOrganization.

10Introduzione alle griglie computazionali aa 2006-07Griglie Computazionali - aa 2008-09

• In gLite si utilizzano diverse implementazioni di SRM• Per ogni tipo di SRM possono esserci diversi

protocolli di accesso (posix-like) ai file.

Implementazioni di SRM

11Introduzione alle griglie computazionali aa 2006-07Griglie Computazionali - aa 2008-09

Implementazioni di SRM• I tipi di SRM presenti in gLite sono:

– DPM (Disk Pool Manager): consiste di un server che fornisce un singlo punto di accesso verso un pool di server di disco.

– Castor e dCache: mediante un disk buffer, un server fa da frontend ad un sistema complesso di mass storage (liberie di nastri e/o server di dischi).

– StoRM: sfrutta le caratteristiche dei file system paralleli per l’accesso alle aree disco.

12Introduzione alle griglie computazionali aa 2006-07Griglie Computazionali - aa 2008-09

CASTOR (CERN)

13Introduzione alle griglie computazionali aa 2006-07Griglie Computazionali - aa 2008-09

dCache (Fermilab and DESY)

14Introduzione alle griglie computazionali aa 2006-07Griglie Computazionali - aa 2008-09

Disk Pool Manager - DPM

15Introduzione alle griglie computazionali aa 2006-07Griglie Computazionali - aa 2008-09

StorageResourceManager-StoRM (INFN)

16Introduzione alle griglie computazionali aa 2006-07Griglie Computazionali - aa 2008-09

Data Files• Un file rappresenta la granularità più fine dei dati (il

Data Management System non tratta oggetti, vettori, tabelle …)

• I files su uno Storage Element sono read-only: non possono essere modificati, ma solo cancellati o sovrascritti.

• Possono esistere numerose repliche dello stesso file, in locazioni diverse

• Devono essere accessibili da ogni punto della Grid.

• Si possono trasferire file tra file system locali (ad es. la propria UI) e la Grid (cioè un SE)

17Introduzione alle griglie computazionali aa 2006-07Griglie Computazionali - aa 2008-09

IdentificazioneIdentificazione didi un GRIDun GRID --file (1)file (1)

– Un file nella GRID è logicamente identificato, in maniera univoca, dal suo GUID (GRID Unique Identifier)• l’unicità è garantita da un algoritmo• non è user friendly

guid: f81d4fae-7dec-11d0-a765-00a0c91e6bf6

– Il LFN (Logical File Name) definisce un alias del GUID, creato da un utente per meglio identificare il file

lfn :/grid/cms/20030203/run2/track1I nomi logici sono organizzati in una struttura gerarchica di

directory

18Introduzione alle griglie computazionali aa 2006-07Griglie Computazionali - aa 2008-09

IdentificazioneIdentificazione didi un GRIDun GRID --file (2)file (2)

– Il SURL (Storage URL o Site URL) individua le copie fisiche dei file

• include l’indirizzo dello Storage Element ed il path del file

• per un SRM il path è quello del file system virtuale

srm ://srm.cern.ch/castor/cern.ch/cms/output10_1

- Il TURL (Transport URL) contiene anche il protocollodi accesso al file:

gsiftp ://pcrd24.cern.ch/flatfiles/cms/output10_1

19Introduzione alle griglie computazionali aa 2006-07Griglie Computazionali - aa 2008-09

GRIDGRID --filefile

Logical File Name 1

Logical File Name 2

Logical File Name n

GUID

Physical File SURL n

Physical File SURL 1

Chiamiamo aliasogni nome del file

Chiamiamo replicaogni istanza fisica del file

Ogni file nella grid può avere più alias e più repliche, ma un solo GUID .

I file possono essere replicati per vari motivi:•Metterli vicino ai CE per questioni di efficienza•Resistere a eventuali guasti di un SE

20Introduzione alle griglie computazionali aa 2006-07Griglie Computazionali - aa 2008-09

• LFN e GUID identificano un file indipendentemente d alla sua locazione

• SURL e TURL contengono informazioni sulla locazione fisica del file e su come vi si può accedere.

•Il mapping tra SURL e TURL viene fatto dal servizio SRM

21Introduzione alle griglie computazionali aa 2006-07Griglie Computazionali - aa 2008-09

Accesso allo Storage in un sito GRID

22Introduzione alle griglie computazionali aa 2006-07Griglie Computazionali - aa 2008-09

Interazione con SRM

23Introduzione alle griglie computazionali aa 2006-07Griglie Computazionali - aa 2008-09

Protocolli di accesso ai dati

• Il protocollo di base per il trasferimento dei GRID file èGSIFTP:– è una estensione di FTP (standard File Transfer Protocol),

– include autenticazione e encryption dei servizi di sicurezzaGSI.

– Trasferisce in parallelo multiple stream di dati

• Il protocollo RFIO (Remote File Input/Output) si usaper l’accesso diretto ai dati remoti su un SE. – Consente di “leggere” i dati su un SE senza trasferirli.

– Ne esiste una verisone sicura che usa GSI.

24Introduzione alle griglie computazionali aa 2006-07Griglie Computazionali - aa 2008-09

Il modello FTP per il trasferimento dati

25Introduzione alle griglie computazionali aa 2006-07Griglie Computazionali - aa 2008-09

FTP• Control functions

(commands) and replycodes are transferred over the control connection.

• All data transfer takesplace over the data connection.

• The control connection must be “up” while data transfer takes place.

• The control connection uses the TELNET protocol.• Commands and replies are all line oriented text

(default is ASCII).

26Introduzione alle griglie computazionali aa 2006-07Griglie Computazionali - aa 2008-09

FTP client commands

27Introduzione alle griglie computazionali aa 2006-07Griglie Computazionali - aa 2008-09

Requirements su trasferimento dati• Velocità: si vuole utilizzare al massimo la

velocità consentita dalle connessioni fisiche, minimizzando l’overhead dovuto a servizi e protocolli

• Sicurezza: I files devono essere trasferiti solo tra entità autenticate

• Robustezza: i servizi devono essere stabili e va implementatla una fault tolerance.

28Introduzione alle griglie computazionali aa 2006-07Griglie Computazionali - aa 2008-09

GridFTP• GridFTP - File Transfer Protocol in Grid

Computing Networks.– high-performance

– secure

– reliable data transfer protocol

– optimized for high-bandwidth wide-area

• based upon the Internet FTP protocol

• it implements extensions for high-performanceoperation

29Introduzione alle griglie computazionali aa 2006-07Griglie Computazionali - aa 2008-09

GridFTP• Security

– Authentication of users or services

– The Globus GridFTP server and client use the Grid Security

– Infrastructure (GSI) protocol.

• Parallel Stream– GridFTP supports multiple TCP streams in parallel between a

single source and destination.

– This feature can improve aggregate bandwidth in relation tothat done by a single stream

• Automatic negotiation of TCP buffer/window sizes(Tunability for network and I/O parameters)

30Introduzione alle griglie computazionali aa 2006-07Griglie Computazionali - aa 2008-09

GridFTP• Stripping - having several network endpoints - at the

source, destination, or both - participating in the transfer of the same file.

• Done by having a cluster with a parallel shared le system.

• Each node in the cluster reads a section of the le and sends it over the network.

• Stripping and parallelism may be used together whereone may have more than one TCP streams open between each of the servers participating in the transfer.

31Introduzione alle griglie computazionali aa 2006-07Griglie Computazionali - aa 2008-09

GridFTP• Partial File Transfer

– Partial file access: Regions of a file may beaccessed by specifying an offset into the file and the length of the block desired

– GridFTP supports this capability by specifying the byte position in the file to begin the transfer.

• Support for reliable and restartable datatransfer

• Integrated instrumentation, for monitoringongoing transfer performance

32Introduzione alle griglie computazionali aa 2006-07Griglie Computazionali - aa 2008-09

Using GridFTP: globus-url-copycommand line • globus-url-copy is the command to transfer a file between

sites using GridFTP.

• It is not an interactive command.

• Does not interact with SRM.

• The usage is:

– globus-url-copy <source> <destination>

• where <source> or <destination> are of the format:

• if local file, file:<full path>

• if remote file, gsiftp://<hostname>/<full path>

33Introduzione alle griglie computazionali aa 2006-07Griglie Computazionali - aa 2008-09

globus-url-copy syntaxServer to local:$ globus-url-copy gsiftp://<source> file:/<dest>

Local to server:$ globus-url-copy file:/<source> gsiftp://<dest>

Remote server A to remote server B:$ globus-url-copy gsiftp://<source> gsiftp://<dest>

34Introduzione alle griglie computazionali aa 2006-07Griglie Computazionali - aa 2008-09

GridFTP Preformace• By default, globus-url-copy uses 1 stream• Monitor performance using -vb flag$ globus-url-copy -vb

gsiftp://se01.ligo.caltech.edu:15000/usr1/grid/smallfile file:/tmp/smallfile

9437184 bytes 658.09 KB/sec avg 512.95 KB/sec inst

• Multiple channels dramatically boosts transfer rate$ globus-url-copy -vb -p 4

gsiftp://se01.ligo.caltech.edu:15000/usr1/grid/largefile file:/tmp/largefile

523960320 bytes 5814.25 KB/sec avg 5568.27 KB/sec inst

35Introduzione alle griglie computazionali aa 2006-07Griglie Computazionali - aa 2008-09

Protocolli di accesso ai dati: RFIO• RFIO è il protocollo di accesso dati (non copia) fornito da

alcuni SRM

• RFIO implementa una versione remota delle funzioni di I/o standard Posix, come:

– open, read, write, lseek and close

• Utilizza un protocollo molto “leggero”.

36Introduzione alle griglie computazionali aa 2006-07Griglie Computazionali - aa 2008-09

Protocolli di accesso ai dati: RFIO• Esiste una versione sicura ed una insicura di RFIO:

– La versione insicura puo’ essere usato solo per accedere ai dati in una LAN, tipicamente dai WN allo SE. Il controllo dell’accesso ai dai è fatto sulla user ID e non sulle credenziali VOMS. Questa versione èimplemantata in CASTOR

– RFIO in versione sicura (gsirfio) puo’ essere usato per l’accesso remoto ai file anche da una UI o da WN fuori dal sito. Autorizzazione e Autenticazione basate su GSI. Implemenatto in DPM e StoRM.

37Introduzione alle griglie computazionali aa 2006-07Griglie Computazionali - aa 2008-09

LFC LFC –– LCG File CatalogueLCG File CatalogueLCG = LHC Computing Grid LHC = Large Hadron Collider

Logical File Name 1

Logical File Name 2

Logical File Name n

GUID

Physical File SURL n

Physical File SURL 1

LFC

– Il mapping traLFN, GUID e SURLè fornito da un unicocatalogo,– Un file si può considerare un GRID File solo se è

fisicamente presente su un SE ed è registrato in un LFC– L’ LFC pubblica i propri riferimenti all’Information

Service, in modo da essere identificato dagli altri servizi.

38Introduzione alle griglie computazionali aa 2006-07Griglie Computazionali - aa 2008-09

Architettura dellArchitettura dell ’’ LFCLFC

39Introduzione alle griglie computazionali aa 2006-07Griglie Computazionali - aa 2008-09

I I MetadatiMetadati nellnell’’ LFCLFC

– I system metadatacontengono la dimensione del file, che resta sempre invariata e unachecksumper ognireplica, che viene calcolata ad ogni copia del file per verificarne l’integrità.

– I metadata di utentedescrivono i dati contenuti nel file. Possono tra l’altro essere utilizzati per correlare files in insiemi, contenenti dati dello stesso tipo.

40Introduzione alle griglie computazionali aa 2006-07Griglie Computazionali - aa 2008-09

LFC LFC

– La chiave principale di accesso all’LFC è il nome logico– Lo spazio dei nomi è organizzato ad albero di directory.

/grid/<VO>/<path>– I permessi sono molto simili alle ACL di un filesystem

Unix– Gli utenti di una VO hanno i permessi di lettura e scrittura

solo nella sottodirectory corrispondente

Defined by the userLFC Namespace

LFC ha una struttura ad albero/grid/<VO_name>/ <you create it>

41Introduzione alle griglie computazionali aa 2006-07Griglie Computazionali - aa 2008-09

ComandiComandi LFC LFC

– Esiste un ampio set dicomandi per interagire con ilcatalogo, che non toccano i file sugli SE:

Set file/directory access control listslfc-setacl

Remove a file/directorylfc-rm

Rename a file/directorylfc-rename

Create a directorylfc-mkdir

List file/directory entries in a directorylfc-ls

Make a symbolic link to a file/directorylfc-ln

Get file/directory access control listslfc-getacl

Change owner and group of the LFC file-directorylfc-chown

Change access mode of the LFC file/directorylfc-chmod

42Introduzione alle griglie computazionali aa 2006-07Griglie Computazionali - aa 2008-09

ComandiComandi didi Replica ManagementReplica Management

– Il Replica Management consiste in un set di comandi che l'utente può utilizzare per interagire con il servizio di Storage, quindi con i file presenti sugli SE. • Comandi di gestione del catalogo– lcg-aa: aggiungi un alias per un dato file– lcg-rf: registra nel catalogo un file esistente su un SE– lcg-lr: dato LFN, GUID o SURL, elenca tutte le repliche

• Comandi di gestione dei file– lcg-cp: copia un GRID file su una UI

– lcg-cr: copia un file locale su un SE e lo registra nel catalogo

– lcg-del: cancella una replica

– lcg-rep: copia un file da un SE ad un altro e registrala replica

43Introduzione alle griglie computazionali aa 2006-07Griglie Computazionali - aa 2008-09

Interazione tra Replica Manager e SRMInterazione tra Replica Manager e SRM

Replica Managementclient SRM

File Catalogue

Storage6

2

3

4

1

1. Il Client RM chiede al LFC di indicare la posizione di un dato file (a partire da GUID o LFN)

2. L’LFC risponde indicando un SRM (PFN)3. Il Client RM chiede il file allo SRM4. Lo SRM chiede allo Storage System di rendere disponibile il file al Client RM…5. … o attraverso lo SRM stesso 6. … o direttamente

5

5

44Introduzione alle griglie computazionali aa 2006-07Griglie Computazionali - aa 2008-09

Esempio d’uso dei comandi di replica

[doria@atlasui01 ~]$ voms-proxy-init --voms atlasEnter GRID pass phrase:Your identity: /C=IT/O=INFN/OU=PersonalCertificate/L=Napoli/CN=Alessandra DoriaCreating temporary proxy.............................................. DoneContacting voms.cern.ch:15001 [/DC=ch/DC=cern/OU=computers/CN=voms.cern.ch] "atlas" DoneCreating proxy ................................................. DoneYour proxy is valid until Wed May 14 12:46:32 2008

[doria@atlasui01 ~]$ export LFC_HOST=lfc.cr.cnaf.infn.it[doria@atlasui01 ~]$ lcg-cr --vo atlas -d srm://t2-dpm-01.na.infn.it/dpm/na.infn.it/home/atlas/users/alessandradoria/test100 -l /grid/atlas/users/alessandradoria/test100 file:///home/doria/testguid:b7f199a0-8a75-4e70-bacc-08c8cf1af981[doria@atlasui01 ~]$ lfc-ls -l /grid/atlas/users/alessandradoria-rw-rw-r-- 1 19014 1307 42 Feb 07 2007 ale12-rw-rw-r-- 1 19014 1307 42 Feb 12 2007 ale13-rw-rw-r-- 1 19773 1307 153808339 May 14 01:04 test100

45Introduzione alle griglie computazionali aa 2006-07Griglie Computazionali - aa 2008-09

Input e Output su SE nel JDL

• Vediamo gli attributi del Job Descrition Language gli chespecificano Input e Output (da/a) un SE

InputData

Executable=Executable=Executable=Executable= ““““/home//home//home//home/doriadoriadoriadoria////mytestmytestmytestmytest””””;;;;

46Introduzione alle griglie computazionali aa 2006-07Griglie Computazionali - aa 2008-09

Input e Output su SE nel JDL

OutputData

47Introduzione alle griglie computazionali aa 2006-07Griglie Computazionali - aa 2008-09

References• Data Management e Storage Element:

gLite User Guide – cap. 7 – Data Management

https://edms.cern.ch/file/722398/1.2/gLite-3-UserGuide.html

• GRIDFTP

http://globus.org/toolkit/data/gridftp/• F. Donno et al., "Storage Element Model for SRM 2.2 and

GLUE schema description, v3.5“:http://glueschema.forge.cnaf.infn.it/uploads/Spec/V13/SE-Model-3.5.pdf