Man Linux: Main Page and Category List


       bw_tcp - time data movement through TCP/IP sockets


       bw_tcp  [ -m <message size> ] [ -M <total bytes> ] [ -P <parallelism> ]
       [ -W <warmups> ] [ -N <repetitions> ] server
       bw_tcp -s
       bw_tcp -S <server>


       bw_tcp is a client/server program that moves data over a TCP/IP socket.
       Nothing  is  done  with the data on either side; total bytes of data is
       moved in message size chunks.

       bw_tcp has three forms of usage: as a server (-s), as a client  (bw_tcp
       localhost), and as a shutdown (bw_tcp -S localhost).

       The  default  amount  of  data  is 10MB.  The client form may specify a
       different amount of data.  Specifications may end with ‘‘k’’  or  ‘‘m’’
       to mean kilobytes (* 1024) or megabytes (* 1024 * 1024).


       Output format is Socket bandwidth using localhost: 2.32 MB/sec


       This  benchmark  can  move  up  to  six  times the requested memory per
       process when run through the loopback device.  There are two processes,
       the   sender  and  the  receiver.   Most  Unix  systems  implement  the
       read/write system calls as a bcopy from/to kernel  space  to/from  user
       space.  Bcopy will use 2-3 times as much memory bandwidth: there is one
       read from the source and  a  write  to  the  destionation.   The  write
       usually results in a cache line read and then a write back of the cache
       line at some later point.  Memory utilization might be reduced  by  1/3
       if  the processor architecture implemented "load cache line" and "store
       cache line" instructions (as well as getcachelinesize).


       Funding  for  the  development  of  this  tool  was  provided  by   Sun
       Microsystems Computer Corporation and Silicon Graphics, Inc.




       Carl Staelin and Larry McVoy

       Comments, suggestions, and bug reports are always welcome.

(c)1994 Larry McVoy                 $Date$