Message boards : Questions and problems : Effect of suspending and limiting on checkpoints
Message board moderation
Author | Message |
---|---|
Send message Joined: 9 May 23 Posts: 12 |
Since I'm experimenting a bit, I came across the following question: How do suspending and limiting of CPU usage affect checkpointing or the loss of work? So: Is work (since the last checkpoint) lost, once I ...
|
Send message Joined: 5 Oct 06 Posts: 5129 |
It depends on: The quality of the project's scientific programming. Other settings under your control. Not every project can produce valid checkpoint files, or successfully read them back for a restart after suspension. Not much you can do about that. For CPU tasks (only), leaving applications in memory when suspended should cause minimal data loss on suspension. If the application is removed from memory - as it always will be if BOINC or the computer is restarted - time spent processing since the last checkpoint will be lost and wasted. That could be up to several minutes, again depending on the project. GPU tasks are always removed from memory, so the wastage is unavoidable. |
Send message Joined: 19 Apr 23 Posts: 16 |
For CPU apps: Whether or not work is lost when tasks are suspended depends on the setting Leave non-GPU tasks in memory while suspended. If that is checked, no work should be lost, because the task processes continue to exist and just pick up where they left off when preferences later allow them to run again. If it is not checked, task processes will exit when they are suspended, so it depends on the individual app: if it is able to capture the exit request and checkpoint immediately, no work is lost. Otherwise it will simply get killed and have to restore from its previous checkpoint when restarted. |
Send message Joined: 9 May 23 Posts: 12 |
Thank you Richard and Brian @Brian: The effect is the same in all three cases: the only difference is in the number of tasks that are either suspended or allowed to run (for the % of CPUs case), and the frequency at which suspension and resumption occur (for the % of time case). I don't think that is true. Because when limitng the percentage of cpu time, the applications stay in memory and active ALL the time (even if "Leave non-GPU tasks in memory while suspended" is unticked!) So they are not officially suspended, they just receive less cpu time. That's why I prefer this over suspending threads completely. |
Send message Joined: 19 Apr 23 Posts: 16 |
You’re right: tasks are not removed from memory when they are suspended by the % of CPU time preference [source]. Thanks for the correction! |
Copyright © 2024 University of California.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License,
Version 1.2 or any later version published by the Free Software Foundation.