Open ibethune opened 7 years ago
I see somewhat similar behavior with LHC, there is the concept of a Job on there site and within BOINC, I find it very confusing to configure. If I allow 4 jobs then I can run 4x4core tasks with over uses 8 cores in this example as job does not equal a core. I feel that number of CPU's would be better however this is already take with the multicore tasks options.
@ibethune , nice catch! Pretty easy to reproduce and thus to track and to fix. Thank You!
I have a mixture of single-threaded and multi-threaded applications running from PrimeGrid. My computing preferences are set so I have 4 cores available:
The multi-threaded apps are set to use 4 threads and have the avg_ncpus and max_ncpus attributes set to 4.
In the initial configuration, 4 single-threaded tasks are running and 2 multi-threaded tasks are idle:
If I suspend one of the running tasks (so only 3 cores are being used), BOINC starts up one of the multithreaded tasks (thus using 7 cores, more than the limit of 4!)
If I resume the suspended single-threaded task, BOINC then pauses all the other single-threaded tasks, taking the total number of cores back down to 4 as expected.
I think that the correct behaviour should be that the multi-threaded is started, the other 3 single-threaded tasks should go into the waiting state, such that the total number of cores being used is always less than the specified limit.