Wednesday, May 9, 2012

Rules for IT: The 90-10 Rule for SSDs

Over the last couple of years, as disk has gained attention relative to tape and SSDs have arrived as a probably-chosen option in all sorts of hardware, I keep hearing a plaintive question from analysts – including myself – why don’t vendors such as EMC and IBM seem to be giving users guidelines for how much SSD to use? Well, I don’t have an answer for that question as of yet. However, it occurred to me today that my experience holds a guideline that just might be useful to IT. So, as a throwaway on an interesting day, I’ll just sketch it out in this blog post.

What I was taught by reading one of the great computer books of all time, Tanenbaum’s Structured Computer Organization, is that the ratio between fast and slow storage (e.g., main memory and disk) seems to naturally follow a 90-10 rule. Specifically, that rule more or less goes as follows:

Make 90% of the storage slow storage, and you will achieve 90% of fast-storage performance at 10% of its cost.

I realize that the implications of this are not apparent at first glance, so let me try to explain them (as best I understand them from a lifetime of experience): In the average application, 90% of the time the information needed for that application as it is running can, by hook or by crook, be in main memory waiting when the application needs it. The other 10% of the time, the application needs to load that information from disk, and on average that load makes that instruction’s performance 100 times slower. So you have slowed the application by 10% compared with its performance if you have all the main memory that is needed.

However, if the speed is 100 times slower, the cost of storing that piece of information is also 100 times smaller – and so, 10% of your storage is now “full cost” main memory, and 90% is “1/100 cost disk”, for a total cost of 11% of a main-memory-only system.

However, this explanation alone does not capture the implications of the 90-10 rule for IT. Fundamentally, IT budgets run along the lines of: do more at the same cost. And so, the way it translates into IT buying is: switch from main-memory-only to memory-plus-disk and you can handle 9 times the workload at the same cost. And, on average, that’s the best price-performance you can get.

Now, we have a situation in which a new technology, SSDs, comes in between memory and disk, with intermediate access times and intermediate pricing. It would seem that in this case, somehow, the 90-10 rule is thrown completely out of whack: both memory-to-SSD and SSD-to-disk ratios should be 30-70, or some other huge reduction. However, it seems to me that 90-to-10 is still pretty close to the right ratio in both cases. Think of it this way: in the cases where memory goes to SSD instead of disk (81% of all cases), the speedup might mean an optimal ratio of 94-6. However, where memory needs to go to disk instead (9% of the cases), the optimal ratio of disk and memory is 90-10, so the disk-SSD and SSD-memory ratios are around 70-30. Averaging 1/10 times 30 and 9/10 times 6, you come up with a ratio of 90.6 to 9.4 for both memory to SSD and SSD to disk. Sorry, I just couldn’t resist all that math.

So why shouldn’t vendors say 90-10, your mileage may vary, and just have done with it? Because it isn’t just your mileage may vary, it’s your mileage may vary depending on the type of application.
Inevitably, any system you buy needs to perform on one type of application rather than, or more than, others. And the 90-10 figure is an average gained from experience – it is never going to be more than an average. Into the indefinite future, the correct ratio for a particular application may go as high as 95-5, and as low as 75-25 (my vague sense of the likely limits).

So the decision process on SSD that I would follow if I were an IT type would be: what is the maximum “safe” ratio for a given application that must be on this system, or, if you want to figure that out indirectly, what is a safe distance above the minimum average performance for that application? Let’s see, it’s compute-bound, so both ratios should probably be around 93-7 …

But I just want to hammer home the reason why you want to do SSDs in the first place, now that the price is right. Remember, you got 90% of the performance for 10% of the cost when you added disk? Well, if you then add SSDs, the result is like 81% of the performance at 40% of the cost.

Only that’s misleading. What it really means to IT is, compared to an all-main-memory system, you now get 22 times the performance at the same cost.

Gee, you’re not getting as much bang for the buck as when you moved from memory to memory-plus-disk? Well, boo. Hoo. That stuff is so 50 years ago. You’re getting 2.5 times the price-performance you had yesterday – for free.

As far as I can tell, the 90-10 rule lives. Just another free service from us analysts, while those lazy vendors forget to look in their history books.

And if I’m wrong, I’m sure some vendor infuriated by the insult just above will correct me. In which case, you the IT buyer will still have the rule you need. As Alfred Bester said in “The Stars My Destination”, it’s always a lovely day somewhere.

No comments: