The Notebook Review forums were hosted by TechTarget, who shut down them down on January 31, 2022. This static read-only archive was pulled by NBR forum users between January 20 and January 31, 2022, in an effort to make sure that the valuable technical information that had been posted on the forums is preserved. For current discussions, many NBR forum users moved over to NotebookTalk.net after the shutdown.
Problems? See this thread at archive.org.

    Fastest Stripe Size for Raid 0 Configuration

    Discussion in 'Gateway and eMachines' started by Narukari, Dec 2, 2008.

  1. Narukari

    Narukari Notebook Geek

    Reputations:
    4
    Messages:
    96
    Likes Received:
    0
    Trophy Points:
    15
    I've seen opinions here and there about what stripe size to use to maximize speed using raid 0, but I was wondering whether anybody here knew what stripe size would give me the fastest loading times on games.

    Main games I play:

    Source (css, hl2, tf2, etc...)
    Fallout 3
    Jedi Knight 2
    GW
    eventually GW2

    edit: Ill be installing xp32 onto it, I already got a slipstreamed cd with the intel drivers on it.
     
  2. dem1zer

    dem1zer Newbie

    Reputations:
    0
    Messages:
    1
    Likes Received:
    0
    Trophy Points:
    5
    I'm also interested in the answer to this one. Right now, the RAID 0 config on my P-6831FX has the default 128 KB stripe size.
     
  3. Narukari

    Narukari Notebook Geek

    Reputations:
    4
    Messages:
    96
    Likes Received:
    0
    Trophy Points:
    15
    Yea, I noticed that, but I've heard from others that the best setting is unique for each machine. Some harddrive arrangements can run a 64kb stripe just as fast as a 128kb, and some need it to be 256kb to be able to get the speed out of it. I was just wondering if someone else has figured out what the best setting is on the 68xx series.
     
  4. iaTa

    iaTa Do Not Feed

    Reputations:
    1,328
    Messages:
    2,675
    Likes Received:
    197
    Trophy Points:
    81
    It all depends on what sort of data is on the partition. Some people like to use an OS partition with a smaller stripe size of around 32 KB due to all the small files. You can then have a data partition with a larger stripe size.
     
  5. Jakamo5

    Jakamo5 Tetra Vaal

    Reputations:
    635
    Messages:
    1,456
    Likes Received:
    105
    Trophy Points:
    81
    This is a good idea and is what I do. I've tried MANY MANY different stripe sizes and tried to test the speed differences on each as best I could. Too often though, the speed differences were minimal, or were caused by other factors. On the successful tests that I did, I came to the conclusion that this is the best setup for my 7811 series, your 68** might be similar.

    2 Partitions -
    1) OS/Programs/Documents - 50GB partition size - 4kb cluster, 16kb stripe
    2) Games/Movies/Pictures - 322.52GB partition size - 32kb cluster, 128kb stripe

    To answer your question more directly, for gaming, you will be good with a 128kb stripe size.

    In general:
    smaller stripe size increases transfer rate
    larger stripe size increases positioning performance
     
  6. iaTa

    iaTa Do Not Feed

    Reputations:
    1,328
    Messages:
    2,675
    Likes Received:
    197
    Trophy Points:
    81
    It is my understanding that this is not the case. Cluster size is the only thing that affects the drive in this way.
     
  7. Jakamo5

    Jakamo5 Tetra Vaal

    Reputations:
    635
    Messages:
    1,456
    Likes Received:
    105
    Trophy Points:
    81
    You may be right, I've seen more than a few disagreements about it.
     
  8. Narukari

    Narukari Notebook Geek

    Reputations:
    4
    Messages:
    96
    Likes Received:
    0
    Trophy Points:
    15
    so would cluster size be the minimum size of a file?

    Like an 8kb cluster size/128kb stripe size

    Each driver would be divided into 128kb segments, and those segments would then have 16 8kb segments in them. Any file less than 128kb would be stored on some of the clusters in one stripe, and anything over 128kb would be divided between the harddrives on multiple stripes?
     
  9. iaTa

    iaTa Do Not Feed

    Reputations:
    1,328
    Messages:
    2,675
    Likes Received:
    197
    Trophy Points:
    81
    Exactly right apart from 128KB stripe I think means 64KB segments on each drive.
     
  10. flynnaz

    flynnaz I am a Night Elf Mohawk!

    Reputations:
    256
    Messages:
    2,545
    Likes Received:
    0
    Trophy Points:
    55
    I use 64kb on my systems, it seems to work just fine for Gaming and multi-media.
     
  11. fiziks

    fiziks Notebook Evangelist

    Reputations:
    94
    Messages:
    480
    Likes Received:
    59
    Trophy Points:
    41
    Just for clarification, Cluster Size and Stripe Size have no relationship to each other. An 8K cluster size means that the minimum file size is 8k (16 sectors). Cluster Size has to do with how the OS maps out the contents of what it sees as the hard drive (a RAID partition appears as a single hard drive to the OS). A larger cluster size means a smaller File Allocation Table (FAT), less fragmentation and potentially faster lookup for larger files (to my knowlege, it really isn't much of an improvement - YMMV), but more wasted space for smaller files.

    Stripe size is not known to the OS, the OS has a logical view of 512-byte sectors. When the OS writes to a cluster, it mearly instructs the hardware interface (in this case, the RAID controller) to write to several consecutive sectors. the RAID controller decides, based on stripe size, how those sectors will correspond to real sector addresses on disk. There is no guaruntee that an 16K cluster will reside entirely within a single 128K stripe.
     
  12. Jakamo5

    Jakamo5 Tetra Vaal

    Reputations:
    635
    Messages:
    1,456
    Likes Received:
    105
    Trophy Points:
    81
    Thanks for the clarification. However, there is a small relationship between them in that, for best performance, the cluster size should be 1/4 the stripe size. By default, windows uses 4kb as an "optimal" cluster size for large and small files. It's one of the reasons I use 16kb as my OS stripe, but anyway, Vista uses NTFS by default.
     
  13. fiziks

    fiziks Notebook Evangelist

    Reputations:
    94
    Messages:
    480
    Likes Received:
    59
    Trophy Points:
    41
    That is one convention, but it is not a relationship imposed by either the OS, BIOS or RAID controller. You and the OS know the cluster size, but the RAID controller doesn't, nor does it care. You and the RAID controller know the stripe size, but the OS doesn't, nor does it care. If you decide to impliment an arbitrary stripe size based on the cluster size, that's up to you. But to make such a blanket statement and say it provides best performance. I think I'm going to have to respectfully disagree with that one. Could you provide a reference for that recomendation?
     
  14. Jakamo5

    Jakamo5 Tetra Vaal

    Reputations:
    635
    Messages:
    1,456
    Likes Received:
    105
    Trophy Points:
    81
    As with most situations in which the factors are variable, it was a general statement, which by definition excludes it from being considered a "blanket statement." Regardless, just because you didn't know the information doesn't make it a blanket statement. It's common knowledge to anyone who's tested or researched different raid configurations (I've done both). Likewise, just because the Controller doesn't know the cluster and the OS doesn't know the stripe doesn't make my choice "arbitrary." You're acting like the Controller and OS not only don't use the same HDD but don't even interact... which is simply not true at all. Normally, I'd probably tell you that you can do your own Google search, but since it only took me a minute to get these results, here you go:

    http://www.overclock.net/2207698-post6.html
    http://www.xtremesystems.org/forums/showpost.php?p=1465685&postcount=7
    http://www.nvnews.net/vbulletin/showpost.php?p=685116&postcount=3
    http://forums.pcper.com/showpost.php?p=4320821&postcount=55
    http://hadrys.wordpress.com/2008/11/06/raid-0/

    are just some of many... I'm sure you can search for yourself if you want more information. I'm simply making a suggestion that will probably have little affect anyway, but the point being I'm trying to help the OP, and regardless of whether or not you agree (without even researching it it would seem), I'm not providing him/her with any false information, only generalizations. I think we can both agree though, that this makes little difference, the only large performance increase is seen between No Raid and Raid 0, everything after that is generally minimal.
     
  15. Narukari

    Narukari Notebook Geek

    Reputations:
    4
    Messages:
    96
    Likes Received:
    0
    Trophy Points:
    15
    Well, I just formatted under raid 0 a few times to test the games I was using. Just wondering though, how do you change the cluster size when creating the raid configuration?

    I used both 64KB and 128KB stripe sizes.

    Source games, and fallout 3 had decent increases in loading times.

    Guildwars actually became much slower, Loading the map stayed about the same, but once inside the map it had difficulty loading objects "on the fly". I'm guessing this might be beause of the large stripe size, or that I was only using a 4KB cluster size with the huge stripe sizes.

    So, judging from the above links, a 16KB stripe size should still give me a nice increase in loading times, right?

    And if so, ill probably test out guild wars on it to see if there's an improvement to the "on the fly" object loading.

    edit: I'll reinstall using a 16KB stripe and see how that runs, so I'll be back in an hour or so.
     
  16. iaTa

    iaTa Do Not Feed

    Reputations:
    1,328
    Messages:
    2,675
    Likes Received:
    197
    Trophy Points:
    81
    I very much doubt the differences that you are seeing are down to the stripe size. There are too many other variables. You set the cluster size when you format the drive by the way. This option is not available at Windows setup drive selection / format so you would have to use a separate utility beforehand.
     
  17. Narukari

    Narukari Notebook Geek

    Reputations:
    4
    Messages:
    96
    Likes Received:
    0
    Trophy Points:
    15
    Ah, thanks for the info.

    I just finished reformating again with a 16KB stripe size 4KB cluster size, and it is working much better now. There is a slight slowdown in big cities on guild wars, but nowhere near what it was when I was using a 128KB stripe size. I don't know if it was the stripe size that was causing this or something else I inadvertantly fixed the problem. Source games and fallout 3 still seem to load just as fast as it did in 128KB stripe size.

    Thanks for all the help and rep+. ^_^
     
  18. Jakamo5

    Jakamo5 Tetra Vaal

    Reputations:
    635
    Messages:
    1,456
    Likes Received:
    105
    Trophy Points:
    81
    Enabling "Write-Back Cache" will likely help you a lot. To do this, go into start > all programs > intel matrix storage manager. Then on the tree, under "Volumes", right click each volume (it sounds like you only have one) and select Enable Write-Back Cache.
     
  19. fiziks

    fiziks Notebook Evangelist

    Reputations:
    94
    Messages:
    480
    Likes Received:
    59
    Trophy Points:
    41
    Jak,
    If you find that a 16k stripe size works for you, then great. I have no problem with you saying that you find it works bets for you. My position is that it is the 16k stripe size that is important to your environment and not the relationship between the stripe sze and the cluster size. I have done RAID testing for commercial applications as part of my job. It is the stripe size that is important. I suggest you read the quote in the first entry in this forum http://www.techspot.com/vb/topic1596.html... It gives a fairly good description of the problem even though it is 6 years old. Since the cluster size is the minimum sized I/O request the operating system will make and you may want to base your minimum stripe size on the cluster size. Optimum stripe size relys on a number of factors, including # of disk heads, the optimum I/O size for a given drive (for some drives, a 64K or 128K read or write is just as fast as a 4K read or write, meaning that smaller stripe sizes really buy you nothing), the controler, and the average, and mean size of the files (assuming your application reads the file in its entriety - if the application reads a large file in smaller blocks, then that factors intor your stripe size too) in the environment you are trying to optimize. Notice I mentioned some disk characteristics? The optimum stripe size for a pair of 160GB Toshibas may be quite different that a pair of 320GB Seagates.

    As Jakamo reccomended, enabling the write cache will help a lot with write operations. And the size of your on-drive cache factors in as well. Cache can cover up a lot of configuration inadequacies, which is why you see onboard cache in high-end disk and raid controllers. Memory to memory transfers are always faster than memory to disk transfers.

    There is tons of information out there. Some of it good, some of it not so good. I saw one site that clung to the belief that if you had a large stripe size and wrote a small file, the rest of the stripe is wasted space. (This is true of clusters, NOT stripes).

    I work with guys who could write books on RAID configuration (in fact, I think one of them has).

    To really find the optimal stripe size for your system, you need to identify the environment that you want to optimize (Windows load times, in game load times, video streaming, etc) and then test severla different stripe sizes to see what works for you. Sadly, to do that on a laptop, you have to reload the OS and your environment each time you want to change the RAID config, making it a real pain.
     
  20. Jakamo5

    Jakamo5 Tetra Vaal

    Reputations:
    635
    Messages:
    1,456
    Likes Received:
    105
    Trophy Points:
    81
    I agree with that. The stripe size is definitely the most important factor here, and I never said otherwise. I wasn't trying to say that the relationship between stripe and cluster is more important than any other factor here, and in fact I admitted that it would likely make little difference. My main point was that it's just not true at all to say that there is no relationship between stripe and cluster, and that there are many who agree with my opinion that there is an optimal stripe to cluster ratio to go along with that relationship.

    Yes, optimal stripe size relies on a number of factors such as those that you listed, but that's the beauty of this relationship to cluster - it's a ratio. This means that you can take into account those other factors without disregarding the cluster, since you can first decide which stripe you want to use, and then match the cluster to 1/4 that stripe. Lucky for me, I had best results (and others have agreed) with a 16kb stripe size for the OS, which also happens to conveniently and probably not coincidentally be four times Vista's default cluster, and so I didn't have to change the cluster to maintain the ratio. It was a perfect fit. The point here being that you don't have to give up anything else in order to go with the optimal stripe cluster ratio. And my main point was that there IS a stripe cluster relationship, and it remains a factor in the equation.