GFAL 2.0 Devresse Adrien CERN lcgutil team lcgutil-support@cern.ch - - PowerPoint PPT Presentation

gfal 2 0
SMART_READER_LITE
LIVE PREVIEW

GFAL 2.0 Devresse Adrien CERN lcgutil team lcgutil-support@cern.ch - - PowerPoint PPT Presentation

GFAL 2.0 Devresse Adrien CERN lcgutil team lcgutil-support@cern.ch What is GFAL 2.0 ? One and only one Toolkit for all the Grid and Cloud data operations : Client data access : support for all common protocols support for all


slide-1
SLIDE 1

GFAL 2.0

Devresse Adrien CERN lcgutil team

lcgutil-support@cern.ch

slide-2
SLIDE 2

E M I I N F S O

  • R

2

What is GFAL 2.0 ?

CERN, IT-GT-DMS

→ One and only one Toolkit for all the Grid and Cloud data operations : → Client data access :

→ support for all common protocols → support for all common storage systems

→ Data management

→ One API for all data management

→ Data transfers

→ 3rd party transfer support

slide-3
SLIDE 3

E M I I N F S O

  • R

3

Goal of GFAL 2.0 ?

CERN, IT-GT-DMS

→ Hide the Grid complexity from the client side. → Simplify the data access world → One API. → Reduce the number of dependencies. → Plugin system → Makes application independent of the technology / protocols.

slide-4
SLIDE 4

E M I I N F S O

  • R

4

CERN, IT-GT-DMS

LFC LFC

get file replicas list

SRM Server SRM Server DPM Head Node DPM Head Node DPM Disk node DPM Disk node

SRM GET rfio open rfio lseek rfio read lfc_stat

GFAL 2.0 GFAL 2.0 gfal2_open gfal2_pread

SRM surl → turl

Client Client

The complexity

  • f a random read file operation
slide-5
SLIDE 5

E M I I N F S O

  • R

5

An old-style Grid application :

CERN, IT-GT-DMS

Grid Application X

Core logic File access layer Globus framework Xrootd framework SRM client Http lib dCache, DPM, Castor lib

slide-6
SLIDE 6

E M I I N F S O

  • R

6

A GFAL 2.0 Grid application :

CERN, IT-GT-DMS

Grid Application X

Core logic GFAL 2.0 API

slide-7
SLIDE 7

E M I I N F S O

  • R

7

GFAL 2.0 architecture :

EOS

Extensible...

API POSIX API POSIX GFAL 2 Plugin layer Plugin layer

Plugin LFC Plugin SRM Plugin RFIO Plugin Dcap Plugin xrootd Plugin Http/dav Plugin S3 ( ? )

experience catalogue plugin (???)

API Transfer API Transfer File File

Any Cloud ( Http/Dav ) DPM dCache Castor Dropbox

slide-8
SLIDE 8

E M I I N F S O

  • R

8

CERN, IT-GT-DMS

What GFAL 2.0 can do ?

➔ Meta-data operations :

→ stat, rm, mkdir, → mv, rmdir, etc... → list directory, xattr, etc... Remote I/O in any protocol → open/read/write/close → pread/pwrite → etc..

In any protocol :

→ SRM → GRIDFTP → RFIO-Castor → RFIO-DPM → LFN → GUID → DCAP / GSIDCAP → XROOTD → HTTP(S) * → WebDav(s) * → local file

slide-9
SLIDE 9

E M I I N F S O

  • R

9

CERN, IT-GT-DMS

Feature : Protocol generic filecopy

