GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
BW_PIPE(8) LMBENCH BW_PIPE(8)

bw_pipe - time data movement through pipes

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

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 format is "Pipe bandwidth: %0.2f MB/sec\n", megabytes_per_second, i.e.,

Pipe bandwidth: 4.87 MB/sec

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).

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

lmbench(8).

Carl Staelin and Larry McVoy

Comments, suggestions, and bug reports are always welcome.

$Date$ (c)1994 Larry McVoy

Search for    or go to Top of page |  Section 8 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.