Live data from Hacker News

How to transfer large amounts of data via network

moo.nac.uci.edu

1–10 of 27 posts

Re: How to transfer large amounts of data via network

#3
Having transferred petabytes of data in tens of millions of files over the past months let me assure you there's only one tool that you really need: GNU parallel.

Whether you copy the individual files with ftp, scp or rsync is largely irrelevant. The network is always your ultimate bottleneck. Using a slower copy-tool just means having to set a slightly higher concurrency in order to max it out.

Re: How to transfer large amounts of data via network

#4
The primary advantage GridFTP has over simply using tar+netcat for performance is that GridFTP can multiplex transfers over multiple TCP connections. This is helpful as long as the endpoint systems limit the per-connection buffer size to some value less than the bandwidth-delay product (BDP) between them. If you've got to bug sysadmins to get GridFTP set up for you on both endpoints, you might as well just ask them to increase the maximum TCP buffer size to match the BDP.

EDIT: Sorry, "multiplex" is not the right word to describe that. It's more like GridFTP "stripes" files across multiple connections; it divides the file into chunks, sends the chunks over parallel connections, and reassembles the file at the destination.

Re: How to transfer large amounts of data via network

#5
If you have to regularly transfer large amounts of data over a network, it might be worth looking into a wan optimization product like Riverbed's Steelhead, Silverpeak's VX/NX lines, or Bluecoat Mach 5, or one of the other vendors' solutions.

Yeah, you could try and roll it yourself, since really it just comes down to compressing and deduplicating what you send over the wire, but doing that well and also making it simple to use is not a trivial problem. Why reinvent the wheel badly?

Re: How to transfer large amounts of data via network

#6
post #5

If you have to regularly transfer large amounts of data over a network, it might be worth looking into a wan optimization product like Riverbed's Steelhead, Silverpeak's VX/NX lines, or Bluecoat Mach 5, or one of the other vendors' solutions. Yeah, you could try and roll it yourself, since really it just comes down to compressing and deduplicating what you send over the wire, but doing that well and also making it si…

There's not many situations where these types of products help, in my experience. Especially for the type of data that's going to be transferred between UCI and the Broad. Enterprise compute data, cached webpages, etc., may have a good amount of deduplication capacity.

But for actual "data," being measurements etc, these products will achieve nothing. The data itself almost never has any duplicated chunks, and if there are petabytes of data, it's almost certainly stored in some sort of compressed format already.

Re: How to transfer large amounts of data via network

#8
post #3

Having transferred petabytes of data in tens of millions of files over the past months let me assure you there's only one tool that you really need: GNU parallel. Whether you copy the individual files with ftp, scp or rsync is largely irrelevant. The network is always your ultimate bottleneck. Using a slower copy-tool just means having to set a slightly higher concurrency in order to max it out.

For bulk transfer of many files, and especially transfer over a local/nearby network that may be hold true, but as a general practice, and especially for serial/one off transfer of very large files, GNU parallel won't help. However, all the tools mentioned multiplex connections. They are better for transferring individual files, and you can also use them in parallel.

A combination of your network, a CPU threads, frame size, etc... are your ultimate bottleneck when you are transferring very large files.

We've transferred exabytes using bbcp and GridFTP. bbcp is very easy to use once it's set up.

At some point, you run into much different issues when trying to routinely transfer very large files across continents at speeds greater than 10Gbps.

Re: How to transfer large amounts of data via network

#9
post #2

Never underestimate the bandwidth of a station wagon full of tapes hurtling down the highway.

This only holds true so long as all data is on tape and you don't need a replica before sending it off, in case someone hits your petamobile.

That's because your bandwidth is limited by your tape library, the drives, the network to your tape library, the latency of retrieving/writing/copying to tape, and few other things.

Post reply on HN