Man Linux: Main Page and Category List

NAME

       bw_pipe - time data movement through pipes

SYNOPSIS

       bw_pipe [ -m <message size> ] [ -M <total bytes> ] [ -P <parallelism> ]
       [ -W <warmups> ] [ -N <repetitions> ]

DESCRIPTION

       bw_pipe creates a Unix pipe between two processes and moves total bytes
       through  the pipe in message size chunks (note that pipes are typically
       sized smaller than that).  The default total  bytes  is  10MB  and  the
       default message size is 64KB.

OUTPUT

       Output     format     is     "Pipe    bandwidth:    %0.2f    MB/sec\n",
       megabytes_per_second, i.e.,

       Pipe bandwidth: 4.87 MB/sec

MEMORY UTILIZATION

       This benchmark can move up  to  six  times  the  requested  memory  per
       process.   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).

ACKNOWLEDGEMENT

       Funding   for  the  development  of  this  tool  was  provided  by  Sun
       Microsystems Computer Corporation.

SEE ALSO

       lmbench(8).

AUTHOR

       Carl Staelin and Larry McVoy

       Comments, suggestions, and bug reports are always welcome.

(c)1994 Larry McVoy                 $Date$