Real-Time Data Compression's Impact on SSD Throughput Capability Page 3 - EnterpriseStorageForum.com

Real-Time Data Compression's Impact on SSD Throughput Capability Page 3

Results

All of the results are presented in bar chart form, with the average values plotted and the standard deviation shown as error bars. For each of the three levels of compressibility (98 percent, 50 percent and 2 percent), I plot the results for the four record sizes (1MB, 4MB, 8MB, and 16MB).

The first throughput result is the write throughput test. Figure 1 below presents the results for the four record sizes and the three levels of dedupability (compressibility). The averages are the bar charts and the error bars are the standard deviation.


Write Throughput Results from IOzone in KB/s for the Four Record Sizes and the Three Data Dedupable Levels
Figure 1
Write Throughput Results from IOzone in KB/s

The first obvious thing you notice in Figure 1 is that as the level of compressibility decreases (thus decreasing dedupability), the performance goes down. The best performance for the cases run was for a 1MB record size and 98 percent dedupable data, where the write throughput performance was about 260 MB/s, which is close to the stated specifications for the drive. As record size increases, the performance goes down, so that at a record size of 16MB, the write throughput performance was about 187 MB/s for 98 percent dedupability.

For data that is 50 percent dedupable (compressible), the performance for a record size of 1 MB was only about 128MB/s, and for data that is almost incompressible (2 percent dedupable), the performance for a record size of 1 MB was only about 97 MB/s. So the performance drops off as the data becomes less and less compressible (as one might expect). Another interesting observation is that as the data becomes less compressible, there is little performance difference between record sizes.

Figure 2 below presents the read throughput results for the four record sizes and the three levels of dedupability (compressibility).


Read Throughput Results from IOzone in KB/s for the Four Record Sizes and the Three Data Dedupable Levels
Figure 2
Read Throughput Results from IOzone in KB/s

These results differ from the write results in that the performance does not decrease that much as the level of data compressibility rises. For a 1MB record size, at 98 percent dedupable data, the performance was about 225 MB/s, for 50 percent dedupable data the performance was about 202 MB/s, and for 2 percent dedupable data, the performance was about 192 MB/s.

In addition, as the level of compressibility decreases the performance difference between record sizes almost disappears. Compare the four bars for 98 percent dedupable data and for 2 percent dedupable data. At 2 percent the performance for the four record sizes is almost the same. In fact, for larger record sizes, the read performance actually improves as the data becomes less compressible.

Figure 3 presents the random write throughput results for the four record sizes and the three levels of dedupability (compressibility).


Random Write Throughput Results from IOzone in KB/s for the Four Record Sizes and the Three Data Dedupable Levels
Figure 3
Random Write Throughput Results from IOzone in KB/s

Figure 3 reveals that just like write performance, random write performance drops off as the level of data compressibility decreases. For the 1MB record size, the random write throughput was about 241 MB/s for 98 percent dedupable data, 122 MB/s for 50 percent dedupable data, and about 93 MB/s for 2 percent dedupable data.

In addition, just like the write performance, the performance difference between record sizes is very small as the level of compressibility decreases. So for small levels of dedupable data, the record size had very little impact on performance over the range of record sizes tested.

Figure 4 presents the random read throughput results for the four record sizes and the three levels of dedupability (compressibility).


Random Read Throughput Results from IOzone in KB/s for the Four Record Sizes and the Three Data Dedupable Levels
Figure 4
Random Read Throughput Results from IOzone in KB/s

The general trends for random read performance mirror those of the read performance in Figure 2. Specifically:

  • The performance drops very little with decreasing compressibility (dedupability).
  • As the level of compressibility decreases, the performance for larger record sizes actually increases.
  • As the level of compressibility decreases, there is little performance variation between record sizes.

Figure 5 below presents the fwrite throughput results for the four record sizes and the three levels of dedupability (compressibility).


Fwrite Throughput Results from IOzone in KB/s for the Four Record Sizes and the Three Data Dedupable Levels
Figure 5
Fwrite Throughput Results from IOzone in KB/s

These test results mirror those of the write throughput test (Figure 1). In particular,

  • As the level of compressibility decreases, the performance drops off fairly quickly.
  • As the level of compressibility decreases, there is little variation in performance as the record size changes (over the record sizes tested).

Figure 6 presents the fread throughput results for the four record sizes and the three levels of dedupability (compressibility).


Alt text
Figure 6
Fread Throughput Results from IOzone in KB/s

Like the two previous read tests (read, random read), the general trends for fread performance has the same general trends:

  • The performance drops only slightly with decreasing compressibility (dedupability).
  • As the level of compressibility decreases, the performance for larger record sizes actually increases.
  • As the level of compressibility decreases, there is little performance variation between record sizes.

Summary

SandForce is quickly becoming a dominant player in the fast-growing SSD controller market. It makes SSD controllers for many consumer drives and increasingly, enterprise-class SSDs. One of the really cool features of its controllers is that they do real-time data compression to improve throughput and increase drive longevity. The key aspect to this working for you is that the ultimate performance depends on your data. More precisely -- the compressibility of your data.

For this article I took a consumer SSD that has a SandForce 1222 controller and ran some throughput tests against it using IOzone. IOzone enabled me to control the level of data compressibility, which IOzone calls dedupability, so I could test the impact on performance. I tested write and read performance as well as random read, random write, fwrite, and fread performance. I ran each test 10 times and reported the average and standard deviation.

The three write tests all exhibited the same general behavior. More specifically:

  • As the level of compressibility decreases, the performance drops off fairly quickly.
  • As the level of compressibility decreases, there is little variation in performance as the record size changes (over the record sizes tested).

The absolute values of the performance varied for each test, but for the general write test, the performance went from about 260 MB/s (close to the rated performance) at 98% data compression to about 97 MB/s at 2% data compression for a record size of 1 MB.

The three read test all also exhibited the same general behavior. Specifically,

  • The performance drops only slightly with decreasing compressibility (dedupability)
  • As the level of compressibility decreases, the performance for larger record sizes actually increases
  • As the level of compressibility decreases, there is little performance variation between record sizes
Again, the absolute performance varies for each test, but the trends are the same. But basically, the real-time data compression does not affect the read performance as much as it does the write performance.

The important observation from these tests is that the performance does vary with data compressibility. I believe that SandForce took a number of applications from their target markets and studied the data quite closely and realized that it was pretty compressible and designed their algorithms for those data patterns. While SandForce hasn't stated which markets they are targeting I think to understand the potential performance impact for your data requires that you study your data. Remember that you're not studying the compressibility of the data file as a whole but rather the chunks of data that a SandForce controller SSD would encounter. So think small chunks of data. I think you will be surprised at how compressible your data actually is. But it's always a good idea to test the hardware against your applications.

Follow Enterprise Storage Forum on Twitter


Page 3 of 3

Previous Page
1 2 3
 

Comment and Contribute

 


(Maximum characters: 1200). You have characters left.

 

 

Storage Daily
Don't miss an article. Subscribe to our newsletter below.

Thanks for your registration, follow us on our social networks to keep up-to-date