Presentation is loading. Please wait.

Presentation is loading. Please wait.

Www.eu-eela.org E-infrastructure shared between Europe and Latin America FP6−2004−Infrastructures−6-SSA-026409 Architecture of the gLite Data Management.

Similar presentations


Presentation on theme: "Www.eu-eela.org E-infrastructure shared between Europe and Latin America FP6−2004−Infrastructures−6-SSA-026409 Architecture of the gLite Data Management."— Presentation transcript:

1 www.eu-eela.org E-infrastructure shared between Europe and Latin America FP6−2004−Infrastructures−6-SSA-026409 Architecture of the gLite Data Management System Valeria Ardizzone INFN - Catania 12th EELA Tutorial Lima, 25.09.2007

2 E-infrastructure shared between Europe and Latin America FP6−2004−Infrastructures−6-SSA-026409 2 Outline Grid Data Management Challenge Storage Elements and SRM File Catalogs and DM tools

3 E-infrastructure shared between Europe and Latin America FP6−2004−Infrastructures−6-SSA-026409 3 The Grid DM Challenge Heterogeneity –Data are stored on different storage systems using different access technologies Distribution –Data are stored in different locations – in most cases there is no shared file system or common namespace –Data need to be moved between different locations –Need common interface to storage resources  Storage Resource Manager (SRM) –Need to keep track where data is stored  File and Replica Catalogs –Need scheduled, reliable file transfer  File transfer service

4 E-infrastructure shared between Europe and Latin America FP6−2004−Infrastructures−6-SSA-026409 4 Introduction Assumptions: –Users and programs produce and require data –the lowest granularity of the data is on the file level (we deal with files rather than data objects or tables)  Data = files Files: –Mostly, write once, read many –Located in Storage Elements (SEs) –Several replicas of one file in different sites –Accessible by Grid users and applications from “anywhere” –Locatable by the WMS (data requirements in JDL) Also… –WMS can send (small amounts of) data to/from jobs: Input and Output Sandbox –Files may be copied from/to local filesystems (WNs, UIs) to the Grid (SEs)

5 E-infrastructure shared between Europe and Latin America FP6−2004−Infrastructures−6-SSA-026409 5 Data services in gLite File Access Patterns: –Write once, read-many –Rare append-only updates with one owner –Frequently updated at one source - replicas check/pull new version –(NOT frequent updates, many users, many sites) File naming –Mostly, see the “logical file name” (LFN) –LFN must be unique:  includes logical directory name  in a VO namespace –E.g. /gLite/myVOname.org/runs/12aug05/data1.res 3 service types for data –Storage –Catalogs –Movement

6 E-infrastructure shared between Europe and Latin America FP6−2004−Infrastructures−6-SSA-026409 6 gLite Grid Storage Requirements The Storage Element is the service that allows a user or an application to store data for future retrieval Manages local storage (disks) and interfaces to Mass Storage Systems (tapes) like –HPSS, CASTOR, DiskeXtender (UNITREE), … Requirements: –Be able to manage different storage systems uniformly and transparently for the user (providing an SRM interface) –Support basic file transfer protocols  GridFTP mandatory  Others if available (https, ftp, etc) –Support a native I/O (remote file) access protocol  POSIX-like I/O client library for direct access of data (GFAL)

7 E-infrastructure shared between Europe and Latin America FP6−2004−Infrastructures−6-SSA-026409 7 SRM in an example She is running a job which needs: Data for physics event reconstruction Simulated Data Some data analysis files She will write files remotely too They are at CERN in dCache They are at Fermilab in a disk array They are at Nikhef in a classic SE

8 E-infrastructure shared between Europe and Latin America FP6−2004−Infrastructures−6-SSA-026409 8 SRM in an example dCache Own system, own protocols and parameters Castor No connection with dCache or DPM gLite DPM Independent system from dCache or Castor You as a user need to know all the systems!!! SRM I talk to them on your behalf I will even allocate space for your files And I will use transfer protocols to send your files there

9 E-infrastructure shared between Europe and Latin America FP6−2004−Infrastructures−6-SSA-026409 9 Storage Resource Management Data is stored on disk pool servers or Mass Storage Systems Storage resource management needs to take into account –Transparent access to files (migration to/from disk pool) –File pinning –Space reservation –File status notification –Life time management The SRM (Storage Resource Manager) takes care of all these details – The SRM is a single interface that takes care of local storage interaction and provides a Grid interface to the outside world In gLite, interactions with the SRM are hidden by higher level services (DM tools and APIs)

