boinc icon indicating copy to clipboard operation
boinc copied to clipboard

Boinc not respecting "Use at most XX% CPUs"

Open hassos246 opened this issue 2 years ago • 9 comments

Describe the bug When running tasks requiring more then one core the client allows more cores to be used then the setting grants. Pictures below is from an 8 core Apple M1 system.

Steps To Reproduce

  1. Run Boinc with multiple projects. At least one that demands multiple cores.
  2. Wait

Expected behavior Boinc should not use more cores then specified in settings.

Screenshots Screenshot 2023-09-22 at 08 39 09

Screenshot 2023-09-22 at 08 39 40

System Information

  • OS: MacOS 13.3
  • BOINC Version: 7.24.1

Additional context

hassos246 avatar Sep 22 '23 06:09 hassos246

@davidpanderson, could you please take a look?

AenBleidd avatar Sep 22 '23 07:09 AenBleidd

I have the same issue on Windows 10. The application also ignores my suspension of tasks. There's still usage of CPU in task manager. Totally unexpected. I think I'll have to uninstall the app after so many years. It is not, repeat, not supposed to run my computer against my wishes. By the way, ctrl+shift+e doesn't work. To be fair, after I manually exit and reload the client, the problem doesn't reproduce and it's all fine. However, I'm not going to terminate - turn on the client with every reboot of the computer, and I'm honestly not supposed to.

radio303 avatar Sep 28 '23 18:09 radio303

@radio303, thank you for the report. We will try to fix it and ship in the next release. Meanwhile you can downgrade to the previous version of BOINC.

AenBleidd avatar Sep 28 '23 20:09 AenBleidd

The client has a 1-CPU job and a 2-CPU job, and there are 2 CPUs. It runs the 1-CPU job. Should it run the 2-CPU job? If so it will be using too many CPUs. If not there will be an idle CPU. In the past there have been more complains about the latter than the former.

Perhaps the policy should be changed to use the latter if preferences limit the # of CPUs.

davidpanderson avatar Oct 02 '23 16:10 davidpanderson

There was several more 1 CPU tasks downloaded. It should run two 1 CPU tasks or one 2 CPU task in this case.

I have noticed that the problem occurs when two 1 CPU tasks is running and then a 2 CPU task starts. Only one of the 1 CPU tasks stops. Both should stop.

hassos246 avatar Oct 02 '23 17:10 hassos246

Maybe one of the 1-CPU tasks is close to deadline and can't be delayed? And also it might be applicable to the other 2-CPU task as well?

AenBleidd avatar Oct 02 '23 17:10 AenBleidd

It was at least 10 days before the deadline of the running 1 CPU task. The estimated remaining time was about 30 minutes. See picture in the first post.

hassos246 avatar Oct 02 '23 17:10 hassos246

The problem arises in deciding when to transition between "single multi-core task" mode, and "multiple single-core tasks" mode. Leaving it until deadline pressure forces a switch risks extended runs with the CPU locked into one mode or the other, at risk to resource share. We need to have a solution which avoids that.

RichardHaselgrove avatar Oct 02 '23 17:10 RichardHaselgrove

I had the same problem today. I have BOINC set to use a maximum of 2 cores, and I was running a 2-core task from PrimeGrid. An hour later, PrimeGrid sent me a 1-core task, and BOINC started it immediately, while the 2-core task was still running. So now BOINC is running on 3 cores despite my settings specifying a maximum of 2.

I don't understand why it does that. If 2 out of 2 cores are being used by an ongoing task then it shouldn't start a task on a 3rd core - it should just wait until the 2-core task is done.

numbermaniac avatar Nov 06 '23 05:11 numbermaniac