Chris Mellor from The Register recently wrote an informative article (“Why should storage arrays manage server flash?”) that outlines the merits of server side caching. You can read the entire article here. At SolidFire, we take a slightly different viewpoint on the subject and wanted to take the opportunity expand on it some more here.
There are certainly advantages to server-side SSD caching. Most notably, it reduces load on storage arrays that are being taxed far beyond what they were originally designed for. However, in the long run I think we’ll see server-side SSD caching as nothing but a complex stopgap making up for deficiencies in current array designs.
If you look at “why” it’s claimed server-side cache is necessary, it basically boils down to:
- The array can’t handle all the IO load from the servers, particularly when flash is used with advanced features like dedupe
- The reduction in latency from a local flash cache
The first is a clear indication that current array designs aren’t going to scale to cloud-workloads and all (or mostly all) solid state storage levels of performance. Scale-out architectures are going to be required to deliver the controller performance needed to really benefit from flash.
The second is based on the assumption that the network or network stack itself is responsible for the 5-10ms of latency that he’s reporting. The reality is that a 10G or FC storage network and network stack will introduce well under 1ms of latency – the bulk of the latency is coming from the controller and the media. Fix the controller issues and put in all-SSD media, and suddenly network storage doesn’t seem so “slow”. Architectures designed for SSD like TMS, Violin, and SolidFire have proven this. Local flash, particularly PCI-attached, will still be lower latency, but that micro-second performance is really only needed for a small number of applications.
EMC and Netapp have huge investments in their current architectures, and are going to try every trick they can to keep them relevant as flash becomes more and more dominant in primary storage, but eventually architectures designed for flash from the start will win out.