[Spread-users] Tuning spread's performance for multicast

Ryan Caudy caudy at jhu.edu
Fri Apr 4 17:27:35 EST 2003

I've read your test script, to see what if this gave me any insight into 
your problem.  I don't know the python language, but it seems 
straightforward enough to see what you are doing.

There is no flow control present.  Typically this might be a bad thing, 
but at this point its not causing a problem, or you would be seeing 
disconnects from Spread.

I'm concerned by a couple of things.  First, there is a sleep (for what 
I guess is 1 second)... depending on how you're determining throughput, 
this could potentially skew the results if the file your sending is 
fairly small.

Second, your script (when pushing) reads 100,000 bytes, then sends them, 
in a loop.  While sending the largest messages possible does avoid some 
overhead (since Spread has headers on a per-message basis, and breaks 
up/reassembles messages into/from UDP packets by itself), it may 
potentially be costly if your file read is the bottleneck (for instance, 
over a slow NFS).  Could you add timing to see (a) how long the read 
operations take for push, and (b) how much time a call to receive takes 
in pull()?  If possible, doing I/O multiplexing through an interface 
like select() (in Unix C programming) might let you get a more accurate 
estimate of the inter-arrival time of these messages... if this is much 
different from the time for a file read in push(), then it will help to 
isolate the problem as a networking issue.


Guy Argo wrote:
> I'm using Spread (under python) for a file delivery system.
> Basically I want to deliver several large files to multiple destinations
> simultaneously preferably multicasting them to minimize
> network usage. I attached my crude little python test bed.
> I got it to work and tested it on two machines on the same
> subnet and the performance was underwhelming.
> I achieved sustained throughput of 40KB/s for data sent using
> multicast with RELIABLE_MESS and FIFO_MESS protocols.
> The machines both have 100 Mb cards.
> FTP achieved 600 KB/s.
> Do you have any recommendations about how to tune
> Spread to increase the performance?
> I couldn't find anything in the doc. :(
> ---
> Guy Argo <gargo at looksmart.net> ph +1 415 348 7683
> Director, Production Engineering 
> LookSmart Ltd., 625 2nd St., SF CA 94107
>  <<pushpull.py>> 

More information about the Spread-users mailing list