[Beowulf] copying big files (Henning Fehrmann)

Henning Fehrmann henning.fehrmann at aei.mpg.de
Mon Aug 11 09:45:02 PDT 2008


Hi,

I found some time to play with dolly and nettee. They do what I was
looking for. Thank you for the hints.

> > I will say that my dream would be for something like dolly to get some
> sort
> > of transfer recovery mechanism, though I realize that would be quite
> > difficult in such a topology. 
> 
> nettee has some failover and continuation capabilities at different
> points - but not what I think you want. The development version has a
> few extra modes for cases where data is being merged, but that isn't
> relevant to this discussion. When setting up the initial chain nettee
> can connect to an alternate node (from a list of failovers) if the
> target node will not answer.  It also has the ability to keep going if
> the local disk becomes unwritable, and it can continue a download on a
> chain down to the node above the point of failure. 
> 
> However, nettee cannot at present rewire around a failed node to
> continue a download to the node(s) below it.  That would indeed be quite
> difficult, since one could have a situation like this:
> 
>   A -> B  (A knows it has sent 100MB)
>   B -> C  (B knows it has sent  98MB, then it blows up)
>   C       (C knows it has received 98 MB)
> 
> A and C will eventually figure out that B has died, and they could
> conceivably negotiate a new connection, but A may no longer have the
> missing 2 MB (it might have been sent out a pipe, processed, and not
> stored in the raw state anywhere.)  On the other hand, the development
> version uses ring buffers, and one could set those to be very large,
> enabling a certain level of "redo" from A.  So if C comes back and says
> "I only have 98MB" A can see if it has the missing parts and go on if it
> does.  It still might not though.  If B has stalled for long enough
> the ring buffer on A may have completely filled from the previous node,
> overwriting the data needed to recover.  I guess it would be possible to
> implement a "safety region" in the ring buffer which could not be
> overwritten.
> 

I spread successfully a 10G file to 50 nodes. The rate was 140Mb/s for nettee and a bit slower using  dolly.
I guess it was due to a busy node somewhere in the chain.  
Increasing the number of clients up to 100 failed in both cases.

For nettee I got:
nettee: fatal error writing to child: Connection reset by peer

for dolly:
Sent MB: 40, MB/s: 66.752, Current MB/s: 35.710      movebytes
read/write: Connection
 reset by peer
         errno = 104

I will do more systematic test the next days. 
David Mathog, are you interested in bug reports?

Cheers,
Henning Fehrmann



More information about the Beowulf mailing list