Äîêóìåíò âçÿò èç êýøà ïîèñêîâîé ìàøèíû. Àäðåñ îðèãèíàëüíîãî äîêóìåíòà : http://acat02.sinp.msu.ru/presentations/GGtut/Dev-07-DataManagement1.pdf
Äàòà èçìåíåíèÿ: Sat Jul 6 22:29:40 2002
Äàòà èíäåêñèðîâàíèÿ: Mon Oct 1 20:35:45 2012
Êîäèðîâêà:
Data Management
Globus ToolkitTM Developer Tutorial The Globus ProjectTM
Argonne National Laboratory USC Information Sciences Institute http://www.globus.org/
Copyright (c) 2002 University of Chicago and The University of Southern California. All Rights Reserved. This presentation is licensed for use under the terms of the Globus Toolkit Public License. See http://www.globus.org/toolkit/download/license.html for the full text of this license.


Sources of Information
l l l l

http://www.globus.org/developer/api-reference.html discuss@globus.org globus_ftp_control.h http://www-fp.mcs.anl.gov/dsl/GridFTP-Protocol-RFC-Draft.pdf

March 25, 2002

Globus ToolkitTM Developer Tutorial: Data

2


Data Management Services
l

Data transfer and access
­ GASS: Simple, multi-protocol file transfer tools; integrated with GRAM ­ GridFTP: Provides high-performance, reliable data transfer for modern WANs

l

Data replication and management
­ Replica Catalog: Provides a catalog service for keeping track of replicated datasets ­ Replica Management: Provides services for creating and managing replicated datasets

March 25, 2002

Globus ToolkitTM Developer Tutorial: Data

3


GASS Remote I/O and Staging
l

Used by GRAM to:
­ Pull executable from remote location ­ Move stdin/stdout/stderr from/to a remote location

l

Access files from a remote location

March 25, 2002

Globus ToolkitTM Developer Tutorial: Data

4


What is GASS? Global Access to Secondary Storage
(a) GASS file access API
­ Replace open/close with globus_gass_open/close; read/write calls can then proceed directly

(b) RSL extensions
­ URLs used to name executables, stdout, stderr

(c) Remote cache management utility (d) Low-level APIs for specialized behaviors

March 25, 2002

Globus ToolkitTM Developer Tutorial: Data

5


GASS Architecture
main( ) { fd = globus_gass_ open(...) ... read(fd,...) ... globus_ gass_close(fd) }

