Back in April 2011 a Microsoft Research team published an interesting paper, Cycles, Cells and Platters: An Empirical Analysis of Hardware Failures on a Million Consumer PCs, which I found through Joel Hruska’s summary at ExtremeTech. The team analyzed crash reports sent from ca. 950,000 machines over an 8-month period in the year 2008.
While any computer whose crash report reaches Microsoft is obviously running Windows, the paper focuses exclusively on hardware failures concerning CPU, DRAM, or disks. The findings should therefore apply to consumer PCs running any operating system. Let’s first look at some results that meet expectations:
Initial failures over an 8 month observation period are not ubiquitous but not negligible either, exceeding 0.5% for CPUs, and components that fail once are two orders of magnitude more likely to fail again. This fits the rule of thumb that you best get rid of dodgy hardware as soon as possible.
Overclocking makes hardware failure up to 19x more likely. This is hardly surprising. Overclockers push the boundaries to find the highest stable performance, and crashes simply indicate they’ve gone too far.
Brand name PCs are more reliable than “white box” PCs, reducing failures by 29% for CPUs and nearly 3x for DRAM. Well, it’s a relief that you do get something for that premium price!
Perhaps more interesting are the report’s unexpected results:
Underclocking significantly reduces hardware failures, by 39% to 80%. This really shouldn’t be happening. Manufacturers apparently sell a lot of hardware that doesn’t quite meet advertised specifications, or else is inadequately integrated with the system (e.g. poor ventilation).
Laptops are 25% to 60% more reliable than desktops. Portable systems have much tougher operating conditions – smaller cases with greater potential for heat buildup, physical movement and battering while active – but evidently their sturdier design overcompensates for these conditions.
In conclusion, if you want a stable system you’d best get a brand-name laptop… and then underclock it.