EMC’s Project Lightning tendrils reached well into the server, with the formal announcement of VFCache on February 6. VFCache, as available today, is a maximum 300GB server flash storage card connected to a server’s PCIe bus. EMC supports a single VFCache card per server. The cache is designed to hold small blocks of frequently-accessed data, reducing random read response times from milliseconds to microseconds, at the same time preventing the cache from being flooded by large sequential reads associated with backup, for example.
EMC manages the VFCache via a light-weight filter driver that identifies frequently-accessed small-block data and promotes it from disk storage to the VFCache. Once in the cache, data is managed on a first-in, first-out (FIFO) basis. Responsibility for data protection remains within the array, which is why data is first written to the array, before being promoted to VFCache. As a server-side cache, each VFCache card is dedicated to a single server, with no coordination across servers and is therefore, not designed for use in clustered-server environments. VFCache is supported in VMware environments, but there is no native support for or built-in coordination with high-availability and workload balancing applications such as VMware’s VMotion. Notably, VFCache, being a server-side cache, will work with both EMC and non-EMC arrays.
Where VFCache can be used today
In this first generation version, VFCache is designed to improve performance for small-block, read transactions. The maximum benefit will be seen when reading 8KB blocks in read-intensive applications, where the data has limited locality of reference and a high degree of concurrent access, or, in layman’s terms, the same blocks keep getting hammered. In presentations, EMC specifically noted that VFCache was designed to deliver performance boosts in database applications, on-line transaction processing (OLTP) systems, e-mail, Web applications, reporting applications, and analytics. EMC provides a good guide for when to use VFCache in this Introduction to VFCache.
Where VFCache should not be used today
According to EMC “VFCache is currently not supported in shared-disk environments or active/active clusters.” As a read cache, VFCache should have limited benefit for write-intensive workloads but little or no negative impact either. In servers running a mix of applications, some read-intensive and some write-intensive, VFCache should still benefit read-intensive workloads. EMC did caution that write-intensive workloads with a large number of disk spindles dedicated to a single server might be negatively impacted by the presence of VFCache.
VFCache can be used at the virtual machine (VM) level in VMware environments, thus boosting performance of applications on a per-VM basis. Since VFCache is a local resource to the VM, however, those VMs using VFCache cannot take advantage of VMotion for workload balancing, nor can they use features such as vCenter Site Recovery Manager (SRM) or Distributed Resource Scheduler (DRS).
EMC does not currently offer VFCache for blade servers. During the Peer Incite research meeting, however, one EMC participant mentioned a blade-server solution under development.
Future enhancements
Beyond the hinted-at blade-server offering, EMC will boost the capacity of VFCache to 700GB sometime in the summer and will deliver Project Thunder, an all-flash appliance that connects via a server network, most likely Infiniband, later this year. While not quite as fast as being in a server on the PCIe bus, the external appliance will provide a significant performance boost over array-based drives and will support active/active clusters and blade servers.
Although the current VFCache solution works in conjunction with Fully Automated Storage Tiering (FAST) from EMC, and both offerings provide performance benefits and efficiency gains to applications, the company promises more complete integration with FAST later this year. Some participants on the call questioned the logic of controlling a server resource from a storage controller-based software. Deeper integration with FAST also implies that, while VFCache works with both EMC and non-EMC arrays, EMC will, in the future, lay claim to greater benefits when used in conjunction with EMC arrays and FAST.
Action Item: Determine the trusted advisor.
A storage administrator who is told “I have an application performance problem, and I think it’s a storage problem,” is faced with a dizzying array of performance-enhancing options:
- Add solid state drives to the array,
- Increase memory in the array,
- Increase or upgrade channels to the array,
- Implement storage tiering and automated management,
- Migrate volumes to a different array,
- Stripe volumes across more disk drives,
- Archive and migrate stale data off the array,
- Compress data,
- Deduplicate data,
- Add a caching appliance.
Even the most educated storage professionals may be hard-pressed to make a choice, but all of these are within the typical locus of control of storage administrators. Add to this, now, the option for flash cards in the servers, which are typically hands-off to the storage administrator, and their job has become even more challenging.
Because the options are so plentiful, storage suppliers, or at least their systems engineers (SEs), have increasingly attempted to assume the role of trusted advisor to the storage administrator. Many SEs have earned that trust. If storage suppliers continue to move further into the server domain, however, SEs will find that they need to now gain the trust of server and network administrators as well as application managers.
At the same time, and precisely because so many options exist, storage administrators must remain constantly up-to-date on the relative merits and limitations of various performance-enhancing options. Each option has performance, operational, and cost trade-offs and possibly budgetary and locus-of-control trade-offs. The challenge for the storage administrator will be in determining whether the proposed solution to a storage performance problem is based upon supplier margins, the sales executive’s compensation plan, the desire to sell up the organization, or is, in fact, the best fit for the environment.
Footnotes: