New stager commands Details and anatomy CASTOR external operation meeting CERN - Geneva 14/06/2005 Sebastien Ponce, CERN-IT.

Slides:



Advertisements
Similar presentations
Categories of I/O Devices
Advertisements

Suite Suite Part of zTPFGI suite of products and it is VM based. Efficient and Effective management of the process of bringing up.
Implementing A Simple Storage Case Consider a simple case for distributed storage – I want to back up files from machine A on machine B Avoids many tricky.
The Zebra Striped Network File System Presentation by Joseph Thompson.
16/9/2004Features of the new CASTOR1 Alice offline week, 16/9/2004 Olof Bärring, CERN.
Hypertext Transfer Protocol Kyle Roth Mark Hoover.
OS Fall ’ 02 Introduction Operating Systems Fall 2002.
OS Spring’03 Introduction Operating Systems Spring 2003.
CASTOR Upgrade, Testing and Issues Shaun de Witt GRIDPP August 2010.
File Transfer Protocol CS-328 Dick Steflik. FTP RFC 959 uses two TCP Ports –one for control –one for data transfers command-response protocol control.
Distributed File Systems Sarah Diesburg Operating Systems CS 3430.
19 February CASTOR Monitoring developments Theodoros Rekatsinas, Witek Pokorski, Dennis Waldron, Dirk Duellmann,
Server Design Discuss Design issues for Servers Review Server Creation in Linux.
Experiences Deploying Xrootd at RAL Chris Brew (RAL)
CERN IT Department CH-1211 Genève 23 Switzerland t Tape-dev update Castor F2F meeting, 14/10/09 Nicola Bessone, German Cancio, Steven Murray,
CS 6560 Operating System Design Lecture 13 Finish File Systems Block I/O Layer.
Chapter 17 Domain Name System
Building Advanced Storage Environment Cheng Yaodong Computing Center, IHEP December 2002.
Status report on SRM v2.2 implementations: results of first stress tests 2 th July 2007 Flavia Donno CERN, IT/GD.
Functional description Detailed view of the system Status and features Castor Readiness Review – June 2006 Giuseppe Lo Presti, Olof Bärring CERN / IT.
CERN - IT Department CH-1211 Genève 23 Switzerland Castor External Operation Face-to-Face Meeting, CNAF, October 29-31, 2007 CASTOR2 Disk.
1 Kyung Hee University Chapter 18 Domain Name System.
Author - Title- Date - n° 1 Partner Logo EU DataGrid, Work Package 5 The Storage Element.
SAM Installation Lauri Loebel Carpenter and the SAM Team February
UNIX Files File organization and a few primitives.
CASTOR: CERN’s data management system CHEP03 25/3/2003 Ben Couturier, Jean-Damien Durand, Olof Bärring CERN.
Eduardo Gutarra Velez. Outline Distributed Filesystems Motivation Google Filesystem Architecture The Metadata Consistency Model File Mutation.
© 2004, D. J. Foreman 1 Computer Organization. © 2004, D. J. Foreman 2 Basic Architecture Review  Von Neumann ■ Distinct single-ALU & single-Control.
INTRODUCTION TO DBS Database: a collection of data describing the activities of one or more related organizations DBMS: software designed to assist in.
FTP Server API Implementing the FTP Server Registering FTP Command Callbacks Data and Control Port Close Callbacks Other Server Calls.
CASTOR evolution Presentation to HEPiX 2003, Vancouver 20/10/2003 Jean-Damien Durand, CERN-IT.
CASTOR status Presentation to LCG PEB 09/11/2004 Olof Bärring, CERN-IT.
STAR Collaboration, July 2004 Grid Collector Wei-Ming Zhang Kent State University John Wu, Alex Sim, Junmin Gu and Arie Shoshani Lawrence Berkeley National.
CERN SRM Development Benjamin Coutourier Shaun de Witt CHEP06 - Mumbai.
CERN IT Department CH-1211 Genève 23 Switzerland t Load Testing Dennis Waldron, CERN IT/DM/DA CASTOR Face-to-Face Meeting, Feb 19 th 2009.
D. Duellmann - IT/DB LCG - POOL Project1 The LCG Pool Project and ROOT I/O Dirk Duellmann What is Pool? Component Breakdown Status and Plans.
Data & Storage Services CERN IT Department CH-1211 Genève 23 Switzerland t DSS New tape server software Status and plans CASTOR face-to-face.
INFSO-RI Enabling Grids for E-sciencE SRMv2.2 in DPM Sophie Lemaitre Jean-Philippe.
CASTOR project status CASTOR project status CERNIT-PDP/DM October 1999.
OpenStorage Training Introduction to NetBackup
ICOM 6005 – Database Management Systems Design Dr. Manuel Rodríguez-Martínez Electrical and Computer Engineering Department Lecture 7 – Buffer Management.
WLCG Grid Deployment Board CERN, 14 May 2008 Storage Update Flavia Donno CERN/IT.
FTP Client API FTP in embedded devices Implementing an FTP Client FTP Command APIs Other FTP Client APIs.
CASTOR Operations Face to Face 2006 Miguel Coelho dos Santos
CERN - IT Department CH-1211 Genève 23 Switzerland CASTOR F2F Monitoring at CERN Miguel Coelho dos Santos.
Developments for tape CERN IT Department CH-1211 Genève 23 Switzerland t DSS Developments for tape CASTOR workshop 2012 Author: Steven Murray.
CMS: T1 Disk/Tape separation Nicolò Magini, CERN IT/SDC Oliver Gutsche, FNAL November 11 th 2013.
CASTOR in SC Operational aspects Vladimír Bahyl CERN IT-FIO 3 2.
Chapter Five Distributed file systems. 2 Contents Distributed file system design Distributed file system implementation Trends in distributed file systems.
Active-HDL Server Farm Course 11. All materials updated on: September 30, 2004 Outline 1.Introduction 2.Advantages 3.Requirements 4.Installation 5.Architecture.
CASTOR new stager proposal CASTOR users’ meeting 24/06/2003 The CASTOR team.
15.June 2004Bernd Panzer-Steindel, CERN/IT1 CERN Mass Storage Issues.
CERN - IT Department CH-1211 Genève 23 Switzerland Castor External Operation Face-to-Face Meeting, CNAF, October 29-31, 2007 CASTOR Overview.
Castor dev Overview Castor external operation meeting – November 2006 Sebastien Ponce CERN / IT.
Item 9 The committee recommends that the development and operations teams review the list of workarounds, involving replacement of palliatives with features.
CASTOR: possible evolution into the LHC era
CASTOR Giuseppe Lo Presti on behalf of the CASTOR dev team
Technical Design Technology choices
Distributed File Systems
Status and plans Giuseppe Lo Re INFN-CNAF 8/05/2007.
Giuseppe Lo Re Workshop Storage INFN 20/03/2006 – CNAF (Bologna)
Service Challenge 3 CERN
Emil Knezo PPARC-LCG-Fellow CERN IT-DS-HSM August 2002
The LHC Computing Challenge
CTA: CERN Tape Archive Overview and architecture
DUCKS – Distributed User-mode Chirp-Knowledgeable Server
Cognitive Service in AR platform.
CASTOR: CERN’s data management system
Lecture 4: RPC Remote Procedure Call CDK: Chapter 5
Presentation transcript:

