AOA Forums

AOA Forums (
-   Windows/Linux SMP Clients (
-   -   Dual Windows SMP Clients on Quadcores (

ThunderRd 31st December, 2007 01:34 PM

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:

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.

Samuknow 31st December, 2007 01:42 PM

Up on the front page...

You rock...

Daniel ~ 2nd January, 2008 10:11 PM

Many thanks ThunderRD!

Copied over to "Our FAQ"

I also took the liberty of linking you 1st line reference to Cliff's guide. If this is OK?

Samuknow 2nd January, 2008 11:47 PM

Man, your published all over the place.....

ThunderRd 3rd January, 2008 10:55 AM

Whatever works for the board is fine with me, Dan. You know I'll help however I can. ;)

Daniel ~ 3rd January, 2008 07:40 PM

Why yes, I've noticed that about you! ":O}

The Spyder 12th January, 2008 06:21 AM

Trying this on my Quad now :)

Think it will work on my Dual Quad Xeon?

SteveI 14th January, 2008 01:34 AM

Very nice Thunder,

I've been thinking about going quad for some time now. The drag on windows folding really held me back, since I didn't want to try linux. Seem like this is the solution.

I did some experimenting a while back... with 2 win-smp installs. Whenever I shut down one, the other would crash out, have you seen this?

ThunderRd 14th January, 2008 03:23 AM

Yes, I have, and I'm not sure why that is. There must be some process that only gets invoked once, and when you shut down the client they both go down. Don't have a workaround as yet.

I have been running this cpu under Linux for a while now and it does perform a bit better than windows. It's not a great deal, but a bit more just the same. But it is definitely more stable in Linux, not as many problems getting it started, etc.

It also isn't as CPU-bound as windows. With one client under Linux it only uses about 70-80% of the cycles, whereas in Windows it uses 100%.

Hence the threads about using two clients, trying to get some of the unused cycles working. But Stanford isn't really endorsing two clients for their own reasons. See my post near the end of this thread:

Regardless of what they endorse, it does increase production. It will be a non-issue after they re-vamp the points system, though.

cw823 24th January, 2008 07:26 PM

It's either mpiexec or smpd. You're sharing that service and when you shut it down on one, I believe it kills the other. I have heard of people losing the second WU when they shut down the first. Not a good idea, IMHO

All times are GMT +1. The time now is 10:42 PM.

Copyright ©2001 - 2010, AOA Forums

Search Engine Friendly URLs by vBSEO 3.3.0