bw_pipe - time data movement through pipes
Contents
Acknowledgement
Funding for the development of this tool was provided by Sun Microsystems Computer Corporation.
Description
bw_pipe creates a Unix pipe between two processes and moves totalbytes through the pipe in messagesize
chunks (note that pipes are typically sized smaller than that). The default totalbytes is 10MB and the
default messagesize is 64KB.
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).
Name
bw_pipe - time data movement through pipes
Output
Output format is "Pipebandwidth:%0.2fMB/sec\n",megabytes_per_second, i.e.,
Pipebandwidth:4.87MB/secSee Also
lmbench(8).
Synopsis
bw_pipe [ -m<messagesize> ] [ -M<totalbytes> ] [ -P<parallelism> ] [ -W<warmups> ] [ -N<repetitions> ]
