Bob Madaio

Don't Be eXtremely Duped

Blog Post created by Bob Madaio on Jun 4, 2014

I have to admit. I've been bemused by some "buzz building" around all flash storage by a competitor, so I decided I would use this competitive "news" as a detour through some new topics in our ongoing flash discussion.

 

What got my attention?

EMC-XtremIO-Flash-Guarantee.jpg


EMC’s new XtremIO $1 Million Dollar Guarantee. 


And it is, in a word, ridiculous.


As much as I’d prefer to be more articulate in with that description, I have just read (and re-read) the terms, and I’m having trouble imagining any better description. Because the arguments are so very narrow and so slyly worded to have become both meaningless and irrelevant all at the same time. And yet, since it distracts from more meaningful flash conversations, I thought it best to provide a perspective on this "guarantee" and hopefully get back to more relevant conversations as quickly as possible.


To start us down the path, here are guarantee's terms, I suggest you go read them because the best I'll do is paraphrase the legalese below, but if you read the main points differently than I do, please let me know.


Point 1: Dedupe will always be inline. It will never be throttled back, disabled or shut off.

Point 2: Performance will never degrade due to “system level” garbage collection.


What you have in those two claims, are two very carefully chosen arguments, which are architecturally impossible to make happen with XtremIO. That does not, however mean it's necessarily a good thing... let's look at why.


Understanding The Claims


Point 1: Dedupe will always be inline.  It will never be throttled back, disabled or shut off.


Let’s just say it: XtremIO deduplicates all data coming into the system.


Especially with 4KB IO sizes (where less processing is required on the system) and a reasonable load, you can presume it works well. If you have an extremely heavy workload, or large IO sizes, or lots of streaming writes, etc., etc., your performance will vary, potentially significantly.


But the guarantee offers nothing for performance degradation caused by dedupe - only that it will continue to deduplicate, no matter what. The performance claim in the guarantee is left for something else entirely, which we’ll discuss shortly. 

 

Maybe this trade off is acceptable for your environment, but you must consider whether "100% inline dedupe" is more important than consistent response time when deploying flash in your environment. Perhaps all your key environments have 4KB IO sizes, you don't ever push the system to the maximum and you don't have applications that ever need low latency streaming writes. But if those things aren't universally true, you will want to consider if low and consistent response time trumps the potential cost/GB savings of dedupe, and why you are buying the flash storage to begin with.

usedcarsalesman.jpg


If you are more concerned with performance, perhaps throttling back on dedupe processing occasionally might actually be a good idea as a way of protecting storage response time and application performance.


However, XtremIO’s architecture does not allow for prioritizing response time over inline-dedupe. So EMC chose instead to market this architectural reality as a having the highest level of importance.


Heck, it guaranteed it.


Point 2: Performance will never degrade due to “system level” garbage collection.


For background on garbage collection, this is one of the most obvious ways that flash storage is different from magnetic media.  In hard drives, you simply overwrite old data with new data.  In every flash storage device (from any vendor) you must move old data from NAND cells to make room for new data.  Since you move things in larger sizes than you write new data, you must run “garbage collection” to deal with that size differential – finding a new home for data to be kept, and clearing out the space for incoming data. This extra activity is often referred to as "write amplification" because of the extra work involved, and can drastically impact performance of a flash device or system as it reaches capacity. One way or another, everyone using NAND memory has to deal with this.  (Wikipedia has quite a bit more on this for those interested: Write amplification - Wikipedia, the free encyclopedia.)


EMC has always maintained that the XtremIO architecture does NOT leverage "system-level" garbage collection.


no-vanilla-ice-cream.jpg

In fact, after the launch of XtremIO, EMC took the time to clarify the somewhat confusing claims it made, here. So EMC has guaranteed that something NOT included in its systems won't affect performance.



It's similar to saying that our HUS VM all flash systems will not slow down based on use of integrated ice cream cone making features. (And just to be very clear: Hitachi storage systems do not come with ice cream cone making features.)