10 E-infrastructure shared between Europe and Latin America FP6−2004−Infrastructures−6-SSA-026409 10 gLite SE types gLite 3.0 data access protocols: –File Transfer:GSIFTP (GridFTP) –File I/O (Remote File access):  gsidcap (dCap used in dCache extended with GSI)  insecure RFIO (remote I/O API and lib used in Castor)  secure RFIO (gsirfio) Classic SE: –GridFTP server –Insecure RFIO daemon (rfiod) – only LAN limited file access –Single disk or disk array –No quota management –Does not support the SRM interface

11 E-infrastructure shared between Europe and Latin America FP6−2004−Infrastructures−6-SSA-026409 11 gLite SE types (II) Mass Storage Systems (Castor) –Files migrated between front-end disk and back-end tape storage hierarchies –GridFTP server –Insecure RFIO (Castor) –Provides an SRM interface with all benefits Disk pool managers (dCache and gLite DPM) –manage distributed storage servers in a centralized way –Physical disks or arrays are combined into a common (virtual) file system –Disks can be dynamically added to the pool –GridFTP server –Secure remote access protocols (gsidcap for dCache, gsirfio for DPM) –SRM interface

12 E-infrastructure shared between Europe and Latin America FP6−2004−Infrastructures−6-SSA-026409 12 GridFTP Data transfer and access protocol for secure and efficient data movement Standardized in the Global Grid Forum extends the standard FTP protocol –Public-key-based Grid Security Infrastructure (GSI) or Kerberos support (both accessible via GSS-API) - Third-party control of data transfer - Parallel data transfer - Striped data transfer - Partial file transfer - Automatic negotiation of TCP buffer/window sizes - Support for reliable and restartable data transfer - monitoring of ongoing transfers

13 E-infrastructure shared between Europe and Latin America FP6−2004−Infrastructures−6-SSA-026409 13 gLite Storage Element

14 E-infrastructure shared between Europe and Latin America FP6−2004−Infrastructures−6-SSA-026409 14 File Naming conventions Logical File Name (LFN) –An alias created by a user to refer to some item of data, e.g. “lfn:/grid/gilda/20030203/run2/track1” Globally Unique Identifier (GUID) –A non-human-readable unique identifier for an item of data, e.g. “guid:f81d4fae-7dec-11d0-a765-00a0c91e6bf6” Site URL (SURL) (or Physical File Name (PFN) or Site FN) –The location of an actual piece of data on a storage system, e.g. “srm://grid009.ct.infn.it/dpm/ct.infn.it/gilda/output10_1” (SRM) “sfn://lxshare0209.cern.ch/data/alice/ntuples.dat” (Classic SE) Transport URL (TURL) –Temporary locator of a replica + access protocol: understood by an SE, e.g. “rfio://lxshare0209.cern.ch//data/alice/ntuples.dat”

15 E-infrastructure shared between Europe and Latin America FP6−2004−Infrastructures−6-SSA-026409 15 File names and identifiers in gLite Globally unique identifier Site URL Transport URL: includes protocol user needs to see only these

16 E-infrastructure shared between Europe and Latin America FP6−2004−Infrastructures−6-SSA-026409 16 Client SRM Storage 5 1 2 1.The client asks the SRM for the file providing an SURL (Site URL) 2.The SRM asks the storage system to provide the file 3.The storage system notifies the availability of the file and its location 4.The SRM returns a TURL (Transfer URL), i.e. the location from where the file can be accessed 5.The client interacts with the storage using the protocol specified in the TURL 3 4 SRM Interactions

17 E-infrastructure shared between Europe and Latin America FP6−2004−Infrastructures−6-SSA-026409 17 What is a file catalog gLite UI File Catalog SE

18 E-infrastructure shared between Europe and Latin America FP6−2004−Infrastructures−6-SSA-026409 18 The LFC (LCG File Catalog) It keeps track of the location of copies (replicas) of Grid files LFN acts as main key in the database. It has: –Symbolic links to it (additional LFNs) –Unique Identifier (GUID) –System metadata –Information on replicas –One field of user metadata

