Small Things, Big Impacts

Remember that old saying about how a butterfly flapping its wings can affect weather patterns on the other side of the world?  How could such a small detail result in such a big impact?  While this saying is most likely hyperbole, nature is amazingly interconnected – in ways it has taken us decades to understand.  As we now know, small changes can have big impacts.

Today we announced a slew of new capabilities in the XtremIO array, most significantly three new inline data services, encryption, compression, and agile writeable snapshots.  On the surface these sound just like things you already know about that have been in storage arrays for years.  But scratch beneath the surface of the “feature check boxes” and there is much more utility and capability to be found with XtremIO.  This is possible because of some seemingly small things XtremIO did early on that are just now beginning to deliver their big impact.

XtremIO New Features Overview
XtremIO New Features Overview

Let’s look at those small things and the big impacts that come with them:

Small Thing – Software-centric architecture

The XtremIO architecture is entirely based on software innovation.  XtremIO arrays have no proprietary hardware – they use standard form factor SSDs, the drive shelf is shared across other EMC products, and the array controllers are standard x86 servers.

Big Impact – Rapid improvements and performance gains

With this release we not only introduce new features and inline data services, but the array’s performance also increases across the board, and by very significant amounts.  This is impossible to do with proprietary hardware – you’ve got to rev all the hardware in order make performance improvements, and oftentimes to add new features.  With XtremIO we can deliver innovation and performance with code updates.  And when x86 server generations improve, we will improve along with them.  The ability to automatically gain performance from the x86 server market frees our engineers to focus on software innovation, where we can provide superior differentiation.

Small Thing – Content Addressing

XtremIO arrays store data blocks in a unique way – according to their very contents, rather than by the traditional method of storing them by their logical block address.

Big Impact – Inherent Balance, Inline Deduplication, and Content Awareness

Content addressing delivers big impacts in three ways.  First, by leveraging the randomness of the content signatures, XtremIO arrays maintain inherent balance of everything, which makes them easy to setup (create a volume, map it to hosts), eliminates tuning (balance is inherent, there is nothing to tune), and ensures that maximum performance is always delivered since all scale-out system resources are employed evenly all the time on every volume.  The second benefit derives from the first.  Since the array is already calculating content signatures in order to place and balance data, it is a natural extension to track all past content signatures and know if any new block is a match.  This allows XtremIO arrays to deduplicate globally inline in the data path.  XtremIO delivers its amazing performance with inline deduplication because deduplication is an outcome of the content addressing process, not a separate feature.  And third, by tracking content signatures for inline deduplication, XtremIO arrays are content aware – they have the ability to understand if blocks already exist on the array.  The impact of this is already evident in how fast the array can clone virtual machines (hint – it’s all done with content signature metadata without the need to copy data blocks) and content awareness is an area where we will continue to innovate, both within the XtremIO array and across the EMC ecosystem of products.

Small Thing – Inline all the time

XtremIO was designed to process all data services inline, all the time.  The array doesn’t batch process.  It doesn’t post-process.  Data services do not throttle back in performance or switch off under load.

Big Impact – Flash Endurance with Consistent and Predicable Performance

The first big impact of inline all the time is that deduplication, and now compression, are performed before anything hits the flash.  Lots of vendors talk about being “inline”, but ask them to commit in writing that a duplicate block is never (NEVER!) committed to flash and they can’t.  We’ve guaranteed it with $1M.  There are two reasons this matters.  First is flash endurance – when duplicates are never written to flash and the remaining unique data is compressed before it gets to flash, the array will maximize its endurance (content addressing’s inherent balance also provides a significant endurance benefit as all the flash media sees an even number of writes) through write avoidance.  Second, when data services are inline all the time, performed on every single I/O right in the data path, the performance and latency profile is clear and unvarying.  Batch and post-processing cause performance profiles to change depending on when the processing occurs.  With XtremIO performance is always consistent and predictable because all data services are budgeted for on every single I/O.  Consistent and predictable performance is one of XtremIO’s hallmarks.

Small Thing – In-memory metadata

XtremIO arrays maintain all their runtime metadata in globally shared memory (having a scale-out architecture is a prerequisite for this).  This allows all metadata to be accessed at memory speeds without the need to read de-staged metadata from the flash (fast as flash is, it is still orders of magnitude slower than RAM).

Big Impact – Workload independence and Agile Writeable Snapshots

With metadata accesses always happening from memory, XtremIO arrays are insensitive to workload patterns that crush performance on other products.  Random or sequential, locality of reference or totally random, small volumes or large volumes – none of it matters on XtremIO.  The performance is always there.  XtremIO engineers built not only a rich set of inline data services, they figured out how to structure the metadata to fit in system memory.  This was already remarkable, but with today’s agile writeable snapshot announcement we take it from remarkable to game changing.

Snapshot implementations have been user data space efficient for years.  But until now, none have been metadata space efficient, especially for writeable snapshots.  This means that significant amounts of metadata build in the array as more writeable snapshots accumulate, bloating capacity consumption and forcing the metadata to de-stage out of memory, which causes performance to drop substantially.  This has held back snapshots from being used as a high performance tool.

XtremIO’s agile writeable snapshots are space efficient for both user data and metadata, which combined with the array’s in-memory metadata architecture means snapshots are now, for the first time, identical to their parent volumes in every way – performance (bandwidth, IOPS, latency, for both reads and writes), features (all inline data services remain active), and usability (take snapshots of snapshots of snapshots, rapidly delete from anywhere in the snapshot tree without impacting other snapshots or parent volumes).

XtremIO’s agile writeable snapshots completely eliminate brute force data copy operations that are commonly used today.  Application development and test environments can be instantly created off a primary production volume, all with tremendous scale-out performance that allows R&D to work with the same high performance infrastructure as the production instance.  It’s a game changing business process innovation that leads to faster application development times and higher quality rollouts.  That’s a big impact.

The biggest impact of all this technology in XtremIO is that it’s accessible and surprisingly affordable.  XtremIO’s inline data services deliver incredible efficiency and utility out of small amount of physical flash.  Having the best capacity efficiency in the industry means that now a single XtremIO cluster with 90TiB of physical usable flash effectively (through inline deduplication, inline compression, and agile writeable snapshots) serves petabyte-scale application environments.  XtremIO’s ability to leverage and amplify such a small amount of flash into 10X or more value, all with consistent and predictable performance, all inherently balanced and easy to use, and with scale-out IOPS in abundance to handle even the heaviest consolidated workloads, is our big impact.

XtremIO is Redefining the Possible across the globe.  Since our general availability in November 2013, XtremIO has become the fastest growing storage array of any kind in history, and the #1 All-Flash Array in the market.  Our customers are doing one small thing…choosing XtremIO, and having a very big impact in their organizations delivering the speed, agility, and innovation that are highly visible to any consumer of IT.  And the best is yet to come.

About the Author: Dell Technologies