The need for host side caching software
It is well understood that storage bottleneck is the leading cause of poor application performance and low VM to host ratio in enterprises.
One reason is that hard drives being mechanical are slow. They haven’t kept up in performance versus CPU, memory, and networking. As a result, hard drive based storage appliances are not able to keep up with large volumes of storage requests from increasingly powerful servers.
A second reason is IO congestion in virtualized hosts, made worse by the fact that IO originating in virtualized hosts is almost always very random, a phenomenon popularly referred to as ‘IO blender’. Increasingly powerful servers allow larger number of VMs to run on a single physical server. This results in storage IO from many virtual machines blending together in the VMware kernel of the physical server before it hits the storage network. Consequently what would have earlier been sequential storage IO hitting the storage network, now becomes very random. The higher the VM density on the host, the more random the storage IO. Hard drives that do very well for sequential IO perform very poorly for random IO, and even small amounts of very random IO result in high storage latencies.
Virtunet Systems’ VirtuCache software addresses this storage performance problem for VMware environments at lower latencies and lower $/MBps storage throughput versus alternate solutions in the market.
Drawbacks of existing solutions
The traditional solution to storage performance problems is to replace existing hard drive based storage appliances with solid state drive (SSD) based appliances which often times also requires a storage networking refresh, and both are expensive.
Secondly, SSDs in storage appliances are behind the storage network and storage controllers (CPUs) that are in the storage appliance, and hence SSDs in the appliance are slower to convey data to compute (VMware) CPUs that consume data than if the same SSDs were in the VMware host.
VirtuCache is software that addresses the performance aspects of storage by moving the storage caching tier to the physical server, where the ‘hot’ data (frequently or most recently used data) is consumed, instead of the caching tier residing on the backend storage appliance as is the case with SAN storage appliances.
VirtuCache is kernel mode software installed in the VMware host that automatically caches frequently read data and all recently written data by the VMs on that host, from/to any SAN storage appliance that the host is connected to, to any high speed media (SSD or RAM) installed in the same host. As a result, VirtuCache improves storage throughput and reduces latency from our customer’s existing storage infrastructure without requiring a storage appliance or storage network upgrade. By alleviating the storage IO bottleneck, VirtuCache allows higher VM to host ratios and improves performance of applications installed in VMs.
VirtuCache deployment is seamless, in the sense that applications or end users don’t realize that most of the data is now always read from and always first written to the local SSD (or DRAM), instead of backend SAN storage. Installing VirtuCache does not require any changes to the customer’s VMware, storage, or networking infrastructure. It is extremely easy to deploy and manage.
A single commodity SSD (that cost less than $1/GB) can support 200MBps storage throughput at a few millisecond latencies. This is higher throughput and lower latency than most storage appliances. It is this performance profile of SSDs combined with the fact that with VirtuCache, most of the data is now served from and written to such an in-host SSD (versus the backend storage appliance) that considerably improves the storage performance of our customer’s existing storage appliances.