19 E-infrastructure shared between Europe and Latin America FP6−2004−Infrastructures−6-SSA-026409 19 LFC Features –allows large queries –Timeouts and retries from the client –User exposed transactional API (+ auto rollback on failure) –Hierarchical namespace and namespace operations (for LFNs) –Integrated GSI Authentication + Authorization –Access Control Lists (Unix Permissions and POSIX ACLs) –Checksums –Integration with VOMS (VirtualID and VirtualGID)

20 E-infrastructure shared between Europe and Latin America FP6−2004−Infrastructures−6-SSA-026409 20 LFC commands lfc-chmodChange access mode of the LFC file/directory lfc-chownChange owner and group of the LFC file-directory lfc-delcommentDelete the comment associated with the file/directory lfc-getaclGet file/directory access control lists lfc-lnMake a symbolic link to a file/directory lfc-lsList file/directory entries in a directory lfc-mkdirCreate a directory lfc-renameRename a file/directory lfc-rmRemove a file/directory lfc-setaclSet file/directory access control lists lfc-setcommentAdd/replace a comment Summary of the LFC Catalog commands

21 E-infrastructure shared between Europe and Latin America FP6−2004−Infrastructures−6-SSA-026409 21 -l : long listing -R : list the contents of directories recursively: Don’t use it! Listing the entries of an LFC directory –lfc-ls [-cdiLlRTu] [--class] [--comment] [--deleted] [--display_side] [--ds] path… –where path specifies the LFN pathname (mandatory) –Remember that LFC has a directory tree structure –/grid/ / –All members of a VO have read-write permissions under their directory –You can set LFC_HOME to use relative paths > lfc-ls /grid/gilda/tony > export LFC_HOME=/grid/gilda > lfc-ls -l tony > lfc-ls -l -R /grid lfc-ls Defined by the userLFC Namespace

22 E-infrastructure shared between Europe and Latin America FP6−2004−Infrastructures−6-SSA-026409 22 lfc-mkdir Creating directories in the LFC –lfc-mkdir [-m mode] [-p] path... Where path specifies the LFC pathname Remember that while registering a new file (using lcg-cr, for example) the corresponding destination directory must be created in the catalog beforehand. Examples: –> lfc-mkdir /grid/gilda/tony/demo –You can just check the directory with: –> lfc-ls -l /grid/gilda/tony  drwxr-xrwx 0 19122 1077 0 Jun 14 11:36 demo

23 E-infrastructure shared between Europe and Latin America FP6−2004−Infrastructures−6-SSA-026409 23 lfc-ln Creating a symbolic link –lfc-ln -s file linkname –lfc-ln -s directory linkname –Create a link to the specified file or directory with linkname –Examples: –> lfc-ln -s /grid/gilda/tony/demo/test /grid/gilda/tony/aLink –Let’s check the link using lfc-ls with long listing (-l): –> lfc-ls -l –lrwxrwxrwx 1 19122 1077 0 Jun 14 11:58 aLink -> /grid/gilda/tony/demo/test –drwxr-xrwx 1 19122 1077 0 Jun 14 11:39 demo Original File Symbolic link

24 E-infrastructure shared between Europe and Latin America FP6−2004−Infrastructures−6-SSA-026409 24 LFC C API lfc_deleteclass lfc_delreplica lfc_endtrans lfc_enterclass lfc_errmsg lfc_getacl lfc_getcomment lfc_getcwd lfc_getpath lfc_lchown lfc_listclass lfc_listlinks lfc_listreplica lfc_lstat lfc_mkdir lfc_modifyclass lfc_opendir lfc_queryclass lfc_readdir lfc_readlink lfc_rename lfc_rewind lfc_rmdir lfc_selectsrvr lfc_setacl lfc_setatime lfc_setcomment lfc_seterrbuf lfc_setfsize lfc_starttrans lfc_stat lfc_symlink lfc_umask lfc_undelete lfc_unlink lfc_utime send2lfc lfc_access lfc_aborttrans lfc_addreplica lfc_apiinit lfc_chclass lfc_chdir lfc_chmod lfc_chown lfc_closedir lfc_creat lfc_delcomment lfc_delete Low level methods (many POSIX-like):

