dcsimg

SandForce 1222 SSD Testing, Part 3: Detailed Throughput Analysis

Our last two articles have presented an initial performance examination of a consumer SandForce based SSD from a throughput and IOPS perspective. In this article we dive deeper into the throughput performance of the drive, along with a comparison to an Intel X-25E SSD. I think you will be surprised at what is discovered.

As with the previous study, the results are plotted using a bar chart to make them easier to compare. However, carefully examine the y-axis since the major and minor divisions are not the same for every graph. The plots are of the average values with error bars representing the standard deviation based on 10 runs of the same test for the five record sizes. Each plot has six groups of 10 bars each with a different color. Each group is a specific compressibility level (e.g. 98%, 75%, etc.). Within each group there are ten bars of real data – five for the SandForce SSD (labeled as “SF”) and five for the Intel SSD (labeled “Intel”). Each bar corresponds to a record size (64KB, 1MB, 4MB, 8MB, and 16MB).

If you look closely at the legend, you will see two data sets in the middle that are white. These were added to the charts to add some separation between the SandForce and Intel results. They don’t represent any real data – they were just used for convenience to make the charts easy to read.

In the figures and commentary below, dedupability and compressibility are used somewhat interchangeably even though it can be confusing. For example, if data can be deduplicated very easily then it has a “high dedupable” percentage within IOzone. We also say that this data is very compressible or has a “high compressibility” percentage. In essence,

  • High Dedupability, High Compressibility
  • Low Dedupability, Low Compressibility

I apologize for the confusion and will try to use Dedupability and Compressibility to mean the same thing.

Figure 1 below is the write test for the five record sizes for the six levels of dedupability (compressibility) for both the SandForce and Intel SSDs.

iozone_write.png
Figure 1: Average Write Throughput (KB per second) for the Five Blocks Sizes for the Six Levels of Dedupability (Compressibility) for both the SandForce and Intel SSDs

In examining the data in Figure 1, a few things stand out. The most obvious one is that as the data compressibility decreases, the sequential write performance of the SandForce SSD decreases while Intel SSD performance does not. If you look at the general trend of the group of bars with the red bar chart relative to the group of bars with the blue and pink bars, you can see the general trend.

Some additional observations from Figure 1 are:

  • The Sandforce SSD is faster than the Intel SSD when the data is 98% compressible. So a $100 SSD has a faster sequential write performance than a $750 SSD but only when the data is very compressible.
  • When the data is about 75% compressible, the SandForce SSDs has just a little bit worse sequential write performance than the Intel SSD.
  • However, the performance of the SandForce SSD with data compressibility below 75% performs much less than the Intel SSD.
  • Intel SSD sequential write performance doesn’t change with data compressibility
  • Intel SSD sequential write performance doesn’t change much with record size
  • The SandForce SSD sequential write performance is noticeably faster with smaller record sizes (compare the 64KB record size to 16MB record size)
  • In the case of “random” data compressibility (the far right group of bars) the performance is about the same as when the data is between 25% and 50% compressible

Figure 2 below is the re-write test for the five block sizes for the six levels of dedupability (compressibility) for both the SandForce and Intel SSDs.

iozone_rewrite.png
Figure 2: Re-Write Throughput (KB per second) for the Five Blocks Sizes and for the Six Levels of Dedupability (Compressibility) for both the SandForce and Intel SSDs

This test has the same general trends as in Figure 1. However the random data compressibility option has about the same performance as the part-way between the 25% compressibility case and the 50% compressibility case.

Figure 3 below is the random write test for the five block sizes for the six levels of data dedupability (compressibility) for both the SandForce and Intel SSDs.

iozone_random_write.png
Figure 3: Random Write Throughput (KB per second) for the Five Blocks Sizes and the Six Levels of Dedupable Data (Compressibility) for both the SandForce and Intel SSDs

Some of the general overall trends for this case are the same as the write and re-write tests, but there are some differences. In particular, the performance of the Intel SSD does vary with record size for this test (it didn’t vary much for the previous two tests). Also, for smaller record sizes (64KB and 1MB), the performance of the SandForce SSD was the same or slightly better than the Intel SSD.

Another observation, which is somewhat interesting, is that the Intel SSD has much more variability in the results than the SandForce SSD. You can see this by the magnitude of the error bars in Figure 3 relative to their average values (the bars). The cause of this is unknown.

Figure 4 below is the record rewrite test for the five block sizes for the six levels of data dedupability (compressibility).

iozone_record_rewrite.png
Figure 4: Record Rewrite Throughput (KB per second) for the Five Blocks Sizes for the Six Levels of Data Dedupability (Compressibility) for both the SandForce and Intel SSDs

This test results in much different behavior than the three previous tests. Probably one of the most interesting trends is that the performance of both the SandForce and Intel SSDs increases as the data compressibility decreases (i.e. they get faster as the data becomes more incompressible). This means that the real-time data compression in the SandForce controller is not the cause of this behavior but the cause is unknown.

