Skip to main content

LMbench

LMbench (version 3) is a suite of simple, portable benchmarks ANSI/C microbenchmarks for UNIX/POSIX. In general, it measures two key features: component bandwidth and latency. LMbench is intended to provide system developers insights into basic performance and costs of key system operations.

System Requirements

The following section provides special considerations required for the system on which the LMbench workload will be run.

  • Physical Memory = 16 GB minimum
  • Disk Space = At least 20 MB of free space on the OS disk

What is Being Tested?

The following performance analysis tests are ran as part of the LMbench workload. Note that although LMbench runs benchmarks covering various aspects of the system, the memory performance benchmarks are the ones that are most interesting for net impact analysis.

http://www.bitmover.com/lmbench/man_lmbench.html

Bandwidth BenchmarkDescription
Cached file readMeasures times for reading and summing a file
Memory copy (bcopy)Measures memory copy operation speeds
Memory readMeasures memory read operation speeds
Memory writeMeasures memory write operation speeds
PipeMeasures data movement times through named pipes
TCPMeasures data movement times through TCP/IP sockets
Latency BenchmarkDescription
Context switchingMeasures context switching time for processes on the system
Networking: connection establishment, pipe, TCP, UDP, and RPC hot potatoMeasures inter-process connection latency via communications sockets
File system creates and deletesMeasures file system create/delete performance
Process creationMeasures the time the system takes to create new processes
System call overheadMeasures the time it takes to make simple operating system calls
Memory read latencyMeasures memory read latency

Workload Metrics

The following metrics are examples of those captured by the Virtual Client when running the LMbench workload.

Metric NameExample Value (min)Example Value (max)Example Value (avg)Unit
ProcessorTimes-Mhz249424942494Mhz
ProcessorTimes-null call3.413.413.41microseconds
ProcessorTimes-null I/O3.583.583.58microseconds
ProcessorTimes-stat4.464.464.46microseconds
ProcessorTimes-open clos9.549.549.54microseconds
ProcessorTimes-slct TCP7.017.017.01microseconds
ProcessorTimes-sig inst3.587.017.01microseconds
ProcessorTimes-sig hndl9.629.629.62microseconds
ProcessorTimes-fork proc370370370microseconds
ProcessorTimes-exec proc946946946microseconds
ProcessorTimes-sh proc228122812281microseconds
BasicInt-intgr bit0.270.270.27nanoseconds
BasicInt-intgr add0.10.270.27nanoseconds
BasicInt-intgr mul0.010.010.01nanoseconds
BasicInt-intgr div7.237.237.23nanoseconds
BasicInt-intgr mod7.237.237.55nanoseconds
BasicFloat-float add2.412.412.41nanoseconds
BasicFloat-float mul2.412.412.41nanoseconds
BasicFloat-float div2.416.426.42nanoseconds
BasicFloat-float bogo6.836.836.83nanoseconds
BasicDouble-double add2.412.412.41nanoseconds
BasicDouble-double mul2.412.412.41nanoseconds
BasicDouble-double div9.259.259.25nanoseconds
BasicDouble-double bogo9.679.679.67nanoseconds
CommunicationBandwidth-AF UNIX4242.04633.04471.421052631579MB/s
CommunicationBandwidth-Bcopy (hand)3974.34541.94446.0999999999999MB/s
CommunicationBandwidth-Bcopy (libc)7753.38069.67936.668421052632MB/s
CommunicationBandwidth-File reread5077.35358.95291.463157894737MB/s
CommunicationBandwidth-Mem reread8005.08406.08251.473684210527MB/s
CommunicationBandwidth-Mem write6262.06702.06591.315789473684MB/s
CommunicationBandwidth-Mmap reread7987.98240.28100.952631578946MB/s
CommunicationBandwidth-Pipe2114.02461.02357.2631578947368MB/s
CommunicationBandwidth-TCP2920.03757.03350.157894736842MB/s
CommunicationLatency-2p/0K ctxsw10.513.411.742105263157895microseconds
CommunicationLatency-AF UNIX0.00.00.0microseconds
CommunicationLatency-Pipe0.00.00.0microseconds
CommunicationLatency-RPC/TCP0.00.00.0microseconds
CommunicationLatency-RPC/UDP0.00.00.0microseconds
CommunicationLatency-TCP35.541.537.52105263157895microseconds
CommunicationLatency-TCP conn22.066.038.89473684210526microseconds
CommunicationLatency-UDP30.135.432.71578947368421microseconds
ContextSwitching-16p/16K ctxsw11.314.813.173684210526315microseconds
ContextSwitching-16p/64K ctxsw12.315.813.942105263157897microseconds
ContextSwitching-2p/0K ctxsw10.513.411.742105263157895microseconds
ContextSwitching-2p/16K ctxsw9.6613.911.792631578947369microseconds
ContextSwitching-2p/64K ctxsw10.514.411.715789473684211microseconds
ContextSwitching-8p/16K ctxsw11.114.212.88421052631579microseconds
ContextSwitching-8p/64K ctxsw11.415.213.605263157894737microseconds
FileVmLatency-0K File Create6.651815.98.161615789473684microseconds
FileVmLatency-0K File Delete4.62058.94586.006173684210525microseconds
FileVmLatency-100fd select0.00.00.0microseconds
FileVmLatency-10K File Create13.221.316.194736842105266microseconds
FileVmLatency-10K File Delete6.827222.19.763121052631576microseconds
FileVmLatency-Mmap Latency62500.0322800.084189.47368421052microseconds
FileVmLatency-Page Fault0.00.00.0Count
FileVmLatency-Prot Fault0.00.00.0Count
MemoryLatency-L11.1381.1611.1445789473684208nanoseconds
MemoryLatency-L27.9359.5718.73215789473684nanoseconds
MemoryLatency-Main mem28.730.029.22631578947368nanoseconds
MemoryLatency-Mhz-1.01801.0932.5263157894736Mhz
MemoryLatency-Rand mem0.0119.097.67894736842107nanoseconds