New stager commands Details and anatomy CASTOR external operation meeting CERN - Geneva 14/06/2005 Sebastien Ponce, CERN-IT

14/06/2005 New stager architecture and deployment 2/28 Outline API –Common part with old stager stage_get, stage_put, stage_qry –New commands prepare_to_get, prepare_to_put, putDone –Future getNext Command Line rfcp, stager_qry, stager_get, stager_put, stager_putDone, Anatomy of a request –get + recall –put + migration

14/06/2005 New stager architecture and deployment 3/28 stager_get API stage_get Stages one file from CASTOR, and schedules the data access. The file is opened Read only int stage_get(const char * userTag, const char * protocol, const char * filename, struct stage_io_fileresp ** response, char ** requestId, struct stage_options * opts) –userTag A string chosen by user to group requests –protocol The protocol requested to access the file –filename The CASTOR filename –response fileresponse structure –requestId Reference number to be used by the client to look up his request in the castor stager. –opts CASTOR stager specific options

14/06/2005 New stager architecture and deployment 4/28 stage_put API stage_put stages one file into CASTOR, and schedules the data access int stage_put(const char * userTag, const char * protocol, const char * filename, mode_t mode, u_signed64 size, struct stage_io_fileresp ** response, char ** requestId, struct stage_options * opts) –userTag A string chosen by user to group requests –protocol The protocol requested to access the file –filename The CASTOR filename –mode The mode in which the file is to be opened –size The expected filesize of the file that is going to be writen (or 0, in which case the stager will take its default) –response fileresponse structure –requestId Reference number to be used by the client to look up his request in the castor stager. –opts CASTOR stager specific options

