lat_rpc - measure interprocess communication latency via Sun RPC
lat_rpc [ -P <parallelism> ] [ -W <warmups> ] [ -N <repetitions> ] [ -p
tcp|udp ] hostname [ udp|tcp ]
lat_rpc -S hostname
lat_rpc is a client/server program that measures interprocess
communication latencies. The benchmark passes a token back and forth
between the two processes (this sort of benchmark is frequently
referred to as a ‘‘hot potato’’ benchmark). No other work is done in
This benchmark may be compared to the TCP and UDP forms of the same
benchmark to accurately see the cost of using RPC versus the cost of
using plain old TCP or UDP sockets. It is worth noting that the RPC
form is passing back and forth a single byte, not some long complicated
lat_rpc has three forms of usage: as a server (-s), as a client
(lat_rpc localhost), and as a shutdown (lat_rpc -S localhost).
The client form may specify the protocol over which the RPCs are
performed. The default is to measure performance for both udp and tcp.
The reported time is in microseconds per round trip and includes the
total time, i.e., the context switching overhead is includeded. Output
format is like so
RPC/udp latency using localhost: 1344 microseconds
RPC/tcp latency using localhost: 2089 microseconds
Funding for the development of this tool was provided by Sun
Microsystems Computer Corporation.
Carl Staelin and Larry McVoy
Comments, suggestions, and bug reports are always welcome.
(c)1994 Larry McVoy $Date$