File Transfer
File Transfer Software
There are several options for choosing a software to transfer files to and from HPRC clusters. The choice is largely depending on many factors, such as size, location, transfer frequency, etc. If the data size is small (transfer time is less than an hour), just pick a software convenient/familiar to you.
Globus Connect
Globus Connect is a reliable, high-performance file transfer platform allowing users to transfer large amounts of data seamlessly between systems or endpoints. Users can schedule transfer via a web interface on globus.org and receive notification after transfer is completed. The endpoint can be systems with Globus installed (like grace-dtn) or user's personal desktop.
- What Globus Connect is good at
- transfer large amount of data (say 100+ GB)
- it's fast (utilizing up to 4 data streams); as fast as the slowest link from your server/desktop/laptop to HPRC fast transfer nodes
- transfer files between two endpoints (for example, between Grace and ACES, or between Grace and endpoint on your laptop)
- personal endpoint works behind NAT (Network Address Translation; like your desktop behind a wifi router at home)
- resume for failed transfers
- can sync directories (similar to rsync)
- receive a email notification after a scheduled transfer is completed
- What Globus Connect is not good at
- your server or desktop/laptop must have Globus Connect software installed and setup as an endpoint
- ~~by default, data stream is not encrypted~~ encryption has been turned on by default as of Jan 14, 2021
- How do I use Globus Connect
- visit Globus Connect wiki page for more information
- Globus Connect software is supported on Windows, Mac, and Linux.
- use endpoints: "TAMU grace-dtn" for Grace cluster, "ACCESS TAMU ACES DTN" for ACES cluster, and "TAMU FASTER DTN1" or "ACCESS faster.tamu.access-ci.org" for FASTER cluster (corresponding to your authentication method)
SCP/SFTP
SCP and SFTP protocols are a means of securely transferring computer files between a local host and a remote host.
- What SCP/SFTP is good at
- ubiquitous; simple to use
- sftp offers an interactive interface (command line) to download/upload files
- data stream is encrypted
- What SCP/SFTP is not good at
- not very fast (file transfer only uses one data stream over SSH protocol)
- How do I use SCP/SFTP
- you can use command line on Linux, Mac or MobaXterm terminal to issue scp/sftp command
- use WinSCP on Windows, FileZilla (use SFTP protocol) on Windows or Mac, or use File Transfer panel on MobaXterm. See instruction on file transfer from Windows. Also, check instructions on using SCP/SFTP software with Duo.
- HPRC cluster login nodes have 60 minutes CPU time limit. Your data transfer might get interrupted for moving large amount of data. To by pass this problem, use rsync or use data transfer nodes ("grace-dtn1.hprc.tamu.edu", "grace-dtn2.hprc.tamu.edu" for Grace), which do not have CPU time limit.
- check scp man page and sftp man page for options and examples
FTP
File Transfer Protocol (FTP) protocol is used to transfer files between a client a server. FTP is not as popular as it was. NCBI still uses FTP to transfer data. FTP protocol transfers user name, password, and data unencrypted. Users should choose FTPS, whose password is transferred over encrypted channel, whenever possible.
- What FTP is good at
- FTP client offers an interactive interface (command line) to download/upload files
- data stream is not encrypted, thus data transfer rate is faster than SCP/SFTP
- What FTP is not good at
- FTP protocol doesn't encrypt password and data transfer, thus less secure
- require FTP server at remote server
- How do I use FTP
- lftp is available on Grace as a module. Run "module load lftp" to load the module.
- On DTN nodes, you can lunch lftp via absolute path. To find the up-to-date path of lftp, first run "module load lftp" on Grace login nodes, then run "which lftp" to find the path of lftp.
rsync
rsync is a fast, versatile, remote (and local) file-copying tool and recommended when relatively few differences exist between target and source versions, because rsync copies only the differences of files that have actually changed. By default, rsync uses the SSH remote shell.
- What rsync is good at
- resume file transfer for partial transferred file
- synchronize files/dirs of two directories (local-local, local-remote, remote-local)
- by default, transfer is over SSH protocol, so data stream is encrypted
- What rsync is not good at
- by default, files transferred over SSH which uses only one data stream and not very fast
- compression option, "-z", might not shorten the transfer time
- How do I use rsync
- from command line on Linux, Mac, or MobaXterm terminal to issue rsync command
- use DeltaCopy or Grsync on Windows
- use cwRsync client for command line on Windows. Sample commands of using cwRsync.
- check rsync man page for options and examples
- For large files (100G+), you can use additional parameters with rsync to shorten the time to resume transfer after rsync transfer was interrupted. This example uses Grace DTN as the target host.
rsync -av --partial --inplace --append --progress my_file NetID@grace-dtn1.hprc.tamu.edu:/scratch/user/NetID/
rclone
rclone is a tool for syncing files from HPRC systems to remote storage sites like Google Drive, Dropbox, Amazon's AWS and many more.
- What rclone is good at
- copy data to or from cloud (Google Drive, Dropbox, AWS, etc)
- What rclone is not good at
- transfer can be slow
- How do I use rclone
- rclone is available on grace and HPRC Lab workstations. No module is required for any of them
- reference rclone wiki page for instructions and examples
gdown
gdown is an alternative tool for downloading public files/folders from Google Drive, providing an easy-to-use alternative to curl or wget.
This software is available on ACES, FASTER, Grace, and Launch:
module spider gdown
Basic Usage:
gdown https://drive.google.com/uc?id=FILEID
Additional usage information can be found on here.
This software can also be installed in a personal python virtual environment (see here):
# After creating and activating your virtual environment, install gdown
pip install gdown
portal
HPRC Portal (OnDemand) is a web platform through which users can access HPRC clusters and services with a web browser. You can download/upload file via menu "Files".
- What portal is good at
- web interface and simple to use
- you can view content (text, image, movie) via web browser
- What portal is not good at
- transfer large files >2GB
- transfer can be slow (file is transfer via single data stream)
- How do I use portal
- visit https://portal.hprc.tamu.edu to choose a cluster, or visit https://portal-grace.hprc.tamu.edu for Grace portal.
- check portal wiki page for additional info
- portal is CAS authenticated
Tutorial Videos
- File transfer using WinSCP, MobaXterm, Filezilla, Cyberduck, and Open OnDemand portal (March 12, 2021)
- File Transfers using Globus Connect (May 13, 2021)
Host selection
For transferring large files, selecting a better target host could greatly shorten the data transfer time. TAMU firewall scanning adds a significant overhead to the data transfer flow through campus firewall. The table below gives a general guidance of selecting target hosts for your transfer. The transfer speed is rated "Very Good", "Good+" (a bit better than "Good"), "Good" and "Fair".
src/dest |
Grace login |
Grace DTN |
---|---|---|
on TAMU campus network |
Very Good |
Very Good |
at home via TAMU VPN |
Good+ |
Good+ |
HPRC cluster login |
Very Good |
Very Good |
HPRC cluster FTN/DTN |
Fair |
Very Good |
TACC cluster login |
- |
Very Good |
other HPC sites |
- |
Very Good |
Comments:
- Unless it's noted, ssh, scp/sftp, and rsync can be used for data transfer.
- Globus Connect can be used to move files between HPRC clusters and other HPC sites. Globus Connect command line can be used on FTN/DTN.
- Grace DTNs and all HPRC cluster login nodes are behind campus firewall.
Other Considerations
- What is the best way to move my files between HPRC clusters?
Globus Connect is the best option. Use rsync if you want sync a directory between two clusters and only a few files changed/added, or some files were partially transferred / changed.
- I am off campus or travel abroad. Can I transfer files from/to HPRC cluster?
All Grace login nodes are behind TAMU campus firewall, so TAMU VPN access is required if you are off campus. If you have personal Globus Connect endpoint setup on your laptop, you can transfer files to/from your laptop via globus.org using Globus Connect, without using TAMU VPN.
- Should I use DTN or regular Grace login nodes to transfer files?
Please see table in Host selection for a quick summary.
All Grace login nodes (grace.hprc.tamu.edu) have 10 Gbps links to HPRC edge switches, which have dual 10 Gbps link to campus network.
For short file transfer (less than one hour), either data transfer or login nodes would work. For transfer time over 1 hour, please use data transfer nodes (grace-dtn1.hprc.tamu.edu or grace-dtn2.hprc.tamu.edu for Grace cluster), which do not have one hour CPU process time limit. Use rsync when possible, as rsync supports resume transfer, or use Globus Connect if moving files between two clusters.
If you are on campus or transfer small files over VPN, please use Grace login nodes (grace.hprc.tamu.edu) to transfer your data. If you are off campus, please consider using Globus Connect to transfer your data.
If you are using clusters at TACC, you can scp/sftp/rsync to FTN or use Globus Connect.
- Can I download files from internet (say NIH) inside a job script?
Grace compute nodes do not have access to internet, so you cannot download files from internet on the compute node. Please set up web proxy in your job script or download necessary files on Grace login nodes or DTN nodes.
- I want to back up files to my desktop/laptop.
rsync or rclone (to cloud storage) probably the best choice.
- Can I mount my Grace home/scratch directory on my desktop/laptop to transfer files?
SSHFS is the best option.
- I have 100+ TB data to transfer.
Please contact us at help@hprc.tamu.edu. We would like to get more information first and see how we can support this.
- Why the file transfer takes so long?
This is a complicated question. The file transfer time is largely depended on data size, bandwidth of the slowest link from HPRC cluster to your desktop (bottleneck link), how congested/busy the network link is, and how fast file system can read/write. For 100 Giga Bytes data transferred over a 100 Mbps link, it will take about 170 min under the best case scenario (80% efficiency, no cross traffic and no I/O bottleneck). Often, link speed of network to your desktop/laptop (the last mile) and storage on your desktop/laptop are the slowest part for the entire file transfer.
The transfer rate of medium for storing files (spinning disk, SSD, external disk via USB) could be a limiting factor. Spinning hard drive typically has a limit of 30~50 MB/sec transfer rate. Most USB storage (like USB sticks, USB external drive) cannot transfer at max speed of USB standard (USB 2.0 of 60 MB/sec and USB 3.0 of 640 MB/sec). When assess overall data transfer rate, be aware of transfer limit from combinations of storage speed, storage to computer interface (like USB), network link speed (Wifi or Ethernet), CPU speed (CPU can process limited number of file system access requests), and internet connecting speed of your laptop/desktop. Making a few test transfers with small data set can help you make a (more) reasonable transfer time for a larger data set.
Number of data transfer streams would make a difference as well. Globus Connect utilizes up to 4 data streams to shorten the transfer time (more noticeable for large files; typically seeing 2.5x speedup).
- I don't see the answer for my file transfer issues.
Please contact us at help@hprc.tamu.edu with details of your questions.