Grid File Access Library 2




NEW WEBSITE, SEE  http://dmc.web.cern.ch/projects/gfal-2/home









GFAL (Grid File Access Library ) is a C library providing an abstraction layer of the grid storage system complexity.


Description

GFAL (Grid File Access Library ) is a C library providing an abstraction layer of the grid storage system complexity.
The version 2.0 of GFAL tries to simplify at the maximum the file operations in a distributed environment.
the complexity of the grid is hidden from the client side behind a simple common POSIX API.

GFAL 2.0 is able to manage all the common used file access protocols in a grid & cloud environment :
-  Dcap & GSIDCAP
- LFN & LFC ( LFC catalog )
-  RFIO  DPM or CASTOR
-  SRM
-  GridFTP
-  HTTP/WebDav
-  XROOTD
- local VFS files

10 good reasons to switch to GFAL 2.0 :
GFAL 2.0 :

  • has a new Error report system: protocol independent error code, human readable string, trace mode and logger system.
  • is faster and thread safe : internal session-reuse, transparent parallel operations for SRM resolution, internal cache for meta-data ( stat() ) .
  • is simpler and portable, with only one API for all the protocols. Your application can switch between SRM, GSIFTP, xrootd, Http, Webdav, GSIDCAP, etc... without any modification.
  • can manage file transfers at high level ( gfal2-transfer API, core of FTS 3.0 ).
  • is extensible with the new plugin system. Adding support for a new protocol or a new catalog without touching the client application is easy.
  • is now designed to be as POSIX as possible.
  • manages the extended attributes system for advanced grid operations ( get guid, set/get replicas, set/get comments, copy of replicas (futur) ).
  • has an integrated cache system.
  • is delivered with gfalFS , a NEW file system which can mount any compatible grid URL.
  • is fully supported, without configuration and easier to install ( EPEL, EMI ) .


What are the main changes from gfal 1.0 ?

  • the NON-POSIX functions of 1.0 do not exist anymore in the POSIX API, they are mapped to a POSIX one ( setxattr/getxattr ) or available in the file api (checksum).
  • the gfal_request complex system is now replaced by a simple POSIX calls and getxattr/setxattr
  • GFal 2.0 provides the getxattr, setxattr, listxattr calls for the plateform's specific calls ( turl resolution, guid resolution, ...)
  • The Python API has been reworked, more pythonic and easier to use, follows now  the python philosophy and is able to manage the exceptions properly.

Note : gfal 1.X branch is still supported for the moment


Is GFAL 2.0 loosing functionalities of GFAL 1.0 ?

- No, most of them are transformed in order to be automative, transparent or accessible with the getxattr/setxattr system.

Examples


#Example of a compilation line : 
gcc -o teststat gfal_teststat.c `pkg-config --libs --cflags gfal2`
# Example of a usage : 
./teststat lfn:/grid/dteam/


Example of advanced usage : gfalFS page


List of the protocols supported with the provided plugins

# LFC usage with the default file catalog 
./teststat lfn:/grid/dteam/

# LFC usage with a specific file catalog 
./teststat lfc://prod-lfc-shared-central.cern.ch/grid/dteam

# GUID usage with the LFC guid mode
./teststat guid:b7ba213b-829d-4a2e-b744-7c9cc685fe2d

# SRM usage with DPM and  DCache SRM server 
./teststat srm://grid05.lal.in2p3.fr:8446/dpm/lal.in2p3.fr/home/dteam/

# GridFTP usage :
./teststat gsiftp://grid05.lal.in2p3.fr/dpm/lal.in2p3.fr/home/dteam/

# local file mode for facility
./teststat file:///tmp/mylocalfile

# RFIO support 
./teststat rfio://myendpoint/myfile

# DCAP support 
./teststat dcap://myendpoint/myfile

# GSIDCAP support ( DCAP secured version )
./teststat gsidcap://myendpoint/myfile

#  Webdav/Http with credential, redirection and multi stream support
./teststat http://myurl/blablalba
./teststat https://myurl/blablalba

Source code


  • anonymous :
       svn co http://svn.cern.ch/guest/lcgutil/gfal2/trunk
    
  • registered :
       svn co https://svn.cern.ch/reps/lcgutil/gfal2/trunk
    

Presentations

Date Topic Place Author
01/2013  GFAL 2.0 GDB GFAL 2.0 presentation GDB Devresse Adrien
12/2012  GFAL 2.0 IT Technical Forum GFAL 2.0 presentation ITF Devresse Adrien
09/09/2012  GFAL 2.0 Status and Transfer API Status Presentation Devresse Adrien
02/05/2012  GFAL Evolutions and gfalFS EMI meeting hamburg Devresse Adrien
17/10/2011  GFAL Evolutions and gfalFS EMI meeting padova Devresse Adrien