Maintaining consistent application performance has become increasingly challenging. While there are fewer physical servers to support in the data center, in many environments there are dozens, hundreds or even thousands of virtual machines (VMs) accessing the same shared storage resources. This typically results in increased storage I/O latency as highly randomized read and write operations from multiple VMs bombard shared storage; otherwise knows as the “storage I/O blender” effect.
To combat this issue, server-side flash and SSD resources were brought to market. This is a highly targeted approach to solving storage I/O issues as it helps deliver rapid storage performance right at the source where applications live – at the server level. The challenge is that flash and SSD are costly resources compared to conventional storage. Consequently, storage planners need to use these resources wisely and sparingly. Identifying which applications will benefit most from cache acceleration, therefore, is a good place to start when planning to integrate server-side flash.
Database Driven Acceleration
Any critical business application that requires high storage I/O and is sensitive to storage latency is a good candidate for storing its data on flash capacity. Most applications utilize a three-tiered architecture whereby applications, databases and web services are run under separate physical or vms. Typically the workhorse of this trio is the database application. High transaction database environments like Oracle, DB2 and SQL, are frequently referenced by business applications to read and write data.
More granularly, business applications typically generate a lot of read I/O activity against database redo logs, which log a history of all changes made to the database, and database tablespaces, where the actual data is stored. By promoting redo logs or a hot database tablespace to server-side flash, application latency can be reduced significantly as read request operations can be facilitated over the backplane of the server without traversing a storage network.
Big Data Cache Coherency
Rapidly processing data to facilitate business intelligence (BI) and data warehouse applications is another strong use case for server-side cache acceleration. For example, technologies like Hadoop are increasingly being utilized to distribute application workloads amongst large clusters of physical and virtualized servers. Hadoop’s framework is specifically designed to process BI data workloads at its point of origin – locally on the application server.
Since the data locality of reference is the internal storage on the server host, Hadoop environments present a “custom fit” for server-side application cache acceleration. In fact, multiple Hadoop VMs on the same hypervisor could collectively benefit from a shared flash or SSD resource to accelerate application performance.
ERP Data Acceleration
Enterprise Resource Planning (ERP) and Manufacturing Resource Planning (MRP) applications are excellent examples of critical business systems which could significantly benefit from cache acceleration technology. Organizations that invest in ERP systems like SAP are effectively using these applications to run the heartbeat of their businesses. Frequently referenced SAP database objects can be pinned into cache resources to ensure 100% cache hits and help guarantee critical business application service level response times.
What’s more, certain caching software technology can actually enable infrastructure planners to design a multilevel cache which not only incorporates server-side flash and SSD, but also internal server DRAM resources and external SSD on shared storage systems. This enables storage planners to further extend cache resources and provide a very low latency profile which allows for the most active data to get promoted to the fastest available storage resources.
Hypervisor Performance Enhancer
Perhaps the single most common business application use case for cache acceleration is for hypervisor software platforms. Hypervisors like VMware, Hyper-V, KVM and Citrix Xen Server are being leveraged by businesses of all sizes to deploy virtualized server and virtualized desktop infrastructure (VDI).
By accelerating the most active data sets into available cache, the bulk of the I/O workload is taken off of the shared storage system and “storage I/O” blender issues are alleviated. This tends to extend the useful life of shared storage systems as they can now focus on functioning as the capacity tier while faster cache resources serve as the performance tier.
In VDI environments, cache acceleration software enables commonly used operating system images to be pre-loaded into cache to prevent “boot storms” (when multiple users login to their virtual desktop at the same time) from impacting performance. The ability to utilize server-side SSD and DRAM on the hypervisor host in VDI environments obviates the need to procure high cost all flash storage arrays. This is particularly important for maintaining the ROI/TCO in virtual infrastructure deployments.
There are multiple business application use cases for deploying high speed flash and SSD resources into physical and virtual server infrastructure, however, software intelligence is the key. Only by understanding these workloads at a granular file level can this software intelligence truly deliver the predicable performance that these use cases need. Caching software, like the Intel® Cache Acceleration Software (CAS) product from Intel, is designed to non-disruptively accelerate business application workloads.
Intel’s CAS installs as either an OS application within the Guest OS or at the hypervisor layer within all the major hypervisor platforms, including VMware, Hyper-V, KVM and Citrix Xen Server. Intel® CAS works with existing server DRAM, server-side flash and SSD as well as flash resources in external storage arrays. This provides maximum flexibility for infrastructure planners to utilize existing assets to accelerate application workloads.
Some cache accelerator solutions require a “cache warming” period, to do analytics on the data, before it can start promoting data to cache. Intel® CAS allows application and virtual server administrators to promote known “hot data” files or database objects immediately into cache through its “cache pinning” feature. This increases time to value and enables an immediate return on the cache investment. Data that is not selected for cache pinning will then go through an analysis period whereby the most frequently accessed files will get promoted into cache.
Lastly, the multi-level caching functionality available from Intel® CAS, enables the integration of SSD devices with server DRAM cache. The software will determine which resource will best service active data, SSD or DRAM; allowing the optimum use of system memory while providing the best performance profile for data that requires it.
Intel is a client of Storage Switzerland