SMP Affinity Changer

This forum contains information about 3rd party applications which may be of use to those who run the FAH client and one place where you might be able to get help when using one of those apps.

Moderator: Site Moderators

spike09
Posts: 29
Joined: Mon Dec 03, 2007 12:04 pm
Hardware configuration: 2 x q6600's with 2 GB pc6400 , e6400 2 Gb pc 6400, x2 3800 1Gb PC 3200, athlon 3700, 1GB pc3200, athlaon 2200 512MB pc 2700
Location: location location

Post by spike09 »

just trying this app. it seems to have cut 3 mins of the frame time of my e6400 at stock speeds. if it will work the same magic on my quads I'l be well happy . :D
team 46590 :)
noorman
Posts: 270
Joined: Sun Dec 02, 2007 2:26 pm
Hardware configuration: Folders: Intel C2D E6550 @ 3.150 GHz + GPU XFX 9800GTX+ @ 765 MHZ w. WinXP-GPU
AMD A2X64 3800+ @ stock + GPU XFX 9800GTX+ @ 775 MHZ w. WinXP-GPU
Main rig: an old Athlon Barton 2500+ @2.25 GHz & 2* 512 MB RAM Apacer, Radeon 9800Pro, WinXP SP3+
Location: Belgium, near the International Sea-Port of Antwerp

Post by noorman »

rilian wrote: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxx
xxxxxxxxxx
xxxxxx
xxx
===========

I found a developer for linux version. that is all i can tell about it now.
.


Thanks Rilian !

Please keep us informed about the progress of this Linux version if you would !?


Great work ! :D



.
rilian
Posts: 53
Joined: Wed Dec 05, 2007 12:58 am
Contact:

Post by rilian »

(i never used Linux and not going to at this moment)

well, i talked with developed. he told that advanced scheduler in Linux does all the stuff like Affinity Changer itself, optimizing setting of affinities, including how it is dependent of CPU cache etc, so affinity changer for linux is not really needed. Another thing, advanced scheduler cannot be controlled "automatically" because it has quite high permissions in system or smth

on our forum we discussed linux version and found one useful post on overclockers.ru, which i translated here

http://distributed.org.ua/forum/index.p ... topic=1301 :roll:
rilian
Posts: 53
Joined: Wed Dec 05, 2007 12:58 am
Contact:

Post by rilian »

also if i did not mention before, next A-Ch version will assign affinities for single-threaded FAH client for W1ndow$
Jmarks
Posts: 21
Joined: Sun Dec 02, 2007 1:30 pm
Hardware configuration: A) Gigabyte GA-X48-DQ6 Motherboard, 2gig ocz PC6400 memory, 1 80gig hard drive sata II, 1 250gig sata II hard drive, 256 ATI READON X1300PRO video card and a Intel Q9450 CPU. Win XP running SMP.
B) Gigabyte GA-X48-DQ6 Motherboard, 4gig Adata PC6400 memory, 1 250gig sata II hard drive, SAPPHIRE Radeon HD 2600XT 256MB video card and a Intel Q9450 CPU. Win XP running SMP.
C) Intel P35 mother board, 4 gig g gyles PC6400 memory, 1 250gig sata II hard drive, 256 ATI READON X1300PRO video card and a Intel E66000 CPU. Win XP running SMP.

Post by Jmarks »

I am not sure if this is where I need to post this but yesterday I ran Windows Update on my 2 identical folders. After doing the update for the critical fixes I did the .net 2.0 sp1 update. After rebooting 1 pc was fine but the other would not start the affinatity service. I had to uninstall .net 2.0 sp1 and uninstall the affinity service. I then reinstalled the affinity service and all is well.

ps. I did not try to reinstall .net 2.0 sp1 on that pc yet.
rilian
Posts: 53
Joined: Wed Dec 05, 2007 12:58 am
Contact:

Post by rilian »

Jmarks, did you try to run A-Ch manually?

Start -> Run -> "services.msc" -> Rightclick on A-Ch -> Start
Jmarks
Posts: 21
Joined: Sun Dec 02, 2007 1:30 pm
Hardware configuration: A) Gigabyte GA-X48-DQ6 Motherboard, 2gig ocz PC6400 memory, 1 80gig hard drive sata II, 1 250gig sata II hard drive, 256 ATI READON X1300PRO video card and a Intel Q9450 CPU. Win XP running SMP.
B) Gigabyte GA-X48-DQ6 Motherboard, 4gig Adata PC6400 memory, 1 250gig sata II hard drive, SAPPHIRE Radeon HD 2600XT 256MB video card and a Intel Q9450 CPU. Win XP running SMP.
C) Intel P35 mother board, 4 gig g gyles PC6400 memory, 1 250gig sata II hard drive, 256 ATI READON X1300PRO video card and a Intel E66000 CPU. Win XP running SMP.

Post by Jmarks »

rilian

Yep it would give me some 103 error an fail start.
rilian
Posts: 53
Joined: Wed Dec 05, 2007 12:58 am
Contact:

Post by rilian »

Did you save a screensot or remember in which DLL or smth it errored?

I sent error report to A-Ch developer, nik4eva
Jmarks
Posts: 21
Joined: Sun Dec 02, 2007 1:30 pm
Hardware configuration: A) Gigabyte GA-X48-DQ6 Motherboard, 2gig ocz PC6400 memory, 1 80gig hard drive sata II, 1 250gig sata II hard drive, 256 ATI READON X1300PRO video card and a Intel Q9450 CPU. Win XP running SMP.
B) Gigabyte GA-X48-DQ6 Motherboard, 4gig Adata PC6400 memory, 1 250gig sata II hard drive, SAPPHIRE Radeon HD 2600XT 256MB video card and a Intel Q9450 CPU. Win XP running SMP.
C) Intel P35 mother board, 4 gig g gyles PC6400 memory, 1 250gig sata II hard drive, 256 ATI READON X1300PRO video card and a Intel E66000 CPU. Win XP running SMP.