25 E-infrastructure shared between Europe and Latin America FP6−2004−Infrastructures−6-SSA-026409 25 GFAL: Grid File Access Library Interactions with SE require some components: → File catalog services to locate replicas → SRM → File access mechanism to access files from the SE on the WN GFAL performs all of these tasks: → Hides all these operations → Presents a POSIX interface for the I/O operations → Single shared library in threaded and unthreaded versions libgfal.so, libgfal_pthr.so → Single header file gfal_api.h → User can create all commands needed for storage management → It offers as well an interface to SRM Supported protocols: → file (local or nfs-like access) → dcap, gsidcap and kdcap (dCache access) → rfio (castor access) and gsirfio (dpm)

26 E-infrastructure shared between Europe and Latin America FP6−2004−Infrastructures−6-SSA-026409 26 GFAL: File I/O API (I) int gfal_access (const char *path, int amode); int gfal_chmod (const char *path, mode_t mode); int gfal_close (int fd); int gfal_creat (const char *filename, mode_t mode); off_t gfal_lseek (int fd, off_t offset, int whence); int gfal_open (const char * filename, int flags, mode_t mode); ssize_t gfal_read (int fd, void *buf, size_t size); int gfal_rename (const char *old_name, const char *new_name); ssize_t gfal_setfilchg (int fd, const void * buf, size_t size); int gfal_stat (const char *filename, struct stat *statbuf); int gfal_unlink (const char *filename); ssize_t gfal_write (int fd, const void *buf, size_t size);

27 E-infrastructure shared between Europe and Latin America FP6−2004−Infrastructures−6-SSA-026409 27 GFAL: File I/O API (II) int gfal_closedir (DIR *dirp); int gfal_mkdir (const char *dirname, mode_t mode); DIR * gfal_opendir (const char *dirname); struct dirent * gfal_readdir (DIR *dirp); int gfal_rmdir (const char *dirname);

28 E-infrastructure shared between Europe and Latin America FP6−2004−Infrastructures−6-SSA-026409 28 GFAL: Catalog API –int create_alias (const char *guid, const char *lfn, long long size) –int guid_exists (const char *guid) –char *guidforpfn (const char *surl) –char *guidfromlfn (const char *lfn) –char **lfnsforguid (const char *guid) –int register_alias (const char *guid, const char *lfn) –int register_pfn (const char *guid, const char *surl) –int setfilesize (const char *surl, long long size) –char *surlfromguid (const char *guid) –cha **surlsfromguid (const char *guid) –int unregister_alias (const char *guid, const char *lfn) –int unregister_pfn (const char *guid, const char *surl)

29 E-infrastructure shared between Europe and Latin America FP6−2004−Infrastructures−6-SSA-026409 29 GFAL: Storage API –int deletesurl (const char *surl) –int getfilemd (const char *surl, struct stat64 *statbuf) –int set_xfer_done (const char *surl, int reqid, int fileid, char *token, int oflag) –int set_xfer_running (const char *surl, int reqid, int fileid, char *token) –char *turlfromsurl (const char *surl, char **protocols, int oflag, int *reqid, int *fileid, char **token) –int srm_get (int nbfiles, char **surls, int nbprotocols, char **protocols, int *reqid, char **token, struct srm_filestatus **filestatuses) –int srm_getstatus (int nbfiles, char **surls, int reqid, char *token, struct srm_filestatus **filestatuses)

30 E-infrastructure shared between Europe and Latin America FP6−2004−Infrastructures−6-SSA-026409 30 lcg-utils DM tools High level interface (CL tools and APIs) to –Upload/download files to/from the Grid (UI, CE and WN SEs) –Replicate data between SEs and locate the best replica available –Interact with the file catalog Definition: A file is considered to be a Grid File if it is both physically present in a SE and registered in the File Catalog lcg-utils ensure the consistency between files in the Storage Elements and entries in the File Catalog

31 E-infrastructure shared between Europe and Latin America FP6−2004−Infrastructures−6-SSA-026409 31 lcg-utils commands Replica Management lcg-cpCopies a grid file to a local destination lcg-crCopies a file to a SE and registers the file in the catalog lcg-delDelete one file lcg-repReplication between SEs and registration of the replica lcg-gtGets the TURL for a given SURL and transfer protocol lcg-sdSets file status to “Done” for a given SURL in a SRM request File Catalog Interaction lcg-aaAdd an alias in LFC for a given GUID lcg-raRemove an alias in LFC for a given GUID lcg-rfRegisters in LFC a file placed in a SE lcg-ufUnregisters in LFC a file placed in a SE lcg-laLists the alias for a given SURL, GUID or LFN lcg-lgGet the GUID for a given LFN or SURL lcg-lrLists the replicas for a given GUID, SURL or LFN

