View Single Post
  #1 (permalink)  
Old 31st December, 2007, 01:34 PM
ThunderRd's Avatar
ThunderRd ThunderRd is offline
Irreverent Query Chairman
Join Date: June 2007
Location: NYC native in northern Thailand
Posts: 2,241

Dual Windows SMP Clients on Quadcores

EDIT Oct '09: There are some caveats to be aware of. Before using this procedure please read this thread:
Dual Linux SMP clients on Quadcore

This is a companion to ccperf's Dual Linux SMP clients how-to, for the LINUX-impaired.

I have, as a test, replaced one of my 925 dual cores with a Q6600 a few days ago. Just a straight drop-in, no muss/no fuss, no overclocking as yet. It's in one of my home machines, folding 24/7 on XP.

With no special attention it ran 10-11 minute step times on the SMP client. That's about 2100 PPD out of the box.

But here's the good news: are you aware that you can run 2 SMP clients on your quads? Now, there are several ways to do this. You can simply install another instance of the client and run it, XP setting both clients to use all cores. This works, but it isn't the fastest way. The next way is to manually set the affinity of the first client to 2 cores, and the second client to the other two. This is faster, but it's difficult to know how Windows detected the cores on boot and which two cores currently share cache. There are various combinations that windows uses, and it can change on rebooting so it's not always the same. Also, you'd have to babysit the clients and manually set the affinity each time a new WU is started; windows has no ability to pass the affinity assignment from parent to child processes in the FAH setup. So this isn't the most efficient way to run 2 clients, either.

Then there is the big news; let software set the affinities automatically. There is a Ukrainian folder/developer who has written a small windows service that does exactly that. Here is a link to the website, it's in version 1.0.4:

Fah Smp Affinity Changer [english]

You can read it yourself but essentially it changes the affinity dynamically and adjusts it according to load changes while running. It installs easily as a service and sets itself to start automatically with windows. There are no user configurable settings, so it's painless. It's also open-source, and here's the code:

fah-smp-affinity-changer - Google Code

And an in-depth discussion on the community forum, including a few comments on Linux and VMWare application:

Folding Forum ; View topic - SMP Affinity Changer

Now, I know what you all are waiting to hear. How does it work? Well, I am pleased to say that for me it works, and works well. From the above-mentioned step times of 10-11 minutes, step times have increased to about 16 minutes, but there are 2 clients so I'm producing effectively 1% in 8 minutes. That's a difference of 1000 PPD!

So, from 2100 PPD with one client, production for 1 Q6600 at stock speeds increases to 3100 PPD [on a non-O/C friendly MB]. I believe that is a remarkable advantage for quad users. Next step for me is to try to get this *POS* MB to overclock; I don't expect much so a new one is probably in the near future.

Ask your questions here, I'll try to answer.
#1: Tt Armor, ASUS Maximus Extreme, QX9650@4.1G, 8G Corsair Dominator GT DDR3-2000, Corsair HX1050, H2O-Swiftech, Gigabyte GTX470/Arctic Accelero Xtreme Plus II, Intel 520 SSD, Kingston SSD, 2xRaptor 150G RAID0, Win 7 Pro 64
#2: Tt Shark, ASUS P5Q Pro Turbo, Q6600@3.8G, 4G HyperX-1600, Corsair HX850, CoolerMaster V10, 2xASUS 9600GT, 2xRaptor 74G RAID0, OCZ Vertex 4 SSD, Gentoo/siduction Linux [64-bit]
#3, #4: Opteron 170@2.75G nude, A8N-SLI Deluxe, Gentoo

AOA Folding @HomeOur sister site:

Last edited by ThunderRd; 29th October, 2009 at 02:53 AM.
Reply With Quote