50 likes | 243 Views
RFIO@CERN. RFIO in production at CERN since 1990 RFIO implements most system calls for remote I/O. Some important missing are: chdir/getcwd - there is presently no notion of current remote working directory readv/writev - although a “preseek” routine exists with similar functionality to readv
E N D
RFIO@CERN • RFIO in production at CERN since 1990 • RFIO implements most system calls for remote I/O. Some important missing are: • chdir/getcwd - there is presently no notion of current remote working directory • readv/writev - although a “preseek” routine exists with similar functionality to readv • pread/pwrite - support for offset based I/O is planned (requested for the CERN OOFS - RFIO interface) • Supported on most UNIX, linux and NT • Interfaced to CASTOR HSM and HPSS DataGrid Marseille
Existing uses of RFIO • ZEBRA I/O library is interfaced with RFIO • PAW - most experiments use remote stage pools for large NTUPLEs • ROOT dynamically loads a small shlib containing RFIO routines and interface to ROOT I/O. • OOFS in production for • CMS (HPSS) • COMPASS (CASTOR HSM) DataGrid Marseille
RFIO utilities and API • Utilities • rfcp - remote file copy program • rfdir - remote directory listing • rfmkdir - remote directory creation • rfrm - remote file or directory deletion • rfrename - remote file or directory rename • API • Normal remote system I/O: close(), lockf(), lseek(), open(), read(), write() • Standard (stream) I/O: fclose(), feof(), ferror(), fflush(), fopen(), fread(), fseek(), fwrite() DataGrid Marseille
RFIO API (2) • API (cont.) • Metadata operations: access(), chmod(), chown(), close(), closedir(), fstat(), lstat(), mkdir(), open(), opendir(), readdir(), readlink(), rename(), rewinddir(), rmdir(), stat(), statfs(), symlink(), unlink() • Remote pipe I/O: pclose(), popen() • A set of FORTRAN interface routines to RFIO is provided in CERNLIB: CFCLOSE(), CFGET(), CFOPEN(), CFPUT(), CFREW(), CFSEEK(), CFSIZE(), CFSTAT(), CFTELL() DataGrid Marseille
HSM support • HPSS has been supported since 1998 • To avoid forcing client to login under DCE the HPSS API is interfaced in the RFIO server (rfiod). • Three extra RFIO client calls: rfio_setcos(), rfio_readlist(), rfio_writelist() • CASTOR HSM is now supported • CASTOR HSM is interfaced directly in the RFIO client. • It is based on a new open-end interface, which has been developed to facilitate plug-in of HSM systems in the RFIO client. DataGrid Marseille