32 E-infrastructure shared between Europe and Latin America FP6−2004−Infrastructures−6-SSA-026409 32 LFC Interfaces LFC client commands –Provide administrative functionality –Unix-like –LFNs seen as a Unix filesystem (/grid/ / … ) LFC C API –Alternative way to administer the catalog –Python wrapper provided Integration with GFAL and lcg_util APIs complete –  lcg-utils access the catalog in a transparent way Integration with the WMS completed –The RB can locate Grid files: allows for data based match-making –Using the Data Location Interface

33 E-infrastructure shared between Europe and Latin America FP6−2004−Infrastructures−6-SSA-026409 33 Data movement introduction Grids are naturally distributed systems This means that data also needs to be distributed –First generation data distribution mainly concentrated on copy protocols in a grid environment:  gridftp  http + mod_gridsite But copies controlled by clients have problems…

34 E-infrastructure shared between Europe and Latin America FP6−2004−Infrastructures−6-SSA-026409 34 Data Movement (I) Many Grid applications will distribute a LOT of data across the Grid sites Need efficient and easy way to manage File movement service gLite File Transfer Service FTS –Manage the network and the storage at both ends –Define the concept of a CHANNEL: a link between two SEs –Channels can be managed by the channel administrators, i.e. the people responsible for the network link and storage systems –There are potentially different people for different channels –Optimize channel bandwidth usage – lots of parameters that can be tuned by the administrator –VOs using the channel can apply their own internal policies for queue ordering (i.e. professor’s transfer jobs are more important than student’s) gLite File Placement Service –It IS an FTS with the additional catalog lookup and registration steps, i.e. LFNs and GUIDs can be used to perform replication. Could’ve been called File Replication Service. (replica = managed/catalogued copy)

35 E-infrastructure shared between Europe and Latin America FP6−2004−Infrastructures−6-SSA-026409 35 Data Movement (II) File movement is asynchronous – submit a job –Held in file transfer queue Data scheduler –Single service per VO – can be distributed –VO can apply policies (priorities, preferred sites, recovery modes..) Client interfaces: –Browser –APIs –Web service “File transfer” –Uses SURL “File placement” –Uses LFN or GUID, accesses Catalogues to resolve them

36 E-infrastructure shared between Europe and Latin America FP6−2004−Infrastructures−6-SSA-026409 36 Data movement (III) FPS fetches job transfer requests, contact File Catalogue obtaining source / destination SURLs Task execution is demanded to FTS User can monitor job status through jobID FTS maintains state of job transfers When job is done, FPS updates file entry in the catalogue adding the new replica

37 E-infrastructure shared between Europe and Latin America FP6−2004−Infrastructures−6-SSA-026409 37 Direct Client Controlled Data Movement Although transport protocol may be robust, state is held inside client – inconvenient and fragile. Client only knows about local state, no sense of global knowledge about data transfers between storage elements. –Storage elements overwhelmed with replication requests –Multiple replications of the same data can happen simultaneously –Site has little control over balance of network resources - DOS Client Source Storage Element Destination Storage Element Control Channels Data Flow Channel

38 E-infrastructure shared between Europe and Latin America FP6−2004−Infrastructures−6-SSA-026409 38 Transfer Service Clear need for a service for data transfer –Client connects to service to submit request –Service maintains state about transfer –Client can periodically reconnect to check status or cancel request –Service can have knowledge of global state, not just a single request  Load balancing  Scheduling Transfer Service Source Storage Element Destination Storage Element Control Data Flow Client Submit new request Monitor progress Cancel request SOAP via https

39 E-infrastructure shared between Europe and Latin America FP6−2004−Infrastructures−6-SSA-026409 39 Transfer Service Architecture Transfer Service Client Secure web service connection Database Well defined state transitions/ checkpointing Storage Elements Clients submit jobs via SOAP over https. Jobs are lists of URLs in srm:// format. Some transfer parameters can be specified (streams, buffer sizes). Clients cannot subscribe for status changes, but can poll. C command line clients. C, Java and Perl APIs available. Backend databases supported: MySQL and Oracle. Web service runs in Tomcat5 container, agents runs as normal daemons.

