SMP Affinity Changer
Moderator: Site Moderators
-
- 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
.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 !
.
(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
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
-
- 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.
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.
ps. I did not try to reinstall .net 2.0 sp1 on that pc yet.
-
- 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.
-
- 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.
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.
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.
-
- Posts: 16
- Joined: Tue Dec 04, 2007 10:42 pm
- Location: Dallas, Texas
Thanks rilian, for the info regarding Linux OS & affinity.rilian wrote: ...that advanced scheduler in Linux does all the stuff like Affinity Changer itself...so affinity changer for linux is not really needed.
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?
-
- Posts: 1024
- Joined: Sun Dec 02, 2007 12:43 pm
I'd think that this wouldn't need to be repeated every 10 minutes. Set them manually and forget it.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..)
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.
-
- Posts: 16
- Joined: Tue Dec 04, 2007 10:42 pm
- Location: Dallas, Texas
Thanks for considering.rilian wrote:...possible to add ability to also assign VMware instances
...to run VMwares with linux client..)
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.