New I/O Features
One set of features we have held off on discussing in-depth until now have been the I/O related features in Vista, including ReadyBoost, ReadyDrive, SuperFetch, and the new networking stack. We'll get to the new networking stack in a bit, but first the Ready features and SuperFetch merit a bit of discussion.
SuperFetch
Depending on the scenario, a great deal of computing time is spent waiting for data retrieval due to processors being significantly faster than the mass storage devices. To that extent modern computers have a hierarchy of several levels of data caches to store and manipulate data, ranging from registers and L1 cache down to hard drives and their own cache. This system of cache layers works very well in hiding the speed differences between various layers, but there are still large gaps between places such as the CPU and RAM, and RAM and hard drives. One possible improvement - and certainly the most effective solution that Microsoft has implemented in Vista - is to try to move up required data to a higher layer, in this case by keeping more data in RAM than just the bare minimum.
The result of this is the first I/O improving technology, SuperFetch, a new technology designed to cache as much data as RAM space allows. Previously, Windows XP had a more basic implementation of this idea called prefetch, which used trace logs of programs loading in order to help XP optimize the loading sequence. SuperFetch in turn takes things a step further by not only figuring out what data is required to launch an application, but it actually loads this data into memory as space allows so that if it's needed at a later point the data is already in RAM instead of still residing on the hard drive.
In practice, SuperFetch depends a great deal on how predictable a user is and how much extra RAM a computer has. Veteran computer users will be slightly dismayed at first to find that Vista is actively attempting to use the entirety of a computer's RAM (down to 0MB of free memory remaining), which is effectively the opposite of how XP attempted to conserve as much memory as possible. This looks worse than it actually is, as cached data can immediately be thrown away to make space for an application as required, but Microsoft has nonetheless attempted to clarify things since Beta 2 where the Task Manager would only show total memory usage. Now the Task Manager makes it clear how much RAM is being used for program execution and how much is being used for cache, but this will still inevitably spark a few debates on if full RAM usage is really a good thing. Given that RAM tends to be a low power device operating at near full power all the time (especially on desktop machines), we feel RAM is the ideal underutilized component to try to fully exploit, as it doesn't incur the extra power costs of running at full load like a CPU/GPU do.
However as we mentioned previously, the total benefit is dependent in predictability and excess RAM. As SuperFetch is designed to predict what applications a user may load next and then pre-load them into cache (i.e., a user loads Outlook at 10am every day), it works better for users with routines than those without. Similarly, as Vista attempts to use all RAM for the cache, it can always benefit from more RAM to keep more things cached (a behavior similar to MacOS X).
One set of features we have held off on discussing in-depth until now have been the I/O related features in Vista, including ReadyBoost, ReadyDrive, SuperFetch, and the new networking stack. We'll get to the new networking stack in a bit, but first the Ready features and SuperFetch merit a bit of discussion.
SuperFetch
Depending on the scenario, a great deal of computing time is spent waiting for data retrieval due to processors being significantly faster than the mass storage devices. To that extent modern computers have a hierarchy of several levels of data caches to store and manipulate data, ranging from registers and L1 cache down to hard drives and their own cache. This system of cache layers works very well in hiding the speed differences between various layers, but there are still large gaps between places such as the CPU and RAM, and RAM and hard drives. One possible improvement - and certainly the most effective solution that Microsoft has implemented in Vista - is to try to move up required data to a higher layer, in this case by keeping more data in RAM than just the bare minimum.
The result of this is the first I/O improving technology, SuperFetch, a new technology designed to cache as much data as RAM space allows. Previously, Windows XP had a more basic implementation of this idea called prefetch, which used trace logs of programs loading in order to help XP optimize the loading sequence. SuperFetch in turn takes things a step further by not only figuring out what data is required to launch an application, but it actually loads this data into memory as space allows so that if it's needed at a later point the data is already in RAM instead of still residing on the hard drive.
In practice, SuperFetch depends a great deal on how predictable a user is and how much extra RAM a computer has. Veteran computer users will be slightly dismayed at first to find that Vista is actively attempting to use the entirety of a computer's RAM (down to 0MB of free memory remaining), which is effectively the opposite of how XP attempted to conserve as much memory as possible. This looks worse than it actually is, as cached data can immediately be thrown away to make space for an application as required, but Microsoft has nonetheless attempted to clarify things since Beta 2 where the Task Manager would only show total memory usage. Now the Task Manager makes it clear how much RAM is being used for program execution and how much is being used for cache, but this will still inevitably spark a few debates on if full RAM usage is really a good thing. Given that RAM tends to be a low power device operating at near full power all the time (especially on desktop machines), we feel RAM is the ideal underutilized component to try to fully exploit, as it doesn't incur the extra power costs of running at full load like a CPU/GPU do.
However as we mentioned previously, the total benefit is dependent in predictability and excess RAM. As SuperFetch is designed to predict what applications a user may load next and then pre-load them into cache (i.e., a user loads Outlook at 10am every day), it works better for users with routines than those without. Similarly, as Vista attempts to use all RAM for the cache, it can always benefit from more RAM to keep more things cached (a behavior similar to MacOS X).
105 Comments
View All Comments
FireChicken - Thursday, February 1, 2007 - link
I liked the old article title better..grzemaz - Thursday, June 24, 2010 - link
What should you do if the readyboost pendrive had been lost? How turn readyboost off when you do not have your old pendrive and you want to turn readyboost on with another one???ghd nz - Monday, January 7, 2013 - link
http://www.ghdplanchas-baratas.orglordcatalien - Thursday, June 6, 2013 - link
I'm curious for you to perform the same test above with Adobe Illustrator. My performance didn't seem to be affected even with a 3GB ReadyBoost in place.Ikem64 - Wednesday, August 31, 2016 - link
> Vista's auto-_tuning_ system is designed to surpass XP's scaling systemTypo.