Post by Jmarks »

Sorry no. If it happens again I will remember to.
ryan
Posts: 5
Joined: Mon Dec 10, 2007 5:20 am

Post by ryan »

I just installed this and am noticing a significant improvement in PPD when I run two SMP clients on my q6600. However, I'm not sure if I understand this correctly, but does it affect the speed of my other programs?

I don't run my computer as a dedicated folding computer; the SMP client just sits in the background and with one SMP client, I did not notice any slowdown. I have not done any testing on whether or not speeds have been affected by using the affinity changer and two SMP clients, but from reading this forum, it appears that speed is affected? I do HD video encoding very often, so some clarification on this topic would be greatly appreciated.
dnamechanic
Posts: 16
Joined: Tue Dec 04, 2007 10:42 pm
Location: Dallas, Texas

Post by dnamechanic »

rilian wrote: ...that advanced scheduler in Linux does all the stuff like Affinity Changer itself...so affinity changer for linux is not really needed.
Thanks rilian, for the info regarding Linux OS & affinity.

Do you think it might be possible to add a feature to the existing Windows Affinity Changer (A-Ch) that would set the Windows affinity for virtual machines that are running Linux?

For example, when running two VMware virtual machines in WinXP quad core system, there are two instances of vmware-vmx.exe showing in the Task Manager (the free version of VMware allows only two CPU's per instance). Others in this forum have reported improved performance with appropriate affinity settings for VMware instances. And, I can confirm that best performance is obtained when the affinity of two the four cores (0,1,2, & 3) are appropriately assigned to each vmware-vmx.exe instance.

Since WinXP, upon boot, seems to arbitrarily assign the actual numbering (0,1,2, & 3) to the four cores, and they may be assigned in a different order every time WinXP is booted. This causes a need to experimentally determine optimum pairing, often in a different order (and pairing) after each boot. Your A-Ch utility might be able to select the best pairing of cores without having to experimentally determine the core numbering for affinity assignment after boot.

In the scenario above, the lack of Windows RAM size assigned per core may limit your A-Ch utility from detecting optimum core assignment. I believe your algorithm uses Windows RAM size assignment per core as a discriminant, which your algorithm then uses RAM size assignment to select and combine cores by assigning affinity. In the case above, Windows RAM assignment is per each vmware-vmx.exe instance, which actually involves two cores together running under Linux. So, the variation in RAM assignment seen in WinXP running Win SMP is not there in WinXP when running VMware Linux SMP.

Of course shutting down VMware without rebooting WinXP also loses affinity assignments for the two VMware instances. But since the actual core numbering is still the same, if one knows or can determine what previous VMware assignments were then it's fairly easy to reset. Fortunately WinXP is very stable, and in my case doesn't require rebooting very often, so this is not much of a problem. But it could be a problem for others that may want to reset something or turn their system off more frequently.

Maybe you have some ideas?
rilian
Posts: 53
Joined: Wed Dec 05, 2007 12:58 am
Contact:

Post by rilian »

Yes it is possible to add ability to also assign VMware instances

(though i do not really see the sense to run VMwares with linux client..)
codysluder
Posts: 1024
Joined: Sun Dec 02, 2007 12:43 pm

Post by codysluder »

rilian wrote:Yes it is possible to add ability to also assign VMware instances

(though i do not really see the sense to run VMwares with linux client..)
I'd think that this wouldn't need to be repeated every 10 minutes. Set them manually and forget it.

Though I don't consider it worth the extra overhead, the servers assign different projects to quads and duos. Running 2 VMs on a quad makes the server think that you have a pair of duos instead of a single quad. Not only will you receive different assignments, this increases the points because the utilization will be better. This may all change when the new bonus plan is activated.
dnamechanic
Posts: 16
Joined: Tue Dec 04, 2007 10:42 pm
Location: Dallas, Texas

Post by dnamechanic »

rilian wrote:...possible to add ability to also assign VMware instances
...to run VMwares with linux client..)
Thanks for considering.

About running VMware, I have found that WinXP running two VMware instances (Ubuntu) provides a gain in processing speed relative to two WinXP instances (even with your A-Ch). And, in my experience A-Ch has worked very well. Two instances of SMP under virtual Linux are roughly equivalent, or slightly better, compared to two instances of WinXP even with A-Ch. If the Linux instances have affinity set in WinXP for maximum performance then the two Linux instances beats the purely WinXP processing.

In addition, running virtual Linux makes available unused processing cycles that can be captured by a regular (non-SMP) work unit running under Win-XP with no affinity assigned. This third work unit is processed by the unused cycles from all four cores. Processing SMP units (2605 & 2653) yields a regular work unit that is processed at about the same speed as a Pentium-4 would process it (about 65 -150+ ppd depending on WU type and CPU clock rate). The result is pretty much equivalent to having two good dual core systems plus a single-core computer all-in-one. Some other SMP work units leave considerably less cycles available for capture by the regular WU running under WinXP.

This WinXP (regular WU) combined with Linux (SMP) works the same in a dual core system as it does in a quad core system, except the gain on the extra (non-SMP) work unit is halved.
rilian
Posts: 53
Joined: Wed Dec 05, 2007 12:58 am
Contact:

Post by rilian »

Feature to assign affinities for VMware processes will be implemented in next A-Ch version (or next after one, because actual next will be available within few days).
Post Reply