In addition, for both SSDs, the record size makes a huge impact on performance. Smaller record sizes have much better performance than larger record sizes.

A third observation is that the performance of the two SSDs is about the same for all levels of data compressibility. This is true even for the case of “random” data compressibility.

Figure 5 below is the fwrite test for the five block sizes for the six levels of dedupable data (compressibility) for both SSDs.

iozone_fwrite.png
Figure 5: Fwrite Throughput (KB per second) for the Five Blocks Sizes for the Three Levels of Dedupability (Compressibility) for both the SandForce and Intel SSDs

The general observations from this test are the same as for the write test (Figure 1), the rewrite tests (Figure 2), and the random write test (Figure 3).

Figure 6 below is the frewrite test for the five block sizes for the six levels of dedupability (compressibility) for both SSDs.

iozone_frewrite.png
Figure 6: Frewrite Throughput (KB per second) for the Five Blocks Sizes and the Six Levels of Dedupability (Compressibility) for both the Intel and SandForce SSDs

The general trends for this test are the same as for the fwrite test (Figure 5).

Figure 7 below is the read test for the five block sizes for the six levels of dedupability (compressibility) for both SSDs.

iozone_read.png
Figure 7: Read Throughput (KB per second) for the Five Blocks Sizes and for the Six Levels of Dedupable Data (Compressibility) for both the SandForce and Intel SSDs

This is the first of the read tests and the resulting trends are a bit different than the write tests. In particular, there isn’t much change in performance for either SSD as the level of data compressibility changes. In addition, as the data compressibility level decreases (the data becomes more incompressible), the performance difference for various record sizes greatly reduces for both SSDs. For high levels of data compressibility (i.e. the data is easily compressed), the performance of both the SandForce and Intel SSD varies greatly with record size. Given that the Intel SSD does not do real-time data compression, presumably this performance variation has more to do with the system or the file system than the SSDs.

One other noticeable trend is that the Intel SSD is a bit faster than the SandForce SSD for the various block sizes and various compression levels. However, this is pretty good considering this is a consumer SSD that costs about $100 comes very close to the performance of a $750 enterprise level SSD.

The following six figures (Figures 8-13) are the other read tests. The general trends for the tests are about the same as the read test (Figure 7) except for the random read, backward read, and stride read tests. Only where the trends are slightly different is there any additional explanation.

Figure 8 below is the re-read test for the five block sizes for the six levels of dedupable data (compressibility) for both SSDs.

iozone_reread.png
Figure 8: Re-Read Throughput (KB per second) for the Five Blocks Sizes, for the Six Levels of Dedupability (Compressibility), for both SSDs

Figure 9 below is the random read test for the four block sizes for the three levels of dedupable data (compressibility).

iozone_random_read.png
Figure 9: Random Read Throughput (KB per second) for the Four Blocks Sizes and for the Three Levels of Dedupable Data (Compressibility)

In contrast to the read (Figure 7) and re-read test (Figure 8), the random read throughput actually increases as the record size increases. This is true for both the SandForce and Intel SSDs.

Figure 10 below is the backward read test for the four block sizes for the three levels of dedupable data (compressibility).

iozone_backward_read.png
Figure 10: Backward Read Throughput (KB per second) for the Four Blocks Sizes and for the Three Levels of Dedupable Data (Compressibility)

As with the random read test, as the record size increases, the performance for both SSDs improves.

Figure 11 below is the stride read test for the four block sizes for the three levels of dedupable data (compressibility).

iozone_stride_read.png
Figure 11: Stride Read Throughput (KB per second) for the Four Blocks Sizes and for the Three Levels of Dedupable Data (Compressibility)

As with the random read and backward read tests, as the record size increases, the performance for both SSDs improves.

Figure 12 below is the fread test for the four block sizes for the three levels of data dedupability (compressibility).

iozone_fread.png
Figure 12: Fread Throughput (KB per second) for the Four Blocks Sizes and for the Three Levels of Dedupable Data (Compressibility)

Figure 13 below is the freread test for the four block sizes for the three levels of dedupable data (compressibility).

iozone_freread.png
Figure 13: Freread Throughput (KB per second) for the Four Blocks Sizes, for Three Levels of Dedupable Data (Compressibility)

Summary

In the first article an initial examination of the throughput performance of the SandForce SSD was performed using IOzone that allowed different levels of data compressibility to be tested. This article built on that initial study in two ways: (1) it tested more data compressibility levels, and an additional smaller record size, and (2) it performed all of the same tests on an Intel X-25E SSD as a comparison.

