Dell recently lifted the lid on its "Hermes" project, named for the speedy chap from Greek mythology, at the Dell Storage Forum. The product, which Dell hopes will smack down EMC’s VFCache, will carry writes between flash caches in a Dell cluster to make sure they all carry the same data. That's a big deal, so project "Hermes" has to be quick.
Caching is pretty straightforward; you put hot data from a slow storage medium in a small chunk of faster, and more expensive, storage in front of it. This procedure means that accesses to the cached data are faster than to data in the slow storage. We have flash caches in front of disk drive arrays or in in array controllers to perform this function. They cache data to be read from the array and data to be written to the array.
Currently there's lots of activity putting PCIe flash caches in servers, such as EMC's VFCache and Fusion-io's ioDrive products, to accelerate applications by avoiding enforced waits for data to be fetched from slow disk drive arrays. When the servers have multiple nodes there is a caching problem with data writes. When one server writes data into its cache, such as an updated price for an XYZ dongle, that data is only in its cache. If an application in another server then looks up the price of an XYZ dongle, it gets a different price.
Typically this prevents write caching being implemented across multiple nodes, because the different caches don't necessarily hold the same data; they are not coherent. Cache coherency problems generally prevent distributed write caches across a server cluster or a group of server blades in a single chassis.
Fast disk arrays with a very high speed controller inter-connect, like the VMAX's virtual matrix, can solve that problem. But for ordinary x86 server nodes in a cluster it's impractical, which is where Dell's Hermes sprints into view. Carter George, Dell's exec director for storage strategy, spoke about it in a keynote at Dell's Storage Forum in Boston last week.
He said that a coherent distributed cache needs software technology to detect a write being made to one cache node and replicate it quickly to the other nodes (ie, so there will be a single XYZ dongle price across the cache).
In effect, a single virtual cache is formed from the individual ones. Dell acquired its virtual cache technology by buying RNA Networks in June last year. Its Memory Virtualisation Acceleration (MVX) technology can pool server DRAM or flash into single virtual pools – with Ethernet or InfiniBand carrying the linking messages to ensure coherency across the physical instances of DRAM or flash.
Naturally Dell is calling this Fluid Cache, the "Fluid" tag being applied to most storage concepts on Dell these days, and says it will move its tier 1 storage from its arrays, the Compellent and maybe EqualLogic ones, and put it into the servers. Existing Compellent storage tiering software will be developed to place hot data into the Hermes physical caches for fast read access, and the RNA technology will be used to spread one server nodes's fresh write data in its physical cache across the separate flash stores to provide a single version of the truth.
These caches will physically be PCIe flash cards. In this scheme there is no shared flash box sitting between the servers and the array, as is the case with EMC's Project Thunder and XtremIO technology. Dell would say that a networked flash box would not be as fast as a coherent server flash cache scheme because it still slows data access through network latency. This will provide Dell with a response to competition from networked all-flash arrays like those from Nimbus, Pure Storage and Violin Memory.
Dell could also use its RNA technology to aggregate a clustered server's DRAM into a single virtual pool and so enable apps running in that cluster to use an in-memory database.
Going further, "Hermes" could then sprint between clustered X86 controllers in a storage array and give them either a coherent virtual memory pool or a coherent virtual flash pool, or both, and enable them to handle vastly more I/O traffic, meaning support more servers and more applications.
Dell's RNA technology can support more than 100 server nodes in a cluster. The Hermes coherent distributed cache scheme has a first quarter 2013 target introduction date and should speed up applications significantly – especially those with a lot of write I/O which would not be so accelerated by read-only caching schemes such as VFCache. ®