Task doesn't suspend when on battery
log in

Advanced search

Message boards : Windows : Task doesn't suspend when on battery

Author Message
Send message
Joined: 12 Mar 11
Posts: 3
Credit: 8,711,810
RAC: 0
Message 13872 - Posted: 27 Apr 2012, 15:13:55 UTC


I'd like to report a problem that I have repeatedly experienced with Collatz 2.05 which is that the tasks do not obey the suspend configuration when my system is on battery.

Actually, Boinc shows all tasks as "Suspendu - - sur batteries" (suspended, on battery). But the Progress number keeps running, the nVidia GPU keeps working (and the fan keeps turning) until the task is completed or the battery is drained, which happens very quickly on this [gaming] system that is usually powered by a 140 W adapter. No good.

Moreover, in case I exit Boinc and ask to stop all tasks, everything gets stopped but the Collatz process remains alive in ProcessExplorer. I have to kill the process to preserve battery life.

It would be good if all tasks could follow the settings as specified.

Dell XPS17R2 laptop + Core i7-2670QM hyperthreaded + 8 GB of RAM
Win 7 Home Premium SP1, 64-bit
nVidia GT555M + Intel HD graphics cards
Boinc 6.12.34

Send message
Joined: 12 Mar 11
Posts: 3
Credit: 8,711,810
RAC: 0
Message 14027 - Posted: 21 May 2012, 21:51:15 UTC

Just wanted to update my previous report to add that this issue which appears when switching power source from the AC adapter to the battery also occurs with the computation times that was set in the Tools > Preferences dialog. Whenever the time to suspend computation comes, Collatz 2.05 just keeps on rolling. The tasks NEVER stop once started.

Is the code open? Is there a way I can submit a patch for this very annoying issue?


Profile Gipsel
Volunteer moderator
Project developer
Project tester
Send message
Joined: 2 Jul 09
Posts: 279
Credit: 77,151,417
RAC: 77,866
Message 14031 - Posted: 22 May 2012, 9:45:22 UTC
Last modified: 22 May 2012, 11:29:03 UTC

From what I recall, it is more a problem of BOINC than one of the Collatz application itself. I remember modding the BOINC API lib (two years ago or so) to get rid of this behaviour. What happens is that suspend commands are basically ignored if they happen to arrive when the application is within a critical section (what happens quite often in GPU applications, at least if one wants maximum stability, otherwise the applications can crash under some circumstances [BOINC may kill the process on the host CPU while the kernel on the GPU is still running => bad]). That is a design error of the BOINC API lib. It should remember the suspend command until the application exits the critical section and not just simply drop the command as it does (or did, maybe they fixed it in later versions).
It is somewhat connected to the problem here. The proposed solution there is to include exit code for the application so the context on the GPU also gets released. But I still think the whole suspend/exit procedure should work under the applications regime, as the proposed solution there only fixes the symptoms, not the cause of the problem (the critical sections should solve the problem too if they would work correctly [and are used correctly in the application]).

Btw., on my system the CUDA versions (I tried the automatically distributed one as well as the optimized one for the newer CUDA version) run without problems and also suspend is working without problems. Hmm.

Post to thread

Message boards : Windows : Task doesn't suspend when on battery

Main page · Your account · Message boards

Copyright © 2018 Jon Sonntag; All rights reserved.