40 E-infrastructure shared between Europe and Latin America FP6−2004−Infrastructures−6-SSA-026409 40 gLite FTS: Channels FTS Service has a concept of channels A channel is a unidirectional connection between two sites Transfer requests between these two sites are assigned to that channel Channels usually correspond to a dedicated network pipe (e.g., OPN) associated with production But channels can also take wildcards: –* to MY_SITE : All incoming –MY SITE to * : All outgoing –* to * : Catch all Channels control certain transfer properties: transfer concurrency, gridftp streams. Channels can be controlled independently: started, stopped, drained.

41 E-infrastructure shared between Europe and Latin America FP6−2004−Infrastructures−6-SSA-026409 41 gLite FTS: Agents VO Agents Any job submitted to FTS is first handled by the VO agent VO agent authorises job and changes its state to “Pending” VO agents can perform other tasks – naturally these can be VO specific: –Scheduling –File catalog interaction Channel Agents Transfers on channel are managed by the channel agent Channel agents can perform inter-VO scheduling

42 E-infrastructure shared between Europe and Latin America FP6−2004−Infrastructures−6-SSA-026409 42 FTS summary Efficient and easy way to manage File movement service gLite File Transfer Service FTS –File movement is asynchronous – submit a job  Held in file transfer queue –Task execution is demanded to FTS –User can monitor job status through jobID –Maintains state of job transfers –Manage the network and the storage at both ends –Define the concept of a CHANNEL: a link between two SEs –Channels can be managed by the channel administrators, i.e. the people responsible for the network link and storage systems –These are potentially different people for different channels –Optimize channel bandwidth usage – lots of parameters that can be tuned by the administrator –VOs using the channel can apply their own internal policies for queue ordering (i.e. professor’s transfer jobs are more important than student’s)

43 E-infrastructure shared between Europe and Latin America FP6−2004−Infrastructures−6-SSA-026409 43 FTS conclusion FTS offer an important and useful service on the grid – a significant advance on client managed file transfers. FTS channel architecture offers very useful features to control transfers between sites or into a single site, though it may become overly complex in a grid without clear data flow patterns. –The ability to control VO shares and transfer parameters on a channel is important for sites. FTS agent architecture allows VOs to connect the transfer service closely with their own data management stacks, a useful feature for HEP experiments. Neither service is completely mature at this stage – bugs were found on it, but this service will continue to mature and develop, especially in its relationship to higher level data management components, and significant steps to integrate with the file catalogs have already been taken.

44 E-infrastructure shared between Europe and Latin America FP6−2004−Infrastructures−6-SSA-026409 44 Storage Element – save date and provide a common interface –Storage Resource Manager (SRM) Castor, dCache, DPM, … –Native Access protocols:rfio, dcap, nfs, … –Transfer protocols:gsiftp, ftp, … Catalogs – keep track where data are stored –File Catalog –Replica Catalog –Metadata Catalog Data Movement – schedules reliable file transfer –File Transfer ServicegLite FTS (manages physical transfers) Data Management Services Summary AMGA Metadata Catalogue LCG File Catalog (LFC)

45 E-infrastructure shared between Europe and Latin America FP6−2004−Infrastructures−6-SSA-026409 45 References gLite documentation homepage –http://glite.web.cern.ch/glite/documentation/default.asphttp://glite.web.cern.ch/glite/documentation/default.asp DM subsystem documentation –http://egee-jra1-dm.web.cern.ch/egee-jra1-dm/doc.htmhttp://egee-jra1-dm.web.cern.ch/egee-jra1-dm/doc.htm LFC and DPM documentation –https://uimon.cern.ch/twiki/bin/view/LCG/DataManagementDocumentati onhttps://uimon.cern.ch/twiki/bin/view/LCG/DataManagementDocumentati on


Download ppt "Www.eu-eela.org E-infrastructure shared between Europe and Latin America FP6−2004−Infrastructures−6-SSA-026409 Architecture of the gLite Data Management."

Similar presentations


Ads by Google