Hard Light Productions Forums

Off-Topic Discussion => General Discussion => Topic started by: Scuddie on March 26, 2007, 04:54:15 pm

Title: Affinity management application
Post by: Scuddie on March 26, 2007, 04:54:15 pm
OK, so I'm upgrading my Athlon64 3000+ to a nice Opteron 165, and I assume I will love it.  Weee.  Anyway, to ensure the best out of my system, I'd like to know if there is a utility that would automatically set all undefined applications on core 0, and set defined applications on core 1 with realtime priority.  Essentially saying I'd like to have all system programs and light duty programs independent from high demand games and such, as far as CPU is concerned.  Does anybody know of any tool like this?  I tried googleing it, but I just got a bunch of garbage.  Forgive my messy train of thought.
Title: Re: Affinity management application
Post by: Rand al Thor on April 01, 2007, 03:42:15 pm
Just got a athlon 64 fx-60 so I'd be interested in the answer two. Might have to have a look for it myself even.
Title: Re: Affinity management application
Post by: Descenterace on April 01, 2007, 10:28:00 pm
Affinity doesn't work as simply as that. You'd be better off leaving the OS to assign threads to cores; lots of things can result in threads being created and destroyed, not least of which are certain kernel operations that happen even during some single-threaded applications' run time.

Basically, there is no such affinity control app and there won't ever be. Leave affinity alone unless you have a definite need to change it for a process, eg. when an application doesn't run correctly on multiple cores.
Title: Re: Affinity management application
Post by: Huggybaby on April 01, 2007, 11:35:56 pm
You can set affinity and priority here: http://www.hard-light.net/forums/index.php/topic,46036.msg939345.html#msg939345

 ;)

Title: Re: Affinity management application
Post by: Descenterace on April 03, 2007, 12:44:26 am
Yes, you can set affinity on a per-process basis. What you can't do is configure the OS to always run certain processes on certain cores.
You can use imagecfg to change an application's EXE to only use certain cores, but that should not be done if the app works fine.

You can't 'make the OS run on one core and the apps run on the other' because nothing is that simple. Apps call into the kernel all the time, hardware events cause task switches, and you can never be sure which core is going to handle an interrupt.
Title: Re: Affinity management application
Post by: Scuddie on April 03, 2007, 07:05:49 pm
Thanks Descenterace, imagecfg was exactly what I was looking for :).  I set all my background intended programs (Firefox, FRAPS, Ventrilo, etc) to core 0, and set my single-threaded games to core 1.  Very stable and responsive :).  Now I need the same thing, except for priority.  Anyone happen to know something that does the same for priority, preferably similar to imagecfg?  The START command is not an option.
Title: Re: Affinity management application
Post by: Huggybaby on April 03, 2007, 07:35:39 pm
Yes, I answered that three posts up.
Title: Re: Affinity management application
Post by: Scuddie on April 03, 2007, 08:01:15 pm
The START command is not an option.