8
I am approaching that time where my main PC has slowed enough due to Windows rot that I should probably reinstall. Instead of spending a week arm-wrestling, reinstalling and configuring only to find that I forgot to back up my Visual Studio settings yet again, I'm going to upgrade. I've already purchased all the parts and am in the process of benchmarking to find the best configuration.
I bought two Crucial M4 120GB SSDs (updated to latest firmware as of April '12: 00F
) and have been running some quick benchmarks using CrystalDiskMark. Here are some results:
Single drive:
RAID 0
via Intel Z77 chipset controller:
These benchmarks are obviously not exhaustive, but I think they give me a good idea of what to expect between various configurations.
My understanding is that for most common usage patterns, namely development with Visual Studio (my primary usage), 4K
reads and writes are far more common, even during builds. Between RAID 0
and not, there's little difference. But with 512K
and Sequential
R/W, the differences are enough to merit attention.
The thing is, in order to avoid future rot issues - and, quite frankly, because I can - I'm going to be relying a lot more on virtualization. My plan is to segment different parts of my development environment into virtual machines using VMware Workstation: Visual Studio and accompanying tools on one, SQL Server on another, Adobe Design Suite on yet another, etc. By taking advantage of VM snapshots and the easy by which it is to create or clone new ones, I believe I'll see an improvement in long-term reliability (and only ever see Adobe update pop-ups when I want to).
So, my question is, does virtualization merit the usage of a RAID 0
SSD configuration over a traditional setup (in my case, OS and bare-metal apps on one SSD, VM's on the other)? Will virtualization take advantage of the 512K
and Sequential
R/W strengths of RAID 0
?
An observation:
I've read that some modern SSDs are capable of managing garbage collection on their own, so not having TRIM
is less of an issue. I don't know how to enable this on my SSDs or even see if they support it, however.
Edit:
Regarding disaster recovery, this system also has large standard platter drives for file storage and a secondary RAID controller that I'll eventually use in a mirrored array. Combined with nightly local backups, constant off-site backup via Carbonite and consistent off-site source control check-ins, I've got a sufficient means of preventing data loss.
1I'd steer clear of RAID 0 without an exhaustive disaster recovery plan, but virtualisation will definitely take advantage of the improved speed from SSDs in that configuration. – None – 2012-04-25T22:59:43.157
Good point. I forgot to mention I've also got some standard drives on board and I've got multi-headed on-site and off-site backups. So I'm not completely screwed if a drive dies, but that's a good point because I forgot if one drive in a RAID 0 array goes, all data is lost. – Chad Levy – 2012-04-26T00:13:26.780
1Another possible problem that may merit some attention: Running RAID may require all I/O to be in units of a particular stripe size. VMs are probably not going to be doing I/O aligned to these stripe sizes, and you'll cause massive write amplification that can significantly reduce your drives' lifetime. – afrazier – 2012-06-12T01:23:32.050