As with the first article, 13 different I/O tests were run using IOzone: write, re-write, random write, record rewrite, fwrite, frewrite, read, reread, random read, backwards read, stride read, fread, and freread. Each test was run 10 times with five different record sizes, (1) 64KB, (2) 1MB, (3) 4MB, (4) 8MB, and (5) 16MB. Also, six different data compression levels were tested: 98% compressible, 75% compressible, 50% compressible, 25% compressible, 2% compressible, and “random” compressible data. The average and standard deviation of each test is reported graphically in Figures 1 to 13 but the data is also tabulated at the end of this article.

All of the write tests with the exception of the random write and record rewrite tests exhibited the same general behavior. More specifically, except where noted, the trends are:

  • As the level of compressibility decreases, the performance of the SandForce SSD decreases fairly quickly. However, the performance of the Intel SSD does not change appreciably with changes in the data compressibility.
  • For all write tests except the record rewrite test, the Sandforce SSD is faster than the Intel SSD when the data is 98% compressible. So a $100 SSD has a faster sequential write performance than a $750 SSD but only when the data is very compressible.
  • When the data is about 75% compressible, the SandForce SSD has just a little bit worse write performance than the Intel SSD.
  • For data compressibility levels below 75% the Intel SSD is generally much better than the SandForce SSD.
  • Intel SSD write performance doesn’t change with data compressibility
  • Intel SSD write performance doesn’t change much with record size
  • For the random write performance the Intel SSD performance varies by a fair amount with record size. The performance of the SandForce controller does vary by not to the same degree as the Intel SSD.
  • For the record rewrite test, for both the Intel and SandForce SSDs, the performance improves as the data compressibility decreases. The performance also dramatically decreases as the record size increases.
  • For the random write test, the performance of the Intel SSD has much more variability than the SandForce SSD
  • The SandForce SSD sequential write performance is noticeably faster with smaller record sizes (compare the 64KB record size to 16MB record size) for all tests but the record rewrite

What is also interesting is that for case of “random” data compressibility (the far right group of bars), the performance is the same as between the 25% and 50% data compressibility levels. In the worst case, the performance is about the same as the 25% data compressibility case.

The read test showed some very interesting trends as well. The following trends are true for all of the read cases except for the random read, backward read, and stride read cases.

  • There isn’t much change in performance for either SSD as the level of data compressibility changes
  • For both SSDs as well, as the data compressibility level decreases (the data becomes more incompressible), the performance difference for various record sizes greatly decreases
  • For high levels of data compressibility (i.e. the data is easily compressed), the performance of both the SandForce and Intel SSD varies greatly with record size. Given that the Intel SSD does not do real-time data compression, presumably this performance variation has more to do with the system or the file system than the SSDs.
  • The Intel SSD is a bit faster than the SandForce SSD for the various block sizes and various compression levels but the differences are not as pronounced as in the write tests. However, this is pretty good considering this is a consumer SSD that costs about $100 coming very close to the performance of a $750 enterprise level SSD.

In the case of random read, backward read, and stride read, the general trends are slightly different. More specifically,

  • For the random read test, as the record size increases, the performance increases. This is true for both SSDs. Also, as the data compressibility decreases, the performance increases for both SSDs.
  • Backward read results are somewhat the same as the random read case
  • For the stride read case, the performance didn’t vary much with data compressibility for either SSD. However, as the data compressibility decreased, the performance increased for larger record sizes.

From these tests, there are two general trends one can observe:

  1. For most of the test results, the SandForce SSD had very good performance, close to or greater than the Intel SSD, for 75% compressible data or larger. So a $100 SSD has comparable performance to the Intel SSD (both have about the same capacity) for reasonable compressible data. But for more consistent performance and even better absolute performance, the Intel X-25E SSD is still better than this SandForce 1222 based SSD.
  2. The SandForce controller performance varies with data compressibility levels and Intel does not. However, there are cases where the Intel SSD performance does vary with data compressibility but the same is true for the SandForce controller perhaps indicating that the tests are not influenced by the real-time compression in the SandForce SSD.

As stated in the first article, SandForce has added another “knob” to the ability of tuning storage solutions – real-time data compression in the storage device (SSD). While we can’t really control turn this knob to improve performance of change the behavior of the overall storage solution, it can be used in an overall design to improve performance and longevity of SSD storage solutions. I think of this as an opportunity. We can study our data to look for opportunities that it can be compressed efficiently or we can change our applications to take advantage of SandForce controllers.

In the next article a more in-depth examination of the IOPS performance will be done for the same record sizes and data compressibility levels as in this article. Plus the IOPS performance of the SandForce SSD will be compared to the Intel X-25E. Stay tuned.

For the curious, 7,800 tests were run for this article but no electrons were harmed.

Comments on "SandForce 1222 SSD Testing, Part 3: Detailed Throughput Analysis"

The time to study or visit the subject material or sites we’ve linked to beneath.

Hi are using Wordpreds for your blokg platform? I’m new to the blog
world bbut I’m trying too get started adjustable beds and mattresses create mmy own. Do you
require anny coding expertise to make your own blog?
Anny help would be greatly appreciated!

Leave a Reply