Sign in with
Sign up | Sign in
Your question

Fishing for opinions - best hard drive setup for compiling/writes

Last response: in Storage
Share
April 17, 2009 5:57:14 PM

Greetings,

What is everyone's opinion on the best setup for a PC where the main target will be a programmer doing compiling of code?
I believe the main bottleneck for performance are hard drive speeds (correct me if I'm wrong) and since we are running standard 7200 RPM drives I am investigating better alternatives.

So far I have tried a RAID 0 configuration with 2 150GB VelociRaptors on a DX48BT2 Intel Extreme motherboard using the onboard Intel Matrix RAID controller (ICH9R I believe). Obviously this has improved performance. The problem was I introduced too many hardware changes just to gauge the hard drive performance, as the processor was upgraded and a fresh install of windows XP was done.
Also I am hesitant in adopting this configuration for programmers due to the inherint risks.

Next thing I am trying this afternoon is simply cloning everything from a 7200 RPM drive to a VelociRaptor (WD3000GLFS) using Symantec Ghost.
I'll be running HD Tune before and after to see the results and will post the screencaps here.

The other idea is to use SSDs. Again I think the main bottleneck with those are write speeds so that would probably not be a good way to go (correct me if I'm wrong).

Please post feedback, ideas, and even flames ;)  .

Thank you.
April 17, 2009 9:47:52 PM

-Before Ghost clone-

Barracuda 250GB 7200.10 (ST3250410AS):

HD Tune: http://img512.imageshack.us/img512/3889/benchbeforevr15...
HD Tach: http://img382.imageshack.us/img382/3889/benchbeforevr15...

-After Ghost clone-

VelociRaptor 300GB 10,000RPM (WD3000GLFS)

HD Tune: http://img513.imageshack.us/img513/9673/benchaftervr151...
HD Tach: http://img513.imageshack.us/img513/192/benchaftervr1510...


Different computer:

-RAID 0 2x VelociRaptor 150GB 10,000RPM (WD1500HLFS)-

HD Tune: http://img522.imageshack.us/img522/752/bench1511xpkurtr...
HD Tach: http://img522.imageshack.us/img522/1218/bench1511xpkurt...


Related resources
a b G Storage
April 18, 2009 1:48:38 PM

2 x Seagate ST3500320AS (500GB) HD in Intel Matrix Raid configuration.
RAID 0 boot partition HD Tach:
http://img6.imageshack.us/img6/9589/hdtachy.jpg


phlie,
RAID 0 2x VelociRaptor 150GB 10,000RPM (WD1500HLFS)- is no better than 2 x Seagate ST3500320AS (500GB) RAID 0?
Interesting...
April 19, 2009 1:58:53 AM

Both of you guys, there is something wrong. There is some sort of bottleneck for about the first 40% where speeds are far slower than they should be. It looks as though there is another process using the drives. Have you tried using a separate disk for the OS?

Here is a test with 4 Raptors(74GB) in Raid 0 and Raid 10 using Intel's Matrix Raid. The Raid 10 is using the first 60GB of space and the rest is used by the Raid 0. So, the Raid 0 numbers would have been a little higher had it used the entire disk. Also, the Raid 10 speed is basically equal to a 2 drive Raid 0.

http://i212.photobucket.com/albums/cc229/housemusc/3war...

This was done on an ASUS P5B Deluxe board with ICH8R.

One thing to check within the Intel Matrix Storage program is to see if "Write-back Cache" is enabled and ALSO "Volume Write-back" is enabled.
April 19, 2009 4:17:23 AM

Get an external RAID card because the ones that come on board can get corrupted easy. Also a Core 2 Quad processor and a couple GB of RAM would be fine.
April 20, 2009 2:04:14 PM

specialk90 said:
Both of you guys, there is something wrong. There is some sort of bottleneck for about the first 40% where speeds are far slower than they should be. It looks as though there is another process using the drives. Have you tried using a separate disk for the OS?

Here is a test with 4 Raptors(74GB) in Raid 0 and Raid 10 using Intel's Matrix Raid. The Raid 10 is using the first 60GB of space and the rest is used by the Raid 0. So, the Raid 0 numbers would have been a little higher had it used the entire disk. Also, the Raid 10 speed is basically equal to a 2 drive Raid 0.

http://i212.photobucket.com/albums/cc229/housemusc/3war...

This was done on an ASUS P5B Deluxe board with ICH8R.

One thing to check within the Intel Matrix Storage program is to see if "Write-back Cache" is enabled and ALSO "Volume Write-back" is enabled.


It does appear there is a bottleneck as my tests fluctuate whereas other HD Tune & Tach tests I've seen are more even like the one's posted above.

I haven't tried using a seperate disk for the OS but I think I will try.
My one hinderance is using 2 raptors for this... but I could try it as a test. I'll posts the results here once I do.
I was thinking if I did use a slower drive I assume the raptor would be the OS drive and the slower drive would be used as storage, correct? The slower drive would have code and files for compiling.
I think that would be a good test.

Thank you.
April 20, 2009 7:19:45 PM

Phile, is there a bottleneck now with the 2 V-Raptors?

For best performance, you probably could put the OS on a 7200rpm drive and then use 1 V-Raptor for Compiles & the other for writes.

Look at my Raid 10 numbers which used 4 Raptors. If you want performance plus data security, this would be the best route. You should be able to do it with 7200rpm drives too.

How much space do you need for compiling and such?
April 20, 2009 7:58:35 PM

phlie said:
Greetings,

What is everyone's opinion on the best setup for a PC where the main target will be a programmer doing compiling of code?
I believe the main bottleneck for performance are hard drive speeds (correct me if I'm wrong) and since we are running standard 7200 RPM drives I am investigating better alternatives.

So far I have tried a RAID 0 configuration with 2 150GB VelociRaptors on a DX48BT2 Intel Extreme motherboard using the onboard Intel Matrix RAID controller (ICH9R I believe). Obviously this has improved performance. The problem was I introduced too many hardware changes just to gauge the hard drive performance, as the processor was upgraded and a fresh install of windows XP was done.
Also I am hesitant in adopting this configuration for programmers due to the inherint risks.

Next thing I am trying this afternoon is simply cloning everything from a 7200 RPM drive to a VelociRaptor (WD3000GLFS) using Symantec Ghost.
I'll be running HD Tune before and after to see the results and will post the screencaps here.

The other idea is to use SSDs. Again I think the main bottleneck with those are write speeds so that would probably not be a good way to go (correct me if I'm wrong).

Please post feedback, ideas, and even flames ;)  .

Thank you.


hmmm

i havent seen too many people complain about HD bottlenecks during compiles. normally the cpu speed is the problem.

the config i run and recommend is a raid 1 for the os and programs ( speed is not really critical here, i dont really care if it takes 3 more seconds to load photoshop or visual studio). a small hdd on its own controller (even a cheap pci controller)for the pagefile ( single best improvement ive had). if theres alot stored on the machine ( i keep most everything im not immediately working on, on a network drive) then a separate raid 1 for data, with a scheduled defrag at least weekly.

rarely do you reach throughput issues with modern drives. the bottlenecks are normally seek based. unless you parse huge unindexed files all the time. common fixes for seek issues are more separate spindles (read as separate drives for data and pagefile and os, adding drives to a raid set will increase throughput but not help your seeks), switching to solid state ( negiligible seek time). and defragging religously (reduce the number of seeks for a single larger file)

the intel x25e's are darn good drives if you want seek and write performance in solid state. but they arent cheap.

i've been fairly happy with the intel matrix raid ( ich7-10r) for workstations.
April 20, 2009 8:09:12 PM

specialk90 said:
Phile, is there a bottleneck now with the 2 V-Raptors?

For best performance, you probably could put the OS on a 7200rpm drive and then use 1 V-Raptor for Compiles & the other for writes.

Look at my Raid 10 numbers which used 4 Raptors. If you want performance plus data security, this would be the best route. You should be able to do it with 7200rpm drives too.

How much space do you need for compiling and such?

Hey specialk90,

I haven't tried the 2x V-Raptors yet but will soon, just want to get some more benchmarks especially in regards to compile times/writes.
This is what I'm thinking for tests:
-2x 7,200 drives, just to see if that extra drive has any improvement.
-2x 10,000 V-Raptor drives, depending on above test to see the if we can squeeze out more performance.
-Your suggestion of the second drive being the V-Raptor 10,000 RPM one.

As far as space for compiling I would say around ~50GB give or take. That is generally the amount of space the programmers keep for their source code.

I have several users I can try this on and will report back once I have my findings and benchmarks.
Thanks!
April 20, 2009 8:20:03 PM

Ignatowski said:
hmmm

i havent seen too many people complain about HD bottlenecks during compiles. normally the cpu speed is the problem.

the config i run and recommend is a raid 1 for the os and programs ( speed is not really critical here, i dont really care if it takes 3 more seconds to load photoshop or visual studio). a small hdd on its own controller (even a cheap pci controller)for the pagefile ( single best improvement ive had). if theres alot stored on the machine ( i keep most everything im not immediately working on, on a network drive) then a separate raid 1 for data, with a scheduled defrag at least weekly.

rarely do you reach throughput issues with modern drives. the bottlenecks are normally seek based. unless you parse huge unindexed files all the time. common fixes for seek issues are more separate spindles (read as separate drives for data and pagefile and os, adding drives to a raid set will increase throughput but not help your seeks), switching to solid state ( negiligible seek time). and defragging religously (reduce the number of seeks for a single larger file)

the intel x25e's are darn good drives if you want seek and write performance in solid state. but they arent cheap.

i've been fairly happy with the intel matrix raid ( ich7-10r) for workstations.


Hey Ignatowski,

We came upon the HDD being our bottleneck because we had performance issues with compiling on several PCs and were trying to get to the bottom of it. One user had a badly fragmented disk, once defraged performance increased drastically. We have some tools to let us see the read/writes of a compile and the writes are generally through the roof on most machines. On the RAIDed computer they are better.

I'm interested in your idea of the seperate controller and small drive for the pagefile... never thought of that, might have to try it.
I would lean away from the SSD's for obvious reasons of price for the X-25's but I'm not going to count them out. I'll see how my above tests go.

Thank you.
April 20, 2009 8:33:15 PM

np

another option is to get a raid controller with dedicated write cache.

that way instead of tons of small writes directly to the drive your spooling them up for 1 big write which helps a bunch.

if cost is a major concern then ebay yourself a dell perc5 (rebranded lsi sas/sata controller) and the approriate cable. cost <$200 ( under $125 if you spend some time digging). and you get 256mb of ram specifically for caching disk io.



April 20, 2009 9:16:38 PM

Ok so I have some more results on the disk clone form a 7,200 drive to the V-Raptor 10,000 drive.

There was an average 22% improvement in compile times for two users I cloned over to the V-Raptors. The screenshots I posted for one of the users in my second post attest to that.

Interestingly the compile times for the RAID 0 2x V-Raptors were pretty much the same as the cloned single V-Raptor... I am thinking yes the RAID 0 gives better transfer rates than the single drive but their access times are the same as per the above benchmarks (around 7ms). From what I understand the way they compile files it is a bunch of small files so this would make sense... transfer rates benefit big files while access time benefits lots of small files.
Correct me if I'm wrong but I'll keep digging.
April 20, 2009 9:43:05 PM

that's about right. you might also try raid 1 on the raptors while your doing your tests.
last series of benches i ran show a slight improvement in seeks on raid 1 vs raid 0 probly due to the drives not having to seek simulatenously. your milage may vary.

one final test i can think of. watch where the bulk of the write activity is during your compile. and mount the second drive there. that way your giving the other drives iops directly where its needed and nowhere else. if its some temp space that is emptied when done you can consider using smaller alternative media just for that folder. ie an iram card if its less than 4 gigs required or an acard 9010 for under 16gig i mention those specfically since they are insanely fast and wont ever hit a write count limit.



April 21, 2009 4:54:23 AM

The reason Raid 1 times are faster is due to "Split seeks". This is something that only good controllers can do and the OS is able to seek using both disks at the same time; thus, seek times are reduced. Raid 1 is something that should be used when ever you can as it protects your data in case of a drive failure in addition to no downtime restoring/reinstalling the lost drive's data.

Another great option, which is cheaper than the V-Raptors, is to use Enterprise drives, such as the Seagate ES.2 500GB, and implement "Short Stroking". Toms Hardware just did an article testing this method where only the first 10-20% of a drive is used. They tested on 250GB desktop Hitachis using 12GB with a 90% increase in IOP performance and also 34GB with a 65% increase in IOP. The reason I say use the ES.2 500GB drive is this:
1) this drive is already almost as fast in IOP as the Velociraptor and is the fastest 7200rpm drive in terms of IOP-because it is designed for that environment
2) using the first 65GB will increase the IOP by at least 50%
3) This drive is only $90 vs $170+ for a V-Raptor; you could even run 2 of these in Raid 1 for about the same price as one V-Raptor and protect your data and increase performance at the same time.
4) These Enterprise class drives are designed to run 24/7 under constant load whereas desktop drives aren't.
April 21, 2009 8:25:17 PM

