Set affinity for heavy single core App?

jbourne84

Distinguished
Jun 10, 2008
185
0
18,680
in a multi core processor, does one specific core usually take most of the load?

so in a quad core (with cores numbered 0,1,2,3) does core "0" usually handle the load, assuming im not doing anything that is multi core specific.

I have monitered their usage before and noticed, though all are getting some use, one core tends to clearly be the most active. So does the computer by default send its processes through the first core?

I am wondering because we use AutoCAD Civil 3D which Ive recently learned only uses a single core (or at least is not designed for multiple cores) and it is a very processor heavy program. So would i be doing myself any favors by setting its affinity to another core, like cores 2 or 3 to get it off the first core?
And would this allow all other multi-tasking processing to be more efficient?
 

InvalidError

Titan
Moderator
Depends on processor drivers, OS scheduler, overall load and power management settings.

Performance-wise, it is best to minimize context switches by letting a single-threaded application monopolize a single core as much as possible and schedule everything else to other cores.

Power-management-wise, it is best to schedule everything to a single core so other cores can remain in stopped state as much as possible.

Responsiveness-wise, it is best to let the OS schedule anything on any core since this gives it more opportunities to do context switches during threads' IO operations instead of forcibly ejecting threads from a core.

While you might get better execution efficiency from setting thread affinity, it might actually end up feeling slightly less responsive.

There is no harm in trying this so I recommend you simply try it and see for yourself.
 

jbourne84

Distinguished
Jun 10, 2008
185
0
18,680
thanks for the reply, we are about to get new workstations with i7s in them so ill give it a shot and see how it goes.

Other than just from what i notice as a user, is there anything specific I should pay attention to in CPU monitor software? specific numbers/rates i can use for comparison?
 


Very well said.