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).

Index How Much RAM?
Comments Locked

105 Comments

View All Comments

  • thebrown13 - Thursday, February 1, 2007 - link

    This is TOTALLY false. Microsoft allows content providers to do what they want with their content. Again, THE CONTENT PROVIDERS DECIDE WHAT THEIR CONTENT PLAYS ON. MICROSOFT DECIDES NOTHING.
  • MAIA - Thursday, February 1, 2007 - link

    The architecture is still x86 with 64-bit extensions. The correct naming should be 32-bit x86 and 64-bit x86. Although some vendors use the x64 "slang", this only serves to create more confusion, making people believe it's a different architecture. More, editors and reviewers should use the correct definitions, they also have an educating factor which have to live up by a good standart.
  • Ryan Smith - Thursday, February 1, 2007 - link

    It makes little sense on our part to use something different than Microsoft's own terminology here when talking about Vista. The x86-64/EMT64/AMD64 versions of Vista are all called Vista * x64, so we're going to be consistent on using Microsoft's naming to avoid possible confusion among Windows versions.
  • Myrandex - Thursday, February 1, 2007 - link

    Eh I don't know how x64 can get confusing, but x86_64 is pretty typical as well.
  • smitty3268 - Thursday, February 1, 2007 - link

    Actually, it is a new architecture that just happens to be backwards compatible with x86. That is why there are twice the number or registers available and not just the same amount doubled in size. You're right that x64 is not the correct name, (it's technically called x86-64) but what does it matter? Everyone knows what it means.
  • Gunlance - Thursday, February 1, 2007 - link

    I wish I could agree about the new installer. My experience with trying to boot windows vista so far is worse than when I learned how to put NetBSD on an Apple G3.

    In fact I am still trying to get into the Windows Vista setup as I type this comment. I have been up all night :( I simply just don't get it. Every OS I have ever put on my desktop at least boots, and the vista beta's installed fine. Ugh.

    The article was great! Heh. It has made me a bit more frustrated though. Because here I am with vista but still only being able to read about.
  • erwos - Thursday, February 1, 2007 - link

    Your OpenGL performance numbers are radically higher than what Tom's has. Could you comment on the drivers and installation that you used?
  • Ryan Smith - Thursday, February 1, 2007 - link

    Normally I tend to avoid commenting on anything involving competitors, but...

    Assuming I'm looking at the right article here, they were using the Catalyst 8.31.100.3.2.1 driver, which was released back in December. We were using the Catalyst 7.1 driver(version # 8.33.something). ATI did not include an OpenGL driver until 7.1(and just barely at that).
  • ktgktg - Thursday, February 1, 2007 - link

    I'm surprised that the article didn't mention how much ReadyBoost could lower the boot time. A member of notebooreview forums claimed that http://forum.notebookreview.com/showthread.php?t=1...">he lowered the boot time on a laptop (slower HD) from 80 to 43 seconds (including POST) with a 2 GB SD card. Remember that http://en.wikipedia.org/wiki/Comparison_of_memory_...">SD cards are slow compared to USB and CF. Although they're all slow compared to RAM, they have the benefit of storing the data until next boot.

    SuperFetch seems to be just another reason for using standby mode.
  • yacoub - Thursday, February 1, 2007 - link

    Any word on FireFox compatibility with Vista? That is, does it run just as flawlessly as it does under XP x86 and x64?

    Just wondering. The comment on the Conclusions page about IE 7+ being the new standard for Safari is what made me think to ask.

Log in

Don't have an account? Sign up now