The need for host side caching software
It is well understood that storage bottleneck is the leading cause of poor application performance in enterprises.
One reason is hard drives being mechanical 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 servers popularly referred to as the ‘IO blender’ issue. 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.
Thus, hard disk based storage is the main cause of poor application performance and lower VM to host ratios for virtualized servers.
Virtunet Systems’ VirtuCache software addresses this storage performance problem for VMware environments at lower latencies and lower $/MBps of storage throughput versus alternate solutions in the market.
Drawbacks of existing solutions
Traditionally performance of enterprise storage is improved by replacing hard drive based storage appliances with solid state drive (SSD) based appliances. The two drawbacks to this approach are that:
– This requires a storage appliance and often times a storage networking refresh, which is expensive.
– SSDs in these appliances are behind the storage network and the few controllers (CPUs) that are in the storage appliance, and hence these SSDs perform at slower speeds than if the same SSDs were in the 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 traditional SAN based storage appliances.
VirtuCache is kernel mode software installed in the VMware kernel that caches frequently accessed data from our customer’s existing storage appliance (both reads and writes), to any high speed media (SSD or RAM) that our customer installs in the same host. Subsequently by serving up more and more data from the in-host SSD (or RAM), VirtuCache improves storage throughput and reduces latency from our customer’s existing storage infrastructure without requiring a storage appliance or storage networking 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 read from and written to the local SSD (or DRAM). Installing VirtuCache does not require any changes to the customer’s storage infrastructure, or a reboot of the host or VMs. 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 VM level 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.