| User Support & Documentation | ||||||||||||||
Data: How to Initiate Transfers: GridFTP ClientsOn this pageIf you intend to run applications across multiple TeraGrid sites, you'll want to authenticate with Single Sign-on at the beginning of each compute or data transfer session. See the Access Overview page to choose a method and setup. Related Links
Need Help?GridFTP is a high-performance, secure, reliable data transfer protocol optimized for high-bandwidth, wide-area networks. TeraGrid has three clients which utilize GridFTP (click on the client name to see more information and examples of that method):
Refer to the GridFTP Server Deployment by Site table for GridFTP information for each site, including host names and bandwidth information. For more information on CTSS kits that support GridFTP, see the CTSS documentation. GridFTP provides the following protocol features:
What GridFTP is NotGridFTP is not a command; there is no client program named GridFTP. Some confusion may arise from recommendations to "use GridFTP to transfer your files." This actually means that the user should choose a client that uses the GridFTP protocol. (See UberFTP, globus-url-copy, or tgcp below.) The source and destination arguments may be URLs, local files, or standard input/output. The following table shows some acceptable values for these arguments:
UberFTPUberFTP is an interactive GridFTP file transfer client. In addition to standard FTP client mechanics, UberFTP supports GSI authentication, parallel data channels and striping. Using UberFTP opens a session within which files may be transfered and directories and files may be manipulated. UberFTP on the TeraGrid requires GSI authentication; that is, the user must use an active proxy session. Some users prefer UberFTP over globus-url-copy because the syntax is less verbose and less prone to typographical errors. However, globus-url-copy is more versatile for embedding data transfers into job scripts. To find TeraGrid resources that support UberFTP, and for details about specific versions, please view the CTSS documentation. Usage uberftp [-?] [-d]
[ host [-P port] [-a auth] [-c N] [-t type] ]
uberftp [-?] [-d] host [-P port] [-a auth]
[-c N] [-t type] "cmd"
uberftp -v
Options
host Connect to host
-P port Connect to port (default 2811 for GSI)
-a auth Use auth authentication (default is GSI)
-c N Use N parallel data connections. Defaults to 1.
-t type Use ASCII or BINARY transfer type. Valid type options
are 'a' (ASCII) or 'b' (BINARY). Default is BINARY.
cmd This specifies the FTP commands to run once the control
connection is establish. This list must be enclosed
in quotes. Multiple commands are semicolon delimited
uberftp will execute these commands and then exit
-v Print version information and exit
-? Print this help message
-d Turn on debug (verbose) output
A few commands are listed below for convenient reference.
Optimization ParametersThe example below shows starting an UberFTP session and settiing transfer parameters for normal network traffic: tg-login1> uberftp Example showing parameters when experiencing high network traffic: tg-login1> uberftp For more information on UberFTP, please see the NCSA uberFTP home page. See additional DMOVER documentation. globus-url-copyThe globus-url-copy client program is a GridFTP client for transfering files from the command line. It is not an interactive command. Because it is a command line client, no feedback is provided after the command is executed. It is the client of choice for embedding transfers in job scripts. It is a part of globus-client, a required component of the CTSS Application Development and Runtime Support Capability Kit. As such, it is available on all resources which support that kit. You can search for more information in the CTSS documentation. Usage
Optimization ParametersTo optimize performance of data transfers using this client:
-tcp-bs <size> | -tcp-buffer-size <size>
-p <parallelism> | -parallel <parallelism> Based on file transfer trials, using 1 parallel stream and 8 MB buffer should provide optimum performance. For extremely large files (>X GB) or with high network traffic, you may wish to change the number of parallel streams to 2 and the buffer size to 4MB. (N.B., that the product of these two parameters should remain 8.) ExamplesCopying a local text file to SDSC: % globus-url-copy file:`pwd`/prog.c \ Getting a file from NCSA's mass storage system, (command issued from tg-login.ncsa.teragrid.org): globus-url-copy gsiftp://mss.ncsa.uiuc.edu/~/prog.c \ tgcpThe transfer command tgcp is a command-line user tool intended to provide high-performance file transfer, while simplifying efficient copying of files and directories between and within GridFTP enabled clusters. tgcp is a wrapper for globus-url-copy and RFT (Reliable Transfer Service), providing options such as '-big', for a striped globus-url-copy, and '-rft', to manage transfers using RFT. The tgcp wrapper invokes third-party transfers between GridFTP servers at the TeraGrid source and the TeraGrid destination sites. Because an administrator maintains configuration files describing optimal TCP buffer sizes for specific TeraGrid host/domain source-destination pairs, users do not need to enter these values. Striped GridFTP, RFT, and tgcp clients are available on all TeraGrid resources. Please be advised that tgcp, although currently a required component of the CTSS Application and Development Runtime Kit, is deprecated, and therefore not guaranteed to work correctly on all TeraGrid resources. It will soon become an optional component and disappear from some resources. The recommended GridFTP copy clients to use for most resources are UberFTP and globus-url-copy. ExamplesThe following examples show four methods of using tgcp to transfer files. Transfer of files larger than 100 MB using the "-big" optionThe following example describes a transfer of the file "bigfile" from the local site to the site specified in the command (in this case, SDSC). The option "-big" designates a striped transfer and should always be used to transfer files larger than 100 MB. tgcp -big FILENAME tg-login.sdsc.teragrid.org:/users/USERNAME/FILENAME.dest Using Globus RFT (Reliable Transfer Service)RFT is a service that performs third party transfers on behalf of the requester. The benefits to using RFT are performing third party GridFTP transfers for the user on a separate server, transfering entire directories, performing multiple transfers in parallel, and automatically retrying individual transfers if they fail. This last feature ensures that the TGCP operation completes regardless of whether the user waits for it to complete or not. tgcp -rft FILENAME /disks/scratchgpfs1/USERNAME/FILENAME.onscratch Transfer of a small fileThe following example describes a transfer of the file "smallfile" from the local site to the site specified in the command (in this case, SDSC): tgcp FILENAME tg-login.sdsc.teragrid.org:/users/USERNAME/FILENAME.dest When transferring large files the '-big' option should be used as a hint that tgcp should use high-performance file transfer methods. Since high-performance file transfer methods may have a higher startup cost, this option should not be used for small transfers. Local home to local scratch transferThe following example describes a transfer of the file "bigfile" from the local site to local scratch. The option "-stripe" designates a striped transfer: tgcp -stripe FILENAME /disks/scratchgpfs1/USERNAME/FILENAME.onscratch The current method for improving performance when '-big' is specified is using striped GridFTP, which is equivalent to the '-striped' option in globus-url-copy. tgcp supports the '-stripe' option for users who are familiar with globus-url-copy. |
||||||||||||||
![]() |
![]() |
|
The TeraGrid project is funded by the National Science Foundation
and includes 11 partners: Please email help@teragrid.org with questions or comments. |
||
![]() |
![]() |