I want to tell you all about some work my colleague Marcelo Gigliotti (@presuntinho) has completed, testing InfoScale’s SmartIO caching feature in AWS. Marcelo observed that storage IOPs could be increased by 32.1% when utilizing SmartIO to configure the ephemeral EC2 storage as a read cache area.
What is it?
InfoScale’s SmartIO feature is a caching technology that accelerates storage workloads directly on the server, making use of commodity high-speed storage devices such as NVMe SSDs. Many of us are familiar with storage caching on hardware storage arrays, perhaps making use of expensive flash laden riser cards. Storage IO performance is accelerated by storing commonly read or written data on high-speed storage, thus reducing the latency of retrieving data from slower storage media like SAS storage.
SmartIO caching is conceptually similar except for the hardware. SmartIO enables storage caching on any hardware connected to a server, improving storage performance for a particular workload.
How does it work?
SmartIO configuration is easy and requires configuring a cache area, which can be any storage device accessible to the server. Of course, to optimize storage IO performance, it would make sense to designate a high-speed storage device or devices as the cache area. As the workload on the server runs, data that is accessed frequently is copied into the cache area before the IO operation completes. Future requests for the same data are read from the cache area instead of from slower disk devices.
SmartIO ships with the SmartAssist tool, which analyzes the server’s workload before producing a sizing report. The sizing report contains recommendations for sizing the cache area based on related latency reduction and performance forecast. SmartAssist helps streamline the sizing and design tasks for the cache area, ensuring that resources aren’t wasted while providing optimized performance.
SmartIO works well with public cloud platforms such as AWS because it can be configured to use Amazon EC2 Instance Store or “Ephemeral Disk Storage.” The EC2 Instance Store is a temporary block-level storage device(s) with a lifetime limited to the associated EC2 instance1. Depending on the EC2 instance type, the Instance Store may be composed of anything from HDD to NVMe SSD.
Due to its ephemeral nature and performance, an Instance Store can become an ideal SmartIO Caching area. In other words, an Instance Store can be used to accelerate storage IO without having to pay for a performance-enhanced tier of persistent storage.
Tests were run with the FIO testing tool with SmartIO caching enabled on Instance Storage, with persistent data on GP2 disk. Please see Table 1 for the test parameters.
Table 1 Test Parameters
The FIO configuration file is attached to this blog.
In testing, it was observed that performance improvements were formidable when SmartIO was used to create a read caching area on Instance Stores (Ephemeral Disk Storage).
Table 2 Results
First, a baseline test was run on the EC2 Instance Store (ephemeral disk). That is, FIO was run, directly writing data to the Instance Store. A SmartIO Cache Area was not configured. The total IOPs observed were 33600. This is the best case performance scenario since the Instance Store is based on NVMe SSD.
Second, a baseline test was run directly on persistent GP2 storage. GP2 storage is typically used to store structured (database) data. The observed IOPs were 24438.
Third, a SmartIO Cache Area was configured on the Instance Store, and persistent GP2 storage was configured. The FIO test was run on the GP2 storage with read caching configured with SmartIO. The total IOPs observed were 32281.
There is an observed performance increase of 32.1%2 when SmartIO Read Caching is utilized.
We think SmartIO provides a very compelling solution for optimizing read performance on EC2 instances provisioned with GP2 persistent storage devices. As shown in the results, the performance of GP2 storage can be increased by 32.1% with SmartIO Read Caching, without additional cost.
We’re currently working on an extended white paper discussing further findings on SmartIO performance on AWS.
For more information on InfoScale, please take a look at the following documents.
You can also check out the InfoScale technical library for additional InfoScale resources.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.