gfalt_copyfile(context, NULL, « srm://monfichier », « srm://madest/higgs ») gfalt_copyfile(context, NULL, « srm://monfichier », « gsiftp://madest/chuck_norris »)

Third party transfer copy : Automatic protocol resolution :

gfalt_copyfile(context, NULL, « guid:1233 », «root://xrootd_dpm/curiosity») gfalt_copyfile(context, NULL, « file:///tmp/super_file», «gsidcap://42»)

slide-10
SLIDE 10

E M I I N F S O

  • R

10

CERN, IT-GT-DMS

Really protocol generic :

gfalt_copyfile(context, NULL, « a://src/file », «b://dst/file»)

Take a, b in srm, guid, lfn, , rfio, dcap , gsidcap, gsiftp, file, xrootd, (http, dav )

FINISHED !

slide-11
SLIDE 11

E M I I N F S O

  • R

11

Feature : Transparent parallel operations

Destination exist ? SRM GET SRM PUT transfer PUTDONE

Old tools...

Destination exist ? SRM GET SRM PUT transfer PUTDONE

GFAL 2.0

File copy operation :

Speed Up x2-x4 for short transfers

slide-12
SLIDE 12

E M I I N F S O

  • R

12

Feature : Transparent thread-safe session reuse

Pool

  • f Connections

SRM, GSIFTP, HTTP, Etc,.. Create session Transfer 1 End Transfer 2 End One server connection

slide-13
SLIDE 13

E M I I N F S O

  • R

13

Feature : extended attributes

GFAL 2.0 supports POSIX extended attributes ( getxattr, setxattr, etc...) → Clean way to uses protocol specific functionalities. → Simple get/list/set API → Easy to use.

slide-14
SLIDE 14

E M I I N F S O

  • R

14

NO ENVIRONMENT VAR !

Environment Variable User

slide-15
SLIDE 15

E M I I N F S O

  • R

15

Feature : Works out of the box : NO ENV VAR !

→ Every parameter is in a configuration file : → /etc/gfal2.d/*.conf → No environment variable needed. → Tune it once, re-use everywhere. → Still compatible with classical environment variable of GFAL 1.0, for an easy transition.

slide-16
SLIDE 16

E M I I N F S O

  • R

16

Missing Feature : Does not make the coffee Coming soon ….

( RFC-2324 compliant ! )

slide-17
SLIDE 17

E M I I N F S O

  • R

17

CERN, IT-GT-DMS

How to use GFAL 2.0 ? :

→ libgfal2 :

→ a C Library → a set of independent plugins

→ gfal2-python : → simple and pythonic python bindings → gfalFS fuse module for gfal 2

→ allows to mount any grid endpoint in a local folder

→ gfal-tools : experimental command line tools

→ gfal-ls, gfal-copy, gfal-mkdir, gfal-cat, ….

slide-18
SLIDE 18

E M I I N F S O

  • R

18

CERN, IT-GT-DMS

How to get GFAL 2.0 ? :

Already in production state ! → Part of EMI 2 release:

→ EMI 2 repository : www.eu-emi.eu

→ Packaged on EPEL : → sudo yum install gfal2-all gfal2-doc gfalFS → is going to be packaged on Debian ( thx Mathias ) → Source available, designed to be portable.

https://svnweb.cern.ch/trac/lcgutil/wiki/gfal2

slide-19
SLIDE 19

E M I I N F S O

  • R

19

CERN, IT-GT-DMS

Support of GFAL 2.0 :

→ Part of EMI

➔ will be supported after the end of EMI

→ GFAL 2.0 is the core of FTS 3.0

➔ will be supported in any case.

→ Long term successor to :

➔ lcg clients : lcg-cp, lcg-cr, lcg util python ➔ gfal 1.0, etc...

→ Development Open to everybody

slide-20
SLIDE 20

E M I I N F S O

  • R

20

CERN, IT-GT-DMS

From gfal1.0 to GFAL 2.0 :

→ GFAL 2.0 does a lot more than GFAL 1.0 : GFAL 2.0 => → a lot of Major changes :

➔ Not 100% backward compatible.

gfal 1.0 + lcg-util (lcg-cp, .. ) + is-interface + gridftp-ifce + ….

slide-21
SLIDE 21

E M I I N F S O

  • R

21

CERN, IT-GT-DMS

From gfal1.0 to GFAL 2.0 :

➔ But, We provides facilities for the

transition

➔ The complete POSIX API is backward

compatible

➔ We provide examples for common

  • perations

➔ Doxygen documentation of the API. ➔ Any question is Welcome :

lcgutil-support@cern.ch

slide-22
SLIDE 22

E M I I N F S O

  • R

22

gfal-tools ( ? ) : Lcg-util command line tools successor ?

→Users wants command line tools → lcg-util (lcg-cp, lcg-cr ) are heavily used. → lcg-util suffers from his age...

→ outdated features → hard to maintain → lots of dependencies →

→ a GFAL 2.0 based -tools ?

slide-23
SLIDE 23

E M I I N F S O

  • R

23

gfal-tools :

→ Experimental tools for lcg-util replacement on the long term. → We need feedback and informations from the experiments :

→ Which part of lcg-util is needed : → lcg-cp, lcg-ls, lcg-cr, ( and ? ) → What can be improved in their point of view ?: → It's time for suggestion ! → How can we help to a smooth transition ?

slide-24
SLIDE 24

E M I I N F S O

  • R

24

Gfal-tools : Current status

→ A simple set of generic command line file utils based on GFAL 2: → gfal-copy → gfal-ls → gfal-rm → gfal-cat → gfal-save → etc.... → Prototype already available for comments ... → Still under development !

→ It's the right time for comments...

slide-25
SLIDE 25

E M I I N F S O

  • R

25

https://svnweb.cern.ch/trac/lcgutil/wiki/gfal2

<[:isPlaceholder:]>