In these cases the I/O challenges faced by the storage systems that hold this data are similar to the challenges faced by more traditional database environments. In both cases storage managers are looking to solid state disk to solve their problems. However, the storage systems typically used in large build, render and search environments are not block based storage area networks (SAN) where a single server owns a single set of data. Instead, this data is typically hosted on network attached storage (NAS) systems utilizing NFS. As a result NFS has moved beyond the simple file sharing use case and into a storage infrastructure that supports very large server grids. These grids use NFS to provide common access to the data since all of these application servers need to get to the same file pool at essentially the same time.



Virtualization Mainstreams NFS


As stated earlier, NFS use is no longer limited to file sharing. Now it is even moving beyond a back end infrastructure for build-render-search application server grids and finding its way into more mainstream use cases. Thanks primarily to server and desktop virtualization many of the virtualized environments support launching images from a NAS that utilizes NFS. While NAS as a storage infrastructure simplifies many of the storage management tasks that virtual administrators have to deal with, it also complicates the performance management aspect of the storage infrastructure. As a result NFS hosted virtualized environments suffer many of the same performance challenges as do the server grids that support build-render-search applications.



NAS Storage Performance Challenges


NAS storage has several key performance challenges when addressing the above environments. First, most NAS devices have a limited amount of inbound I/O channels. This means that they can only handle so much inbound traffic before overwhelming the NAS controller. The major problem though is the amount of time that it takes for the NAS to handle the storage request (read or write). The combination of this storage traffic plus the overhead of the inbound traffic can lead to significant storage performance problems as the number of users or servers increases. This leads to storage managers scrambling to address NAS based storage performance problems.



The Legacy Fix - Faster Heads, More Disks


The legacy fix to the NAS performance challenge is to upgrade the overworked NAS head to a faster unit with more powerful processors, with the goal being to move data through the NAS head faster. In parallel to this faster NAS head, more drives are purchased and installed for use in the storage system. The more drives that can be added the more devices there are to respond to read and write requests from the NAS head and the faster storage I/O response time becomes.


The problem with this approach is the cost. The faster the processor in the NAS head, the more memory that’s placed in it and the more I/O channels it needs to drive all the additional drives at a higher level of performance - resulting in significant additional costs. The same holds true for the addition of the dozens if not hundreds of drives typically required to provide the performance that the environment needs. These drives are being added to solve a performance problem, not a capacity problem. This means that the large majority will go unused from a capacity standpoint, in addition to being limited to just how much performance they can deliver.


There is more than just the hard dollar investment involved in this attempt at performance tuning the NAS environment. The combination of the large NAS and the significant investment in drives also means that there is a significant investment in data center floor space as well as the power and cooling of the system. Finally, there is a layer of added management complexity caused by provisioning and monitoring such a high number of drives.


More drives and faster NAS heads will only go so far. There is also a limit to the drive technology and the number of application processes that can be created to keep all the drives busy. At some point the customer is faced with moving to a new, faster storage technology.



Fixing NAS Using a Solid State Disk Tier


An alternate fix for these performance problems has to be considered. Memory Array technologies like those from Violin Memory as we discussed in our article “What is a Memory Array?” are viable options for enterprises to consider. They offer the density required to load the entire data set onto solid state storage with minimal rack space requirements. They also have the connectivity options to make sure that the full performance capabilities of solid state storage can be utilized.


Unfortunately many NAS storage systems do not support the addition of an alternate vendor’s storage systems and most NAS vendors do not directly support memory array technology. As a result the user must deal with the implementation of solid state disk drives or look for a NAS vendor that does support third party storage systems. For most customers this is simply not practical. The investment in the current NAS is too high and understanding of the system too great to replace the entire platform, not to mention the disruption to current operations that this replacement would cause.



Challenges With Point Cache Systems


A possible solution is offered by some NAS vendors to put internal solid state storage cards or drives in the NAS head itself. This allows very high performance access to the solid state storage tier while being relatively cost effective. The challenge with these point cache solutions though is the relative capacity of the units and their isolation to a single NAS head. The capacity of these cards is fairly limited, ~500GB for enterprise class flash memory. The nature of both the virtualized environment and the build-render-search environment is too random and too large for that amount of memory to be effective as a cache. If cache needs to be constantly “re-loaded” then its performance benefits are quickly diminished. Also there is some concern about the reliability of flash memory in this kind of cache use case. This is one scenario where there could be enough write traffic for the write endurance that we discussed in the “What is a Memory Array?” article to truly be an issue. The constant re-loading of the cache could be a reliability issue as well as a performance issue.


Secondly, each NAS head in the environment would need its own individual caching card. Not only would this be expensive most NAS devices don’t have an around the clock need for the accelerated storage I/O performance that these cards would deliver. When the investment is made in solid state storage you want to make sure it is used as often as possible.



Fixing With Solid State Cache


Third party caching solutions have come to market to address the ability to spread the performance improvement across multiple NAS heads but they often lack scalability to ensure that enough memory capacity can be made available to provide cache support to a broad range of NAS heads. While a few of these systems are able to add sufficient capacity to provide caching services for a broad range of NAS heads, they unfortunately lack density.



Scaleable NFS Acceleration With Enterprise Cache


A new category of caching systems based on memory array technology like Violin Memory’s vCache promise to address the shortcomings of the previous fixes. These systems take the caching capabilities on solid state cache systems and combine the scalable memory and density that memory arrays offer. The combination allows for very high capacity cache systems sufficient to hold the entire active data. This keeps cache reloads at a minimum and performance at a maximum without consuming racks of data center floor space.


The impact of NFS accelerated by enterprise cache can be improved beyond what the above solutions can do when the entire active data set is cached. At the same time this may also be the least expensive alternative. No additional NAS head needs to be purchased, dozens if not hundreds of drives don’t have to be purchased and the cost to power and cool those heads and drives can be avoided. In short NFS Acceleration with Enterprise Cache can bring new levels of performance while actually saving money.

George Crump, Senior Analyst

Violin Memory is a client of Storage Switzerland