GFAL2

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 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. 

GFAL2 is able to manage all the common used file access protocols in a grid & cloud environment

10 good reasons to switch to GFAL2
GFAL2:

  • 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-reusetransparent 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 SRMGSIFTPxrootdHttpWebdavGSIDCAP, 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 gfal1 ?

  • 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.

Is GFAL2 loosing functionalities of GFAL1?

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

Project: 

You are here