Opened 16 years ago

Last modified 14 years ago

#853 new Enhancement

Automatic adjustment for CPU affinity

Reported by: Devaster Owned by:
Priority: Undetermined Milestone: Undetermined
Component: Undetermined Version:
Keywords: Cc:

Description

Can be implemented a mechanism to set automatic CPU affinity for every running project/task with selection plus when running multiple GPU clients on multiple GPUs then they will occupy only one (the same) CPU ?

Change History (7)

comment:1 Changed 16 years ago by Nicolas

CPU affinity was already suggested in #325.

I don't understand what you mean with GPU apps. If you run all GPU apps in the same CPU core, and they fight for CPU time, probably they won't be able to feed the GPU fast enough (the CPU will be the bottleneck).

comment:2 Changed 16 years ago by Devaster

i think no. SETI GPU apps and GPUGrid apps are using around 1 % of CPU for gpu populating at my AMD Quad Phenom and i am running 3 instaces of SETI MB CUDA and 4 instances of AP. All 3 SETI CUDA are consuming around 5 % percent of one core.Only at start of every task it is using max cpu time but at this first seconds are done a simple benchs for function selections. And it can be optional at last.

comment:3 Changed 16 years ago by Nicolas

If you run 3 SETI CUDA apps using 5% each, and you pin them to the same core, you'd waste a lot of CPU power by using only 15% of the core.

comment:4 Changed 16 years ago by Devaster

no,no,no not each 5%, all together eats 5% of CPU time...

comment:5 Changed 16 years ago by Nicolas

Then you're making even less sense. Why would you want to pin those to a specific CPU?

comment:6 Changed 16 years ago by Devaster

i think i would be good that they wil dont disturb other apps on other cores ...

comment:7 Changed 14 years ago by tear

I did some work in the area of CPU and memory affinity; so far I have a POC patch that sets CPU and memory affinity sequentially, starting with first CPU.

Very happy with performance improvements -- before: http://darkswarm.org/eah-before.png

after: http://darkswarm.org/eah-after.png

At this time it's Linux-only patch though Windows support shouldn't be a problem once design issues are solved. About those -- I'm by no means BOINC expert but I haven't found a nice way of user indicating which processors to use.

Global preference doesn't appear to be right approach as it applies to all computers on user's account, so... all ideas will be much appreciated.

All that assuming there's upstream interest in adding such feature of course.

Note: See TracTickets for help on using tickets.