Killer[MoB]
[H]ard|DCer of the Month - March 2008
- Joined
- Jan 15, 2001
- Messages
- 3,943
As more and more folders are curious about running multiple Windows SMP clients on a Core2Quad using Affinity Changer in a straight up Windows environment, their is a need for more understanding what not to do and what measures you can take to make it easier in case of a problem. For most people, using Affinity Changer allows the frame times on both Windows SMP clients on the quad to be very close to what you would see running a single Windows SMP on a Core2Duo of the same speed. In other words, a quad at 3.4GHz will give you almost the same points as two 3.4GHz dual cores.
Update 1: After some serious behind the scenes testing by relic, BillR and myself, it has been determined that running Affinity Changer with Vista SP1 has little to no improvement over running two instances without Affinity Changer. SP1 includes a update for CPU scheduling and it seems to be making some machines less responsive and without a doubt erases the huge benefit of Affinity Changer on a dual WinSMP folding setup running Vista.
There are a couple of advantages to doing this:
There are several potential problems as well:
Now, the main thing to cover to make sure this goes as pain free as possible is to cover the biggest issue. That issue is "Just as with running two instances on a dual quad in windows, you risk the clients crashing and losing work when shutting them down." What happens is that when you CTRL-C one client, the other one immediately crashes and it crashes hard taking the work with it. The client just isn't written to handle being run side by side within the same OS. I'm sure it has to do with it being mutli-threaded because, as we all know, you can run the regular console client multiple times without any problems.
Here are the current solutions to this problem:
Update 1: After some serious behind the scenes testing by relic, BillR and myself, it has been determined that running Affinity Changer with Vista SP1 has little to no improvement over running two instances without Affinity Changer. SP1 includes a update for CPU scheduling and it seems to be making some machines less responsive and without a doubt erases the huge benefit of Affinity Changer on a dual WinSMP folding setup running Vista.
There are a couple of advantages to doing this:
- The machine remains responsive. I judge it to be the same as a single SMP client running.
- The points increase is impressive over a single client.
- It's really easy to set up. Install the second instance in its own folder (C:\Program Files\Folding SMP2 for example) and set it up with Machine ID 2. Use -local as the first thing in your shortcut for starting the clients plus whatever other flags you normally use.
- RAM use is low compared to running 2 Linux VMs. Basically just 2x that of a single SMP instance plus whatever the system is using.
- Affinity Changer does all the hard work of setting affinity auto-magically for you.
There are several potential problems as well:
- Just as with running two instances on a dual quad in windows, you risk, the clients crashing and losing work when shutting them down. There are work arounds which I will cover in more detail in a moment.
- When the client reports to Stanford, it will report 4 cores. So it is possible if the have some tougher WUs that they only want to assign to quads, you may get one and will be folding it on only 2 cores. Nothing you can do to fix this one.
- This is not a standard way of running the client just like running VMs is not. So if you have problems, you can't really complain. We are just trying to get the most work out of our equipment as we can, which is what we have been doing for 7 years now.
Now, the main thing to cover to make sure this goes as pain free as possible is to cover the biggest issue. That issue is "Just as with running two instances on a dual quad in windows, you risk the clients crashing and losing work when shutting them down." What happens is that when you CTRL-C one client, the other one immediately crashes and it crashes hard taking the work with it. The client just isn't written to handle being run side by side within the same OS. I'm sure it has to do with it being mutli-threaded because, as we all know, you can run the regular console client multiple times without any problems.
Here are the current solutions to this problem:
- Hit the reset button on your computer. This one is a bit harsh, but it is reported to work. ( I'm not trying it. )
- Unplug your network cable or disable the connection in XP. I don't think this will work in Vista as network problems don't stop the client from working like it does in XP. This causes the clients to stop working by killing off the 8 FahCore_a1.exe processes. You can then Ctrl-C to kill off the client windows. You can start folding back up at anytime without a reboot or any other action.
- You can manually or automatically back up your folding directories and restore the files if you have a problem. This is more of a safety net than anything, not a way to keep it from crashing. I put together a bat file that does the process of copying the directories to a backup location that I can manually run. I also have it set up as a scheduled task. If for any reason you stop folding using just CTRL-C and one unit does crash, you can restore it to the latest backup. One thing to note is that if you do this, you will need to manually kill off any FahCore_a1.exe processes or fah.exe processes that are still running before you start either of the WinSMP clients back up. Your best bet is to go ahead and reboot the machine at this point just to be safe. I assume you were going to reboot anyway....why else would you stop folding.
- I have tested this a few times lately and it seems to be working. Doing CTRL-C on the console windows in very quick succession seems to keep them from crashing out. Make sure you have no other windows maximized on your screen. This way when you shut down the first one, the second console window is immediately in focus. A couple of very quick CTRL-C (maybe throw in a extra one for good measure) keystrokes and you should be good. If you are not planning on rebooting, you will need to manually kill off any FahCore_a1.exe processes or fah.exe processes that are still running before you start either of the WinSMP clients back up. Your best bet is to go ahead and reboot the machine at this point just to make sure they get a clean start. Also, backing up is a smart thing to do just in case.