14/06/2005 New stager architecture and deployment 5/28 stage_qry API stage_filequery Returns summary information about the files in the CASTOR stager int stage_filequery(struct stage_query_req * requests, int nbreqs, structstage_filequery_resp ** responses, int * nbresps, struct stage_options * opts) –requests Pointer to the list of file requests –nbreqs Number of file requests in the list –responses List of file responses, created by the call itself –nbresps Number of file responses in the list –opts CASTOR stager specific options

14/06/2005 New stager architecture and deployment 6/28 Outline API –Common part with old stager stage_get, stage_put, stage_qry –New commands prepare_to_get, prepare_to_put, putDone –Future getNext Command Line rfcp, stager_qry, stager_get, stager_put, stager_putDone, Anatomy of a request –get + recall –put + migration

14/06/2005 New stager architecture and deployment 7/28 stage_prepareToGet API stage_prepareToGet stages the files from CASTOR, but does not schedule the file access int stage_prepareToGet (const char * userTag, struct stage_prepareToGet_filereq * requests, int nbreqs, struct stage_prepareToGet_fileresp ** responses, int * nbresps, char ** requestId, struct stage_options * opts) –userTag A string chosen by user to group requests –requests Pointer to the flist of file requests –nbreqs Number of file requests in the list –responses List of file responses, created by the call itself –nbresps Number of file responses in the list –requestId Reference number to be used by the client to look up his request in the castor stager –opts CASTOR stager specific options

14/06/2005 New stager architecture and deployment 8/28 stage_prepareToPut API stage_prepareToPut Reserve space so as to put files in CASTOR, but do not schedule access to those files int stage_prepareToPut (const char * userTag, struct stage_prepareToPut_filereq * requests, int nbreqs, struct stage_prepareToPut_fileresp ** responses, int * nbresps, char ** requestId, struct stage_options * opts) –userTag A string chosen by user to group requests –requests Pointer to the list of file requests –nbreqs Number of file requests in the list –responses List of file responses, created by the call itself –nbresps Number of file responses in the list –requestId Reference number to be used by the client to look up his request in the castor stager. –opts CASTOR stager specific options

14/06/2005 New stager architecture and deployment 9/28 stage_putDone API stage_putDone Changes the status of the files, indicating that the put request is successfully done int stage_putDone(char * putRequestId, struct stage_filereq * requests, int nbreqs, struct stage_fileresp ** responses, int * nbresps, char ** requestId, struct stage_options * opts) –putRequestId ID of the related prepare to put request –requests Pointer to the list of file requests –nbreqs Number of file requests in the list –responses List of file responses, created by the call itself –nbresps Number of file responses in the list –requestId Reference number to be used by the client to look up his request in the castor stager. –opts CASTOR stager specific options

14/06/2005 New stager architecture and deployment 10/28 Outline API –Common part with old stager stage_get, stage_put, stage_qry –New commands prepare_to_get, prepare_to_put, putDone –Future getNext Command Line rfcp, stager_qry, stager_get, stager_put, stager_putDone, Anatomy of a request –get + recall –put + migration

