An interesting tool I've used this week to fix a problem of mine is imagecfg.exe which originally shipped as part of the Windows 2000 Resource Kit. Among its abilities is to patch a win32 exe to use a particular CPU, rather than having affinity with every processor in your system when executed. Particularly this is useful if you’re running an application or some Windows 9x games which seem to come apart at the seams should they see Hyperthreading Enabled/SMP systems. It offers a nice benefit of not having to entirely disable hyperthreading or bringing up the task manager each time you start an application to set a single affinity. Another application called XPCU offers the ability to launch a program with particular affinity settings and does not modify the exe as imagecfg does, instead it working on the command line settings issued by the user.
For Longhorn I’d like to see affinity settings for applications integrated into the existing Application Compatibility since we seem to be heading towards a time where Hyperthreading and Multicore CPU’s will be the norm.
For more information on XPCU see:
http://www.appliedvisual.com/xcpu.htm
For more information on this use of imagecfg see:
http://www.robpol86.com/misc_pgs/imagecfg.php