I'm using Ubuntu 9.10 and I have two big external USB HDDs connected to 
this one computer.  I thought I'd copy about 70 GB of data from one to the 
other.  This was a major problem -- it slowed the system to a crawl and it 
could only move about 100 MB per minute between the drives.  It was going 
to take 12 hours to copy the files.  Meanwhile I couldn't use the machine. 
So I killed the job half way through.

Next I tried copying files from one HDD to a supercomputer on our 
University network.  It copied 32.2 GB across the network in 85 minutes, 
so it was about 4 times as fast as copying from one drive to another on 
the same machine.  Also, it had a minimal effect on my experience as a 
user while it was moving the files.

Then I tried to copy the files from the remote machine back to the other 
external USB HDD.  This was having a big impact on performance, but it was 
fairly fast -- the files were coming back at the same speed that they had 
gone out.

Thus, this...

External HDD #1  -->  remote machine  -->  External HDD #2

...was about twice as fast as this...

External HDD #1  -->  External HDD #2

There's something very wrong with a system that works that way.  If I had 
enough space on my internal HDD, I'd do this and probably get even better 
results:

External HDD #1  -->  Internal HDD  -->  External HDD #2


Another crazy thing is that it must have been really killing my CPU 
because I could hardly do anything else while the drive-to-drive USB 
transfer was active, but programs like "ps aux" and "top" (both of which 
literally took minutes to launch) seemed to show that almost nothing was 
happening.  Why is that?

Mike