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.
-
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.
-
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.
-
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.
-
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 -
-
-
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? -
Exactly right apart from 128KB stripe I think means 64KB segments on each drive.
-
I use 64kb on my systems, it seems to work just fine for Gaming and multi-media.
-
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. -
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.
-
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?
-
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. -
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. -
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.
-
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+. ^_^ -
-
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. -
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.
Fastest Stripe Size for Raid 0 Configuration
Discussion in 'Gateway and eMachines' started by Narukari, Dec 2, 2008.