Fusion-IO, flash cache and the importance of a good algorithm

Caching algorithms seem pretty arcane, but are very important for the overall performance of networks, databases and storage systems as a whole. Unfortunately, few understand how important they are. Fusion-IO's Lee Caswell talks about an update to the company's ioTurbine and its importance to accelerating virtualized environments.

Fusion-io's VP of Virtualization, Lee Caswell, brought me up to date on his company's enhanced caching algorithm that drives its ioTurbine acceleration technology for virtualized environments.

Quick review of caching

Many different devices have relied upon using a small amount of expensive cache memory to optimize and accelerate the use of a larger amount of lower-cost memory. The use of the correct memory virtualization techniques can provide vastly improved performance. Important data items are copied to the higher speed memory cache so that workloads can experience higher levels of performance. The key to this virtualization technique is knowing what data to move into cache, when to move it and how to deliver the changed or updated data back to the slower speed memory.

In the case of flash storage, a server flash-based cache can be 1,000 times less expensive than rotating media (when the cost is examined on a cost per operation basis). Flash-based cache can be dramatically faster than the rotating media it is optimizing.

The proper caching mechanism can help companies balance the cost of the storage media and their requirements for storage performance.

If we consider the use of caching to support virtual machine-based environments, we can see that physical systems or clusters may be able to support hundreds or, perhaps thousands, of workloads simultaneously.

Fusion-IO has recently updated the caching algorithm used in its ioTurbine family of flash-based VM and storage acceleration products.

Quick review of ioTurbine

The ioTurbine family of products is designed to virtualize access to a system's flash storage to accelerate data access for virtual machines. This can drastically boost the performance of virtual machines, VM migration and allow physical systems and clusters of physical systems to support quite a few more virtual workloads. Here are the current members of the ioTurbine family:

  • ioTurbine Direct — a SAN coprocessor that offers server-side storage acceleration for physical servers
  • ioTurbine Virtual — ioTurbine offloads read workloads from expensive storage infrastructure to high performance flash in servers. The result is a more efficient and resilient datacenter architecture that protects users from resource contention slowdowns common to traditional disk-based systems.
  • ioCache — a flash-based cache accelerator designed to accelerate database-based workloads.
  • ioTurbine Profiler — a tool to help companies model the effect of flash-based acceleration using their own operational data.

Quick analysis

Casswell and I both agreed that a caching algorithm isn't the most interesting thing to discuss for many IT decision-makers. We also agreed that using products that implement the best caching algorithms can mean the difference between a good product and a great one.

Fusion-IO has worked hard to develop a mechanism that would offer the best mix of cost and performance for customers using virtual machine-based workloads.