Using a Vsuite Ramdisk for Readyboost a benefit?
Posted: Thu Jan 21, 2010 12:04 pm
I've noticed a number of posts about using a ramdisk for Readyboost. The purpose of Readyboost is, as the name implies, to boost readiness. That is how quick software,including the operating sysytem, loads and becomes usable. It dosn't improve performance. It is in fact a small file disk cache. Small files take longer to find on a hard drive than they do to transfer. Using Flash Memory as a cache means the time to find and transfer small files is quicker despite the lower transfer speeds. Crucially flash memory dosn't lose it's data on shutdown. So the files are available imediately during boot up, speeding it up. Using a ramdisk , which needs to load it's data during the boot process, actually slows the boot process down!
Since Readyboost is a disk cache it dosn't come fully loaded with files when you first set it up. It takes a few boots for the file system to load operating system files onto it. Equally you have to run applications a few times to get any benefit. That is why when you first enable Readyboost the cpu loading goes up. The operating system is busy working out which files will benefit from being cached on it, and loading them into the cache. Readyboost dosn't work by loading files you might need now, like Vcache. That would use up flash re-write cycles. It's more historic, storing files you have used and storing them semi-permenently so only read operations are used most of the time in the future.
The operating system already has a volatile file cache which uses ram. Taking memory to create a readyboost file cache may result in less memory for the main cache, and poorer performance. Many describe readyboost as working along side the main cache. That would be a bad design. If files are being used they should be cached in the main cache, in ram, where access is faster than flash memory. It's more sensible to see Readyboost as additional cache between the main cache and the hard drive. Large files bypass readyboost and load as fast as they can be, small files are loaded from the readyboost cache faster than form the hard drive. Either way they end up in the main ram cache. That's why it would be a waste of ram to use it for Readyboost. If you need to use a file you would end up with two copies, one in the Ram Readyboost, and another in the main Ram cache.
Since Readyboost is a disk cache it dosn't come fully loaded with files when you first set it up. It takes a few boots for the file system to load operating system files onto it. Equally you have to run applications a few times to get any benefit. That is why when you first enable Readyboost the cpu loading goes up. The operating system is busy working out which files will benefit from being cached on it, and loading them into the cache. Readyboost dosn't work by loading files you might need now, like Vcache. That would use up flash re-write cycles. It's more historic, storing files you have used and storing them semi-permenently so only read operations are used most of the time in the future.
The operating system already has a volatile file cache which uses ram. Taking memory to create a readyboost file cache may result in less memory for the main cache, and poorer performance. Many describe readyboost as working along side the main cache. That would be a bad design. If files are being used they should be cached in the main cache, in ram, where access is faster than flash memory. It's more sensible to see Readyboost as additional cache between the main cache and the hard drive. Large files bypass readyboost and load as fast as they can be, small files are loaded from the readyboost cache faster than form the hard drive. Either way they end up in the main ram cache. That's why it would be a waste of ram to use it for Readyboost. If you need to use a file you would end up with two copies, one in the Ram Readyboost, and another in the main Ram cache.