Guys thanks so much for your suggestions. I'm going to try some of these but it will take time to get everything setup.
I am now considering getting a pair of X25's for a very high end user and just trying a direct clone like I did above. It will be a direct clone of an already a 2 drive server-grade system (nonRAIDed). Any suggestions with these? I want to make sure I would be using them to full advantage.
April 27, 2009 4:04:40 PM

Latest:
Tried a second 7,200 RPM drive (same as the Seagates above, so two drives instead of one partitioned) where all the source code was placed and saw improvements with compile times.
I am setting up a test machine where I can clone the same image to different drives and try different drive configurations so I can compare apples to apples.

Purchased an Intel X-25M and will test it out as secondary drive.
April 27, 2009 6:45:55 PM

Are you going to test Short Stroking? I think this one method will help the most and not cost a lot.
May 12, 2009 10:32:49 PM

specialk90 said:
Are you going to test Short Stroking? I think this one method will help the most and not cost a lot.


I'll see if I can try short stroking and maybe implament it in one of my tests.

I have been testing the use of a second drive, by putting all the code on there.
So far I have seen improvements, but not by much (on my test rig anyway).

From a single 7200 to two 7200RPM drives I saw a 3% improvement for the standlone compile and around 10% improvement with a distributed compile (utlizing other computers to help compiling).
Cloning the secondary drive to a V-Raptor 10,000RPM improved slightly, and cloning to a X-25M again improved slightly over the 10,000RPM.

I'll be trying the high speed drives for the main drive to see if there is any difference there.
!