Flash Performance in High-End Storage


By Dr. Cor Meenderinck

This is a summary of the white paper with the same title which was the Winner of 2016 CMG imPACt conference Best Paper Award. It is a great example of the research that we do that leads to the expert knowledge we embed in our products.

Flash based storage is revolutionizing the storage world. Flash drives can sustain a very large number of operations and are extremely fast. It is for those reasons that manufacturers eagerly embraced this technology to be included in high-end storage systems. As the price per gigabyte of flash storage is rapidly decreasing, experts predict that flash will soon be the dominant medium in high-end storage.

But how well are they really performing inside your high-end storage systems? Do the actual performance metrics when deployed within a storage array live up to the advertised Flash latencies of around 0.1 milliseconds?

We analyzed measurement data from actual, normally loaded production storage systems and saw that typical back-end read response times for Flash are much higher than the advertised ‘native’ latency of around 0.1 ms. In the picture below, for instance, the values are all over the place, and the peaks have values up to 1.8ms.

What causes these response times to be so much higher than native Flash latencies? Why are the curves so jagged? And why is the variation in response time so high?

Figure 1. Back-end read response time (ms) for the flash tier within a production storage system.

Figure 1: Back-end read response time (ms) for the flash tier within a production storage system.

To answer these questions, we analyzed more than 30,000 intervals of SMF data from 10 different production systems. Our analysis revealed that the reported back-end response times are not always what they appear to be. In the paper, we describe two distinct sources of asynchronous activity for which the reported back-end performance is very peculiar – either extremely high or very low. The low values match the advertised Flash latencies, and we found an explanation for the high values.

For these asynchronous activities, the extreme values are counted in the back-end response times, but they do not count towards the front-end response times that the applications experience. So we wanted to filter out these asynchronous activities to get a clear picture of the back-end performance of flash storage for application-based, synchronous workloads, like regular application reads.

After filtering the data samples like this to focus on application-generated back-end activity, we show that the back-end read response time has become linear and predictable; the curves are no longer jagged, and the sharp peaks disappear. The values are still significantly higher than the raw latency, for which we pose an explanation.

This paper is very valuable for performance analysts to learn how to draw correct conclusions when looking at reported back-end response times. It shows how to interpret the SMF data, how to distinguish the types of back-end operations, and how to show them individually to determine the actual performance that your applications are receiving from the Flash arrays.

Do you want to read the full detailed paper? Download it here