&(executable=https://...) (b) RSL extensions GRAM GASS Server HTTP Server FTP Server

(a) GASS file access API Cache Cache (d) Low-level APIs for customizing cache & GASS server
March 25, 2002

(c) Remote cache management % globus-gass-cache
6

Globus ToolkitTM Developer Tutorial: Data


GASS File Naming
l

URL encoding of resource names
https://quad.mcs.anl.gov:9991/~bester/myjob

protocol
l

server address

file name

Other examples
https://pitcairn.mcs.anl.gov/tmp/input_dataset.1 https://pitcairn.mcs.anl.gov:2222/./output_data http://www.globus.org/~bester/input_dataset.2

l l

Currently supports http & https Future release will also support ftp & gridftp.
Globus ToolkitTM Developer Tutorial: Data 7

March 25, 2002


GASS RSL Extensions
l

executable, stdin, stdout, stderr can be local files or URLs executable and stdin loaded into local cache before job begins (on front-end node) stdout, stderr handled via GASS append mode Cache cleaned after job completes

l

l

l

March 25, 2002

Globus ToolkitTM Developer Tutorial: Data

8


GASS/RSL Example
&(executable=https://quad:1234/~/myexe) (stdin=https://quad:1234/~/myin) (stdout=/home/bester/output) (stderr=https://quad:1234/dev/stdout)

March 25, 2002

Globus ToolkitTM Developer Tutorial: Data

9


Example GASS Applications
l l l

On-demand, transparent loading of data sets Caching of (small) data sets Automatic staging of code and data to remote supercomputers
­ GridFTP better suited to staging of large data sets

l

(Near) real-time logging of application output to remote server

March 25, 2002

Globus ToolkitTM Developer Tutorial: Data

10


GASS Examples
l

globus-job-run pitcairn ­s myscript.sh

March 25, 2002

Globus ToolkitTM Developer Tutorial: Data

11


GASS File Access API
l l

Minimum changes to application globus_gass_open(), globus_gass_close()
­ Same as open(), close() but use URLs instead of filenames ­ Caches URL in case of multiple opens ­ Return descriptors to files in local cache or sockets to remote server

l

globus_gass_fopen(), globus_gass_fclose()

March 25, 2002

Globus ToolkitTM Developer Tutorial: Data

12


GASS File Access API (cont)
l

Support for different access patterns
­ Read-only (from local cache) ­ Write-only (to local cache) ­ Read-write (to/from local cache) ­ Write-only, append (to remote server)

March 25, 2002

Globus ToolkitTM Developer Tutorial: Data

13


globus_gass_open()/close()
URL in cache? yes open cached file, add cache reference globus_gass_open() Modified yes no Remove cache reference no Download File into cache

globus_gass_close()

Upload changes
March 25, 2002 Globus ToolkitTM Developer Tutorial: Data 14


GASS File API Semantics
l

Copy-on-open to cache if not truncate or write-only append and not already in cache Copy on close from cache if not read only and not other copies open Multiple globus_gass_open() calls share local copy of file Append to remote file if write only append: e.g., for stdout and stderr Reference counting keeps track of open files
Globus ToolkitTM Developer Tutorial: Data 15

l

l

l

l

March 25, 2002


Remote Cache Management Utilities
l

Remote management of caches, for
­ Prestaging/poststaging of files ­ Cache cleanup and management

l

Support operations on local & remote caches Functionality encapsulated in a program: globus-gass-cache

l

March 25, 2002

Globus ToolkitTM Developer Tutorial: Data

16


GASS Cache Semantics
l

For each "file" in the cache, we record
­ Local file name ­ URL (i.e., the remote location) ­ Reference count: a set of tagged references

l

Tags associated with references allow clean up of cache, e.g. following failure
­ Tag is job_manager_contact (if file accessed via file access API) or programmer-specified ­ Commands allow "remove all refs with tag T"

March 25, 2002

Globus ToolkitTM Developer Tutorial: Data

17


globus-gass-cache Specification
globus-gass-cache op [-r resource] [-t tag] URL
l

Where op is one of
­ add : add URL to cache with tag ­ delete : remove one reference of tag for URL ­ cleanup_tag : remove all refs of tag for URL ­ cleanup_url : remove specified URL from cache ­ list : list contents of cache

l l

URL is optional for cleanup_tag and list If resource not specified, default to local cache
Globus ToolkitTM Developer Tutorial: Data 18

March 25, 2002


globus-gass-cache Examples
globus-gass-cache add -t experiment1 x-gass://host:port/file
l

Add file " file " (located at x-gass://host:port ) to the local cache; label reference with tag "experiment1"

globus-gass-cache add -r tuva.mcs.anl .gov-fork \ x-gass://host:port/file
l

Add file " file " (located at x-gass://host:port ) to the cache at tuva.mcs.anl.gov-fork

March 25, 2002

Globus ToolkitTM Developer Tutorial: Data

19


globus_gass_cache
l

Module for manipulating the GASS cache
­ globus_gass_cache_open(), ..._close() ­ globus_gass_cache_add(), ..._add_done() ­ globus_gass_cache_delete_start(), ..._delete() ­ globus_gass_cache_cleanup_tag() ­ globus_gass_cache_cleanup_file() ­ globus_gass_cache_list()

l

This modules does NOT fill in the contents of the cache files. It just handles manages naming and lifetimes of files.

March 25, 2002

Globus ToolkitTM Developer Tutorial: Data

20


globus_gass_transfer
l

Common API for transferring remote files/data over various protocols
­ http and https currently supported ­ ftp will be supported in future release

l l

Supports put and get operations on an URL Allows for efficient transfer to/from files or direct to/from memory Allows any application to easily add customized file/data service capabilities
Globus ToolkitTM Developer Tutorial: Data 21

l

March 25, 2002


globus_gass_copy
l

Simple API for copying data from a source to a destination
­ URL used for source and destination ­ http(s), ( gsi)ftp, file ­ When transferring from ftp to ftp, it uses 3 party transfer (I.e. client mediated, direct server-to-server transfer)
rd

l

globus-url-copy program is simple wrapper around the globus_gass_copy API

March 25, 2002

Globus ToolkitTM Developer Tutorial: Data

22


globus-gass-server
l

Simple file server
­ Run by user wherever necessary ­ Secure https protocol, using GSI ­ APIs for embedding server into other programs

l

Example
globus-gass-server ­r ­w -t

­ -r: Allow files to be read from this server ­ -w: Allow files to be written to this server ­ -t: Tilde expand (~/... Þ $(HOME)/...) ­ -help: For list of all options
March 25, 2002 Globus ToolkitTM Developer Tutorial: Data 23


globus_gass_server_ez
l

Very simply API for adding file service to any application
­ Wrapper around globus_ gass_transfer

l

globusrun uses this module to support executable staging, stdout/err redirection, and remote file access

March 25, 2002

Globus ToolkitTM Developer Tutorial: Data

24


GRAM & GASS: Putting It Together
1. 2. 3. 4. 5. Derive Contact String Build RSL string Startup GASS server Submit to request Return output
5

program
5 5 5 4

GASS server
3

stdout
Host name Command Line Args
March 25, 2002

1 2

Contact string RSL string

jobmanager
4 4

globus-job-run

gatekeeper
25

Globus ToolkitTM Developer Tutorial: Data


Globus Components In Action
Local Machine mpirun Machines RSL string User Proxy Cert grid-proxy-init X509 User Cert

RSL multi-request

globusrun
GRAM Client

RSL parser

DUROC

RSL single request
GRAM

GSI

GASS Server

Client

GSI

GRAM Gatekeeper GSI App Remote Machine

GRAM Job Manager GASS Client PBS Nexus MPI

GRAM Gatekeeper GSI

GRAM Job Manager GASS Client Unix Fork App Nexus MPI

AIX

Remote Machine

Solaris

March 25, 2002

Globus ToolkitTM Developer Tutorial: Data

26


But GASS Is Not Enough
l

GASS is designed for convenient access to smaller files
­ Integrated with GRAM ­ Simple remote access APIs

l

What about high-end data transfer and access needs?
­ High-performance transfer ­ Third party (client mediated) transfer ­ Richer access patterns

l

GridFTP is the answer...
Globus ToolkitTM Developer Tutorial: Data 27

March 25, 2002


GridFTP: Basic Approach
l l

FTP protocol is defined by several IETF RFCs Start with most commonly used subset
­ Standard FTP: get/put etc., 3rd -party transfer

l

Implement standard but often unused features
­ GSS binding, extended directory listing, simple restart

l

Extend in various ways, while preserving interoperability with existing servers
­ Striped/parallel data channels, partial file, automatic & manual TCP buffer setting, progress monitoring, extended restart

March 25, 2002

Globus ToolkitTM Developer Tutorial: Data

28


GridFTP APIs (in v2)
l

globus_ftp_control
­ Provides access to low-level GridFTP control and data channel operations.

l

globus_ftp_client
­ Provides typical GridFTP client operations.

l

globus_gass_copy
­ Provides the ability to easily start and manage multiple data transfers using GridFTP, HTTP, local file, and memory operations

March 25, 2002

Globus ToolkitTM Developer Tutorial: Data

29


globus-url-copy
l

This is the GridFTP client tool provided with the Globus Toolkit V2.0TM It takes a source URL and destination URL and will do protocol conversion for http, https, FTP, gsiftp, and file (file must be local). globus-url-copy program is simple wrapper around globus-gass-copy

l

l

March 25, 2002

Globus ToolkitTM Developer Tutorial: Data

30


A few Caveats
l

This is a client server model. I.e., there must be a server running somewhere. Today, that means one of our GT2 wuftpd based servers. We hope other people are going to write servers. We have an embeddable server on our list of things to do, but don't know when we will have the resources. Implementing the protocol is not trivial
Globus ToolkitTM Developer Tutorial: Data 31

l

l

l

l

March 25, 2002


globus_ftp_control
l

Low level GridFTP driver
­ Control channel management
> Both client and server sides > Handles message framing, security, etc

­ Data channel management
> Symmetric for client and server sides > Designed for performance: caller controls buffer management, no data copies needed
l

Must understand details of GridFTP protocol to use this API
­ Intended for custom GridFTP client and server developers

March 25, 2002

Globus ToolkitTM Developer Tutorial: Data

32


Nomenclature
l

Gsi-wuftpd and gsi-ncftp are NOT GridFTP clients or servers The GT2 GridFTP is based on the wuftpd and IS a GridFTP server. To be a GridFTP server, you must be compliant with the Protocol Doc Ours is the only one right now, but hopefully there will be other implementations in the future.
Globus ToolkitTM Developer Tutorial: Data 33

l

l

l

March 25, 2002


The GridFTP Protocol
l l l l

Based on 4 RFC's and our extensions RFC 959: The base FTP protocol document RFC 2228: Security Extensions RFC 2389: Feature Negotioation and support for command options IETF Draft: Stream Mode restarts, standard file listings

l

March 25, 2002

Globus ToolkitTM Developer Tutorial: Data

34


The GridFTP Protocol (Cont)
l

Our Extensions:
­ SPOR/SPAS ­ ERET/ESTO ­ SBUF/ABUF ­ DCAU ­ Mode E ­ Options to RETR ­ FEAT

March 25, 2002

Globus ToolkitTM Developer Tutorial: Data

35


The GridFTP Protocol (Cont)
l l

Command Response Protocol Issue a command, get only responses to that command until it is completed, then you can issue another command

March 25, 2002

Globus ToolkitTM Developer Tutorial: Data

36


The GridFTP Protocol (Cont)
l

Simple Commands have Complex Protocol Exchanges. PUT (transfer file from my client to server)
­ TYPE I, MODE E, PASV, STOR < FileName> ­ Client can form multiple connections ­ Restart and Performance Markers over the control channel ­ Specific replies and defined state machine.

l

March 25, 2002

Globus ToolkitTM Developer Tutorial: Data

37


globus_ftp_client
l

Functionality
­ get, put, third_party_transfer
> Variants: normal, partial file, extended

­ delete, mkdir, rmdir, move
> Note no "cd". All operations use URLs with full paths

­ ­ ­ ­
l

list, verbose_list modification_time, size, exists Hides the state machine PlugIn Architecture provides access to interesting events.

All data transfer is to/from memory buffers
­ Facilitates wide range of clients

March 25, 2002

Globus ToolkitTM Developer Tutorial: Data

38


Writing a GridFTP Client
l l l l l l l

Module Activation / Initialization Check Features Select Mode Set Attributes Enable any needed plug-ins Execute the operation Module Deactivation / Clean up

March 25, 2002

Globus ToolkitTM Developer Tutorial: Data

39


Initialization
l

globus_module_activate(GLOBUS_FTP_CLI ENT_MODULE) Must be called in any program that use the client library. Will automatically call module_activate for any required lower level modules (like globus_io)

l

l

March 25, 2002

Globus ToolkitTM Developer Tutorial: Data

40


Checking Features
l

Right now, you would have to go to the control library and send the FEAT command yourself. We are adding a function that will allow you to check to see if a feature is supported.

l

March 25, 2002

Globus ToolkitTM Developer Tutorial: Data

41


Attributes
l

l

Very powerful feature and control much of the functionality Two types of attributes:
­ Handle Attributes: Good for an entire session and independent of any specific Operation ­ Operation Attributes: Good for a single operation.

l

Files:
­ globus_ftp_client_ attr.c ­ globus_i_ftp_client.h

March 25, 2002

Globus ToolkitTM Developer Tutorial: Data

42


Attributes (Cont)
l

Handle Attributes:
­ Initialize/Destroy/Copy Attribute Handle ­ Connection Caching: Either all, or URL by URL. ­ Plugin Management: Add/Remove Plugins

March 25, 2002

Globus ToolkitTM Developer Tutorial: Data

43


Attributes (Cont)
l

Operation Attributes
­ Parallelism ­ Striped Data Movement ­ Striped File Layout ­ TCP Buffer Control ­ File Type ­ Transfer Mode ­ Authorization/Privacy/Protection

l

Functions
­ ­ globus_ftp_client_operationattr _set_(&attr, &) globus_ftp_client_operationattr _get_(& attr, &)

March 25, 2002

Globus ToolkitTM Developer Tutorial: Data

44


Attributes (Cont)
l

Example Code (structs and enums in globus_ftp_control.h):
globus_ftp_client_handle_t globus_ftp_client_operationattr_t globus_ftp_client_handleattr_t globus_size_t globus_ftp_control_parallelism_t globus_ftp_control_layout_t handle; attr; handle_attr; parallelism_level = 4; parallelism; layout;

globus_module_activate(GLOBUS_FTP_CLIENT_MODULE); globus_ftp_client_handleattr_init(&handle_attr); globus_ftp_client_operationattr_init(&attr); parallelism.mode = GLOBUS_FTP_CONTROL_PARALLELISM_FIXED; parallelism.fixed.size = parallelism_level; layout.mode = GLOBUS_FTP_CONTROL_STRIPING_BLOCKED_ROUND_ROBIN; layout.round_robin.block_size = 64*1024; globus_ftp_client_operationattr_set_mode(&attr, GLOBUS_FTP_CONTROL_MODE_EXTENDED_BLOCK); globus_ftp_client_operationattr_set_parallelism(&attr, ¶llelism); globus_ftp_client_operationattr_set_layout(&attr, &layout); globus_ftp_client_handle_init(&handle, &handle_ attr); March 25, 2002 Globus ToolkitTM Developer Tutorial: Data 45


Mode S versus Mode E
l

Mode S is stream mode as defined by RFC 959.
­ No advanced features accept simple restart

l

Mode E enables advanced functionality
­ Adds 64 bit offset and length fields to the header. ­ This allows discontiguous, out-of-order transmission and along with the SPAS and SPOR commands, enable parallelism and striping.

l

Command:

globus_ftp_client_operationattr_set_mode(& attr, GLOBUS_FTP_CONTROL_MODE_EXTENDED_BLOCK);

March 25, 2002

Globus ToolkitTM Developer Tutorial: Data

46


Plug-Ins
l

Interface to one or more plug-ins:
­ Callouts for all interesting protocol events
> Allows monitoring of performance and failure

­ Callins to restart a transfer
> Can build custom restart logic
l

Included plug-ins:
­ Debug: Writes event log ­ Restart: Parameterized automatic restart
> Retry N times, with a certain delay between each try > Give up after some amount of time

­ Performance: Real time performance data

March 25, 2002

Globus ToolkitTM Developer Tutorial: Data

47


Plug-Ins (Cont.)
l

A plugin is created by defining a globus_ftp_client_ plugin_t which contains the function pointers and plugin -specific data needed for the plugin's operation. It is recommended that a plugin define a a globus_module_descriptor_t and plugin initialization functions, to ensure that the plugin is properly initialized. Every plugin must define copy and destroy functions. The copy function is called when the plugin is added to an attribute set or a handle is initialized with an attribute set containing the plugin. The destroy function is called when the handle or attribute set is destroyed.
Globus ToolkitTM Developer Tutorial: Data 48

l

March 25, 2002


Plug-Ins (Cont.)
l

Essentially filling in a structure of function pointers:
­ Operations (Put, Get, Mkdir, etc) ­ Events (command, response, fault, etc)

l

Called only if both the operation and event have functions defined Filtered based on command_mask

l

March 25, 2002

Globus ToolkitTM Developer Tutorial: Data

49


Plug-Ins (Cont.)
l

Coding:
­ globus_ftp_client_ plugin_t *plugin; ­ globus_ftp_client_ plugin_set__func
> Macro to make loading the struct easier

­ globus_ftp_client_ handleattr_add_plugin (at tr, plugin )
l

Files:
­ ­ ­ ­ globus_ftp_client_ plugin.h globus_ftp_client.h globus_ftp_client_ plugin.c Also some internal .h files

March 25, 2002

Globus ToolkitTM Developer Tutorial: Data

50


High Level Calls
globus_ftp_client_put/get/3rd Party l Function signature: globus_result_t globus_ftp_client_get (globus_ftp_client_handle_t *handle, const char *url, globus_ftp_client_ operationattr _t *attr, globus_ftp_client_restart_marker_t *restart, globus_ftp_client_complete_callback_t complete_callback, void *callback_arg ) Example: globus_ftp_client_put_test.c
l

March 25, 2002

Globus ToolkitTM Developer Tutorial: Data

51


Parallel Put/Get
l

Parallelism is hidden. You are not required to do anything other than set the attributes, though you may want to for performance reasons. Doc needs to be updated. Does not have enums or structures. Look in globus_ftp_control.h

l

March 25, 2002

Globus ToolkitTM Developer Tutorial: Data

52


Making GridFTP Go... FAST!
l

The Chain is only as strong as the weakest Link OS Limitations on Streams and buffers
­ Buffer size limits (defaults, Max) ­ We use 64K default, 8MB Max per socket ­ # of sockets per process and total

l

l

Note that with striping and parallelism you can end up with a lot of memory and streams in a real hurry.

March 25, 2002

Globus ToolkitTM Developer Tutorial: Data

53


Making GridFTP Go... FAST!
l

NIC's: Gigabit or go Slow
­ Can't really recommend a brand, because it is so system dependant. ­ Our experience: SysKonnect 98 series are good, NetGear GA620 are good, GA621 (the new one) was flaky at SC, SysKonnect 9D supposed to be fast, less expensive, but higher latency (not relevant for GridFTP) ­ Check your configuration
> Auto Duplex selection rarely works > Interrupt Coalescing > HW Checksumming

March 25, 2002

Globus ToolkitTM Developer Tutorial: Data

54


Making GridFTP Go... FAST! (Cont)
l

Bus: 66MHz (for Intel)
­ We are moving a lot of data: On/Off Disk, In/Out the NIC. ­ We do not use the Linux Zero-Copy stuff. We are looking at it, but it is Linux specific (at least for now)

l

CPU: Take Two they are small
­ GigE NIC's take a lot of CPU, so does SW RAID ­ Rumor has it that the PIV Chip Set has low IO rates.

l

Disk: Often the biggest Problem
­ IDE limited to between 5 and 20 MB/s ­ Journaling File System is slower, but they are making improvements (ext2 .vs. Reiser .vs. XFS) ­ For Real Speed, use RAID (Software works well if you have enough CPU, otherwise use HW RAID) ­ IDE RAID is now available, but no experience with it

March 25, 2002

Globus ToolkitTM Developer Tutorial: Data

55


GassCopy API
l

globus_result_t globus_gass_copy_handle_init (globus_gass_copy_handle_t *handle, globus_gass_copy_handleattr_t *attr) globus_result_t globus_gass_copy_attr_init (globus_gass_copy_attr_t *attr) globus_result_t globus_gass_copy_attr_set_ftp (globus_gass_copy_attr_t *attr, globus_ftp_client_operationattr_t *ftp_attr) globus_result_t globus_gass_copy_attr_set_io (globus_gass_copy_attr_t *attr, globus_io_attr_t *io_attr)

l

l

l

March 25, 2002

Globus ToolkitTM Developer Tutorial: Data

56


GassCopy API
l

globus_result_t globus_gass_copy_url_to_url (globus_gass_copy_handle_t *handle, char *source_url, globus_gass_copy_attr_t *source_attr, char *dest_url, globus_gass_copy_attr_t *dest_attr) globus_result_t globus_gass_copy_url_to_handle (globus_gass_copy_handle_t *handle, char *source_url, globus_gass_copy_attr_t *source_attr, globus_io_handle_t *dest_handle) globus_result_t globus_gass_copy_handle_to_url (globus_gass_copy_handle_t *handle, globus_io_handle_t *source_handle, char *dest_url, globus_gass_copy_attr_t *dest_attr)

l

l

March 25, 2002

Globus ToolkitTM Developer Tutorial: Data

57


Control Library Overview
l l

l

l

globus_result_t globus_ftp_control_handle_init (globus_ftp_control_handle_t *handle) globus_result_t globus_ftp_control_send_command (globus_ftp_control_handle_t *handle, const char * cmdspec , globus_ftp_control_response_callback_t callback, void *callback_arg,...) globus_result_t globus_ftp_control_connect (globus_ftp_control_handle_t *handle, char *host, unsigned short port, globus_ftp_control_response_callback_t callback, void *callback_arg) globus_result_t globus_ftp_control_authenticate (globus_ftp_control_handle_t *handle, globus_ftp_control_auth_info_t *auth_info, globus_bool _t use_auth, globus_ftp_control_response_callback_t callback, void *callback_ arg)

March 25, 2002

Globus ToolkitTM Developer Tutorial: Data

58


Replica Management Approach
l

Replica Catalog API
­ A catalog that represents collections, files, and locations ­ Given a logical filename, at which locations can the file be found? ­ Given a collection, which logical files exist?

l

Replica Management API
­ A set of functions for registering files in the replica catalog, publishing files to locations, adding/removing replicas at other locations ­ Uses Replica Catalog and GridFTP

March 25, 2002

Globus ToolkitTM Developer Tutorial: Data

59