14/06/2005 New stager architecture and deployment 11/28 stage_getNext API stage_getNext Schedules access to the next file in the prepateToGet request that is ready to be accessed int stage_getNext(const char * reqId, struct stage_io_fileresp ** response, struct stage_options * opts) –reqId ID of the stage_prepareToGetRequest –response The location of the file –opts CASTOR stager specific options this allows optimization of the scanning of a large number of files distributed among many tapes the system takes care of always pre-staging few files in advance, but not all of them

14/06/2005 New stager architecture and deployment 12/28 Outline API –Common part with old stager stage_get, stage_put, stage_qry –New commands prepare_to_get, prepare_to_put, putDone –Future getNext Command Line rfcp, stager_qry, stager_get, stager_put, stager_putDone, Anatomy of a request –get + recall –put + migration

14/06/2005 New stager architecture and deployment 13/28 command line rfcp [ -s size ] [ -v2 ] filename1 filename2 –for simple get, simple put stager_get [ -M hsmfile [ -M... ]] [ -S svcClass ] [ -U usertag ] [ -f protocol ] –actually a prepareToGet. Then use rfcp to transfer data stager_prepareToPut [-P protocol] [-U usertag] [-S svcClass] [-M hsmfile [ -M... ]] –then use rfcp to transfer data and putDone to unlock the file –Note that the file will not be migrated before putDone, that it will never be reset before putDone and that multiple simultaneous put are allowed stager_putDone [-R requestid][ -M hsmfile [ -M... ]] –ends a stager_put session

14/06/2005 New stager architecture and deployment 14/28 command line stager_qry [-M hsmfile|-F fileid|-U usertag|-R requestid] –queries for the status of (a) files(s). Three selections criteria are possible by file (name or fileid) by userTag by requestId

14/06/2005 New stager architecture and deployment 15/28 Outline API –Common part with old stager stage_get, stage_put, stage_qry –New commands prepare_to_get, prepare_to_put, putDone –Future getNext Command Line rfcp, stager_qry, stager_get, stager_put, stager_putDone, Anatomy of a request –get + recall –put + migration

14/06/2005 New stager architecture and deployment 16/28 stager_get (1) Tape Servers TapeDaemon Client StagerJob RTCPD NameServer VDQM VMGR Disk Servers Mover RHRH RR Scheduler DB Svc Job Svc Qry Svc Error Svc Stager MigHunter GC RTCPClientD DB Client opens temporary port for receiving the response Client send its request to RH RH stores request into the DB

14/06/2005 New stager architecture and deployment 17/28 stager_get (2) Tape Servers TapeDaemon Client StagerJob RTCPD NameServer VDQM VMGR Disk Servers Mover RHRH RR MigHunter GC RTCPClientD Scheduler DB Svc Job Svc Qry Svc Error Svc Stager DB Stager polls the DB to get the request It checks for file availability The file is not available, it creates a DiskCopy in WAITTAPERECALL

14/06/2005 New stager architecture and deployment 18/28 stager_get (3) Client StagerJob NameServer RHRH RR Scheduler DB Svc Job Svc Qry Svc Error Svc Stager MigHunter GC RTCPD VDQM Disk Servers Mover RTCPClientD DB VMGR rtcpClientd polls the DB to get diskCopies in WAITTAPERECALL It organizes the recall of the data like the stager was doing it in the old architecture except that the target filesystem in not yet selected Tape Servers TapeDaemon recaller

14/06/2005 New stager architecture and deployment 19/28 stager_get (4) Client StagerJob NameServer Scheduler MigHunter GC RTCPD VDQM Disk Servers Mover RTCPClientD DB VMGR Tape Servers TapeDaemon RHRH DB Svc Job Svc Qry Svc Error Svc Stager RR recaller sends a request to the stager in order to know where to put the file the request goes through the usual way : Request Handler, DB, stager (job service), Request Replier recaller

