MMM
Results 1 to 25 of 63

Thread: Stripe size for SSD RAID0?

Threaded View

  1. #11
    Xtreme Addict
    Join Date
    Jul 2006
    Location
    Vancouver, BC
    Posts
    2,061
    Thanks for the explanation about pages and blocks. It's consistent with what I've read elsewhere.

    However, while the issues you raise with SSD's, particularly around writes, are characteristics worth noting, I don't see any relationship between some of these characteristics and the ideal stripe size debate.

    The benefits of RAID0 are increased parallelism... that is, you gain the benefits of fetching data from two or more drives in parallel or writing to two or more drives simultaneously. Right?

    Now, if we take an extreme case where the stripe size is say something ridiculous like 1GB... no one would ever use this... why? Because it would be incredibly rare for the OS to read or write more than a GB at a time so you would never see any benefits from multiple disks in RAID 0 since every read/write operation would be from a single disk.

    So, it follows that as you reduce the stripe size to something more useful you increase the chance that a piece of data you are reading or writing to disk will span across multiple volumes and therefore take advantage of the stripping.

    As you say, the average piece of data being written or read from disk is actually around 8KB (not 64 which I was merely using as an example). Well, you can see if your stripe size is 128KB and you are typically reading and writing 8KB pieces of data... how much of that is going to benefit from striping? Virtually none. The only benefit you will get is when there are multiple requests and they happen to fall on different physical disks... which admittedly is another way to exploit the parallelism of stripping but not the best way. The best way to ensure you are maximizing the capabilities of your stripped arrays would be to have the stripe size be some fraction of your average read/write request. No?

    It's been a long time since I read the theory on strip sizes... but I believe the old school thinking was that smaller stipes afforded more parallelism but with magnetic disks, they had the added issue of increased latency as each disk had to seek multiple times to satisfy a read/write request... so 64/N where N was the number of disks in the array was deemed a good compromise on stripe size between parallelism and seek times. What's odd, is that people familiar with this formula for ideal stripe size continue to push this theory with SSD's when it doesn't apply anymore. SSD's have virtually no seek time in comparison so following this old school theory for stripe size seems naive.
    Last edited by virtualrain; 05-09-2009 at 11:42 PM.

Bookmarks

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •