Parallell Reads From Hell: A Madman’s Primer on ReadyBoost

jimchamplin
7

I’m about to out myself as a kook, I’m pretty sure.

I use ReadyBoost. There, I said it. This really misunderstood Windows feature is far better than it was ever given credit for. If the tech of the day had been better, it could have actually mattered in the Vista days, and really sped up a lot of lackluster machines. Now in the era of USB 3 and high speed external busses, it’s still a nice way to enhance a machine with big spinning platters.

To get at how ReadyBoost can help you, it’s important for you to understand what it isn’t. ReadyBoost is NOT RAM. It is NOT. It isn’t going to magically let you plug in a 64GB USB stick and have 64GB of RAM. There’s been a lot of false claims made about the inefficacy of ReadyBoost based on this misconception, so let’s not start off thinking that you’re going to have workstation-class RAM. It’s far more like a cheap “Fusion Drive.” SuperFetch will automatically manage the cache so that your most used data is accessible, and ReadyBoost places that cache on an external drive which is, for non-sequential reads, faster than your internal spinning platters.

 Now that we have that out of the way, we can go on to discussing what it can actually do for you. On a machine like mine where installing an internal SSD isn’t completely straightforward – It’s an Apple Mac mini which is all Windows. That hard disk is in there good. Why, I’ll never know, but it is. Also, it’s a 1TB drive, and still doing wonderfully. I run games from an external Patriot Spark SSD attached via USB3 (I’d rather use Thunderbolt or FW800 but whatever) and that’s about it. No real surprises.

That internal disk is 5400RPM. Longer-lasting probably due to lower heat, but you feel the difference in speed compared to a 7200RPM drive, even on an older machine plugged into a slower bus. That means boot times, application launch, and sometimes switching between apps if the load is high, can drag just a little sometimes. Here’s where ReadyBoost comes in.

With the SuperFetch service, Windows keeps up with what program and system data is used the most. It’s designed to make things launch faster and make often-used pieces of program code also run faster by caching it all near, so that it can be read more quickly by the disk’s read head. ReadyBoost takes this one step farther by copying the SuperFetch cache to these external USB drives which have dramatically better read times on non-sequential data. ReadyBoost is smart enough to know that if the cached data is sequential, let the hard disk do it. If it isn’t, let the USB stick do it.

Smart, huh? So how can we totally make such a system our little b!tch? The easiest way is to THROW AS MANY USB DATA DEVICES AT IT AS YOU CAN. The reason why is the simplest, oldest answer in the book: parallel workloads are faster than serial workloads. Let’s examine.

I have four USB mass storage devices set up with ReadyBoost. A 32GB Samsung Flash FIT, a 64GB SanDisk Ultra Fit, a 32GB SDHC card, and the Patriot Spark SSD. Of these, the Spark benchmarks the fastest, with the Samsung and SanDisk tying for second, and the SDHC coming in a close last, and each of them has 32GB of dedicated ReadyBoost cache configured.

When loading and using many bundled Windows apps and tools, use of the ReadyBoost cache is obvious – configure perfmon to show you. The report style on the graph makes it incredibly easy to watch the results, as it shows cache bytes read and also skipped bytes (when it goes to the HD.) On this system which has had this cache running for some time, the amount of data pulled from ReadyBoost is pretty high, and often is much higher than the HD and the reason is that it can pull from any one of those four sources, or all of them at once, increasing throughput greatly. You get SSD-like launch times. The difference in this system with those drives taken out is astonishing. The drive has to grind more to load data, and overall it’s just not as efficient.

Questions yet to be answered: Is the cache duplicated on each device, or is adding devices increasing the size of the cache? Why do we have two arms? Why not three or four? Why is the sky black?

I hope you’ve enjoyed my strangely extemporaneous mood and that you gleaned something from this. If you’ve got any additional experience or information… or yes, even questions about my apparent madness, please feel free to ask.

Post Reply

Register for this Webinar