However, EMC does do garbage collection, it simply pushes this to the included SSDs in the array. However, the guarantee does not appear to protect against SSD-based garbage collection affecting your performance.  Which would be the only relevant question at this point, right?

 


The Hitachi Position


Every solution has trade-offs and every customer needs to understand and be comfortable ones imposed by the architectures they leverage to build their infrastructure. Let's discuss how we attack the two problems called out in EMC's guarantee for a comparison.


First, deduplication and reducing costs. There are absolutely cost benefits to deduplicating data in the right environments. However, deduplication is not penalty free and must be taken into consideration as part of a larger discussion of solution priorities.


When looking at capacity efficiency techniques and lowering infrastructure costs, we work closely to understand our customers' priorities - and our solutions vary based on those priorities. If the lowest possible block-storage response time and consistent performance are at the absolute forefront, or cost/IOPS is most critical, we suggest no-compromise all flash configurations.  If customers instead want a more balanced approach to cost/GB and cost/IOPS, we suggest tiered configurations with both flash and HDDs. Of course, other techniques like thin provisioning help reduce costs, but fundamentally the decision starts with all flash or tiered systems.


The only-flash competitors cannot offer a tiered systems with HDD and thus focus on block storage deduplication, often in environments where it offers little capacity reduction, as it is their only hope to reduce overall media costs. And, while some competitors in the tiered array space claim built-in dedupe, they actively guide customers away from using it in high performance environments or when advanced functionality is leveraged.  So we are comfortable that our block-storage solutions provide the right path for the majority of our customers while offering predictability and full functionality.


In file-based storage environments, we offer advanced, line-speed deduplication in our Hitachi NAS systems that power our unified storage offerings and that can take advantage of the high dedupe rates in file-based environments.  We leverage advanced FPGA processing capabilities to do this dedupe at remarkable speeds, but yet, we will throttle back on dedupe (and catch up later) in times of extreme workload spikes. We think that most customers prefer this set-it and forget-it architecture what won't impact performance but will reduce effective capacity - flash or otherwise.


As far as garbage collection is concerned, we have to deal with this just like everyone else.  And in one way, we are like EMC, in that we leave it to the capacity devices themselves to manage this process.


However, we are quite different in that the majority of our flash systems leverage our unique Hitachi Accelerated Flash storage devices, which offer advanced processing capability specifically aimed at tackling enterprise computing requirements.  Along with extended internal capacities, this processing power offloads flash management and endurance tasks, including garbage collection, from the storage array controllers to protect overall system performance.


In fact, we are confident that Hitachi systems leveraging Hitachi Accelerated Flash will ride through garbage collection and full utilization better than the competition.


Testing My Theory


Perhaps I misunderstood some of the guarantee's claims. If that's the case, I'd like your help to figure out how. If EMC presents you with this guarantee, here are some specific questions you might want to ask about the guarantee and the overall solution to help clarify things:


  • Is it in any way possible for the scenarios called out in your guarantee to be realized or is it architecturally impossible, rendering this guarantee pointless?
  • Are all the garbage collection techniques deployed in XtremIO and its SSDs guaranteed not to affect my performance?
  • If your always-on dedupe affects my performance during large IO sizes and peak or streaming workloads, does the guarantee cover that?
  • If data availability is more important to me than if my dedupe is temporarily throttled, can you offer a 100% data availability guarantee?
  • When can we expect to see public benchmarks proving the performance of your XtremIO systems for both block (SPC) and file (SPEC.org) environments to better model performance impacts?


Seeing The Forest Through The Trees


Admittedly, the nature of this guarantee got me chasing some details that are hardly meaningful to your larger IT journey.  Whether dedupe is in-line or not, whether garbage collection is system-wide or media-based, should be far less relevant than the bigger picture issues like, whether the solution fits your needs today and into the future and whether you are working with a vendor you can trust.


Hopefully Hitachi Data Systems and our flash portfolio can help you with those important criteria.

Outcomes