Saturday, October 4, 2008

Optimizing XP for Dual HD/SSD [Part III]

In the previous parts (Part I, Part II) I've talked about why having more disks is better, and how to make sure Windows uses it the best possible way.

But, even though traditional Hard Drives (with rotating magnetic media) are still the most popular type of HD (and will probably continue to be for some time) SSDs are slowly beginning to emerge as viable alternatives.


Tweaking Windows XP for SSD use

These disks rely on Flash memory for storage and have no moving parts - which makes it ideal for rugged operation. Having no moving parts and using Flash means they also have lightning fast access times.

While traditional Hard drives have latencies in the order of the milliseconds (7-9ms) SSDs latencies are measured in the nanoseconds range.

This means that most techniques, developed over the years, to overcome the latency of traditional hard drives is now rendered "obsolete" and can even become counterproductive.

However, you should keep in mind that there are a lot of different SSDs out there, and while some may perform flawlessly, others may be plagued by issues such as slow write cycles and/or inefficient controllers.

But even in a worst case scenario, SSDs offer unbeatable access times and rather good to excellent read performance.

So, our quest here is to reduce the number of writes as much as possible - particularly in the case of large numbers of frequently changed small files, such as the ones your browser caches on your computer.


1) upgrade to as much RAM as you possibly can.
This will allow you to disable the Windows virtual memory paging file.

2) disable unneeded disk space wasters such as System Restore, Hibernation, and even Indexing Services (unless you're really fond of it.)

3) disable prefetch
Prefetch is a method that reads some stuff from disk before you actually use. It was useful in situations where a traditional HD might be lagging behind under workload, but it comes at the expense of extra memory use and additional disk writes (Windows keeps a copy of these prefetch files on disk.)
Browse to C:\Windows\Prefetch to see everything Windows is storing there... probably even for programs you haven't run in ages - or already removed.

You can disable/adjust prefetch by editing Windows Registry. If you're not comfortable doing this, then stop here and ask for a friend's help. Last thing you'd want is to mess up the registry and end up re-installing Windows.

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Contro l\Session Manager\Memory Management\PrefetchParameters]
"EnablePrefetcher"=dword:00000000

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Dfrg\BootOpt imizeFunction]
"Enable"="N"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Curr entVersion\OptimalLayout]
"EnableAutoLayout"=dword:00000000


Check this link to learn some more about it and also see how to re-enable Prefetching if needed.



Hopefully, the next generation Operating Systems will be able to use SSDs more effectively than current versions that were developed using all sorts of tricks to get the most out of traditional hard drives.

Eventually, we'll get to a point where everything is bound to be "Ram-like" and people won't care about how many "Ram, HD, SSD, cache" space it has... things will just work. And it will be up to the computer to best determine if/when/how to do its thing, whether it pulling data from the cloud, or storing a copy on local storage, or... who knows?

For now, we'll keep looking into SSD prices, and hope it won't take long until we can all afford Intel (or similarly performing) SSDs.

3 comments:

  1. something i hope will also happen soon is game developers starting to optimize their products for SSD installation. even if you're not running your OS off the flash drive, running games from them can still be faster. some games already use the [current user]'s folders for storing data, they should give us the option to store the majority, if not all, files that will need to be patched or changed (skins, config, etc) there - so you're basically only writing to the SSD once for each program. granted, the executables and some data files are often patched annd are usually the largest. looking at it another way, any loadtime speedups by installing to SSD might be lost by patching each of those files in memory (for example), but the game itself would still probably run much smoother. with the amount of ram in computers built to play games that require a lot of power, it's silly that this hasn't (to my knowledge) been tried yet.

    ReplyDelete
  2. Well, eventually we won't have to worry about it - as SSD controllers evolve, we won't have to care about it as they will intelligently manage all that.

    However, in this "transition" period, it may become a problem for very write intensive applications.

    Worst case scenario I can imagine, would be having a SSD almost full (say 95%) and have lots of small files being written constantly.
    Although they do have some "spare" area to use for error recovery, it would have a lot less space to distribute the "writes" around, and could potentially become a problem.

    Hopefully, the next OS coming around will have methods to efficiently use SSDs.

    As for games, yes there are lots of "bad programming" going around.

    I for once, never understood those games, that - for example - require you to load an entire level again when you die (or something), when it's already in memory. More so, if it the game may actually need to do that in a 1GB PC - it certainly wouldn't in 4GB machine.
    (And don't even get me started on those multi-gigabyte *required* installs when you can play the same game on a console without installing anything. I agree that HDs speed up the "experience", but it should be optional, non mandatory.)

    ReplyDelete
  3. extremeFFS has promised some vast improvements

    ReplyDelete

Related Posts with Thumbnails

Amazon Store