14/06/2005 New stager architecture and deployment 20/28 stager_get (5) Client StagerJob NameServer VDQM VMGR RHRH RR Scheduler DB Svc Job Svc Qry Svc Error Svc Stager MigHunter GC Tape Servers TapeDaemon RTCPD Disk Servers Mover RTCPClientD DB rtcpd transfers the data from the tape to the selected filesystem the DB is updated with the new file size and position the original subrequest is set to RESTART status recaller

14/06/2005 New stager architecture and deployment 21/28 stager_get (6) Tape Servers TapeDaemon Client RTCPD NameServer VDQM VMGR Disk Servers Mover RHRH RR MigHunter GC RTCPClientD DB Svc Job Svc Qry Svc Error Svc Stager DB Stager polls the DB to get the request It checks for file availability The file is available, it calls the scheduler to schedule the I/O The scheduler launches a StagerJob StagerJob Scheduler

14/06/2005 New stager architecture and deployment 22/28 stager_get (7) Tape Servers TapeDaemon RTCPD NameServer VDQM VMGR RHRH Scheduler DB Svc Job Svc Qry Svc Error Svc Stager MigHunter GC RTCPClientD Client StagerJob Disk Servers Mover RR the StagerJob launches the right mover corresponding to the client request (note that the scheduler takes available movers into account) it answers to the client, giving to it the machine and port where to contact the mover data is transfered DB is updated and cleaned up DB

14/06/2005 New stager architecture and deployment 23/28 Outline API –Common part with old stager stage_get, stage_put, stage_qry –New commands prepare_to_get, prepare_to_put, putDone –Future getNext Command Line rfcp, stager_qry, stager_get, stager_put, stager_putDone, Anatomy of a request –get + recall –put + migration

14/06/2005 New stager architecture and deployment 24/28 stager_put (1) Tape Servers TapeDaemon Client StagerJob RTCPD NameServer VDQM VMGR Disk Servers Mover RHRH RR Scheduler DB Svc Job Svc Qry Svc Error Svc Stager MigHunter GC RTCPClientD DB Client opens temporary port for receiving the response Client send its request to RH RH stores request into the DB

14/06/2005 New stager architecture and deployment 25/28 stager_put (2) Tape Servers TapeDaemon Client RTCPD NameServer VDQM VMGR Disk Servers Mover RHRH RR MigHunter GC RTCPClientD DB Svc Job Svc Qry Svc Error Svc Stager DB Stager polls the DB to get the request It calls the scheduler to schedule the I/O The scheduler launches a StagerJob StagerJob Scheduler

14/06/2005 New stager architecture and deployment 26/28 stager_put (3) Tape Servers TapeDaemon RTCPD NameServer VDQM VMGR RHRH Scheduler DB Svc Job Svc Qry Svc Error Svc Stager MigHunter GC RTCPClientD Client StagerJob Disk Servers Mover RR the StagerJob launches the right mover corresponding to the client request (note that the scheduler takes available movers into account) it answers to the client, giving to it the machine and port where to contact the mover data is transfered DB is updated with the file size and the diskcopy is set in CANBEMIGR and one or many TapeCopies are created DB

14/06/2005 New stager architecture and deployment 27/28 stager_put (4) Tape Servers TapeDaemon Client StagerJob RTCPD NameServer VDQM VMGR Disk Servers Mover RHRH RR Scheduler DB Svc Job Svc Qry Svc Error Svc Stager GC RTCPClientD MigHunter DB thanks to a MigHunter, the new tapecopy is attached to the streams it can belong to (depending on tapepools, svcclasses,...)

14/06/2005 New stager architecture and deployment 28/28 stager_put (5) Client StagerJob NameServer RHRH RR Scheduler DB Svc Job Svc Qry Svc Error Svc Stager MigHunter GC RTCPD VDQM DB VMGR rtcpclientd will launch a migrator this one asks the DB for the next migration candidate the DB takes the best candidate in the stream (based on filesystems availability) the file is written to tape and the DB updated Tape Servers TapeDaemon Disk Servers Mover RTCPClientD migrator