dd Texas Memory System Benchmarks
A set of basic I/O Benchmarks were run testing read and write performance for large file
transfers between an IBM H70 machine and the TMS RAM-SAN.
All reads and writes used a file size of 4 GB. This assured the flushing of
all system caches.
Other Considerations:
-
The UNIX utility dd was used for all I/O. Reads were done from the raw
disk (e.g., rhdisk10) to /dev/null. Writes were from /dev/zero to the raw
logical volume (e.g., rlv10). The dd block sizes tested were: 16
KB, 32 KB, 64 KB, 128 KB, 256 KB, 512 KB, 1024 KB, and 2048 KB.
Example:
read: dd if=/dev/rhdisk10 of=/dev/null bs=256k count=16000
write: dd if=/dev/zero of=/dev/rlv10 bs=128k count=32000
Multiple reads or writes were launched 5 seconds apart. For the concurrent
reads and writes (3 or 10) to more than one LUN, the I/O operations were
alternated between the LUNs. For example, a read to LUN A, followed by
a read to LUN B, etc.
Results & Analysis:
Single or concurrent reads were consistent with other benchmarks we have performed
on fibre channel disk arrays. There was little no difference in performance.
(See
StorageTek 9176).
The biggest difference was in writing.
The TMS consistently out performed other Fibre disk arrays.
For example, on single writes, performance was 50-60% better than the STK across the dd
block sizes.
Unexpectedly, write performance on the TMS was better than read performance.
As with Fibre disks,
the dd block size was important as well as using multiple controllers on different buses.
dd Block Size & Reads vs. Writes:
The first two graphs show read and write performance using various blocking sizes on
the dd command.
The first graph compares single reads, while the second graph shows multiple reads and writes.
In both cases write performance in unexpectedly higher than read performance.
Single writes are 27-33% faster than single reads, and 7-41% faster for concurrent I/O.
The importance of the dd block size is consistent with what we have seen with other
Fibre Channel disks, e.g., StorageTek 9176.
Concurrent I/O:
As expected, distributing the multiple reads (3)
across multiple controllers on different system buses increased performance.