IBM has just published an SPC-1 benchmark result for XIV. The magic number is 180,020 low latency IOPS in a single rack. This part of my blog post was delayed by my waiting for the official SPC-1 published document so I could focus in on an aspect of SPC-1 that I find particularly interesting.
XIV has always been a work horse rather than a race horse, being fast enough, and beating other traditional systems by never going out of tune, but 180,020 is still a lot of IOPS in a single rack.
SPC-1 has been criticised occasionally as being a drive-centric benchmark, but it’s actually more true to observe that many modern disk systems are drive-centric (XIV is obviously not one of those). Things do change and there was a time in the early 2000’s when, as I recall, most disk systems were controller-bound, and as systems continue to evolve I would expect SPC-1 to continue to expose some architectural quirks, and some vendors will continue to avoid SPC-1 so that their quirks are not exposed.
For example, as some vendors try to scale their architectures, keeping latency low becomes a challenge, and SPC-1 reports give us a lot more detail than just the topline IOPS number if we care to look.
The SPC-1 rules allow average response times up to 30 milliseconds, but generally I would plan real-world solutions around an upper limit of 10 milliseconds average, and for tier1 systems you might sometimes even want to design for 5 milliseconds.
I find read latency interesting because not only does SPC-1 allow for a lot of variance, but different architectures do seem to give very different results. Write latency on the other hand seems to stay universally low right up until the end. Let’s use the SPC-1 reports to look at how some of these systems stack up to my 5 millisecond average read latency test:
DS8870 – this is my baseline as a low-latency, high-performance system
- 1,536 x 15KRPM drives RAID10 in four frames
- 451,000 SPC-1 IOPS
- Read latency hits 4.27 milliseconds at 361,000 IOPS
HP 3PAR V800
- 1,920 x 15KRPM drives RAID10 in seven frames [sorry for reporting this initially as 3,840 – I was counting the drives and also the drive support package for the same number of drives]
- 450,000 SPC-1 IOPS
- Average read latency hits 4.23 millsconds at only 45,000 IOPS
Pausing for a moment to compare DS8870 with 3PAR V800 you’d have to say DS8870 is clearly in a different class when it comes to read latency.
- 1,152 x 15KRPM drives RAID10 in four frames
- 270,000 SPC-1 IOPS
- Average read latency hits 3.76 ms at only 27,000 IOPS and is well above 5 ms at 135,000
- 608 x 15KRPM drives RAID10 in two frames
- 181,000 SPC-1 IOPS
- Average read latency hits 3.72 ms at only 91,000 IOPS and is above 5 ms at 145,000
- 2 x 512GB Flash Cache
- 120 x 15KRPM drives RAID-DP in a single frame
- 68,034 SPC-1 IOPS
- Average read latency hits 2.73 ms at 34,000 IOPS and is well over 6 ms at 54,000
So how does XIV stack up?
- 15 x 400GB Flash Cache
- 180 x 7200RPM drives RAID-X in a single frame
- 180,020 SPC-1 IOPS
- Average read latency hits 4.08 millseconds at 144,000 IOPS
And while I know that there are many ways to analyse and measure the value of things, it is interesting that the two large IBM disk systems seem to be the only ones that can keep read latency down below 5 ms when they are heavily loaded.
[SPC-1 capacity data removed on 130612 as it wasn’t adding anything, just clutter]
Update 130617: I have just found another comment from HP in my spam filter, pointing out that the DS8870 had 1,536 drives not 1,296. I will have to remember not to write in a such a rush next time. This post was really just an add-on to the more important first half of the post on the new XIV features, and was intended to celebrate the long-awaited SPC-1 result from the XIV team.