I've only seen this behavior with GPU tasks, specifically BRPS Acebio 1.28 (brp4cuda32nv270). The CPU jobs (mainly S6 line veto lately) seem to be comfortably in the sleeping state using 0% of CPU.
Looks like a task handling problem in BOINC then. I'll forward this to the BOINC devs.
Quote:
each BRP claims 25% of a cpu
That depends on your CPU/GPU models as well as the CUDA driver - but your CPU level is in the nominal range.
Quote:
It's not clear to me whether I'm seeing CPU load or just Display Lag but NetBeans and Matlab both show significantly degraded response time unless I shut down boinc
You shouldn't notice anything from the CPU load since the application runs on the lowest priority. Your desktop apps will always be executed with a higher priority. What you experience should solely be caused by the GPU load and manifest itself as a display lag. That's why we don't recommend to run GPU tasks on GPUs that are used for desktop rendering, or, if you only got a single GPU, when your computer is used interactively.
This of course depends on BOINC functioning correctly, suspending the CPU and GPU tasks on demand. Again, I'll forward this to the BOINC devs.
Joe, same question for you: what's your preference on leaving suspended applications in memory (see memory preferences)? Please try switching it off if it's enabled and see if it helps...
Joe, same question for you: what's your preference on leaving suspended applications in memory (see memory preferences)? Please try switching it off if it's enabled and see if it helps...
Thanks,
Oliver
Oliver,
Interesting, that might be where the problem is.
On Tools->Compute Preferences Disk and Memory tab the "Leave applications in memory while suspended" is NOT checked (never has been as far as I know, I just saw it for the first time).
System monitor did have all jobs listed when I checked before but none are there now, and all GPU tasks are completed ready to report.
This can't have an effect, as GPU applications will always be unloaded from memory when BOINC suspends, whether this setting is checked or not.
This is how it should be, yes. We should nevertheless take this into account since it wouldn't be the first time we see a regression in BOINC, would it...
Well, I did test it before writing my answer. ;-)
7.0.36, LAIM set to on in local preferences and only the Seti tasks remain in memory when I suspend BOINC. The Einstein app is unloaded, as it should be. :-)
Well, I did test it before writing my answer. ;-)
7.0.36, LAIM set to on in local preferences and only the Seti tasks remain in memory when I suspend BOINC. The Einstein app is unloaded, as it should be. :-)
Jord,
This is not an "alway does it" bug.
I just changed my preferences to "run always", "use gpu always" then back to both "based on preferences" which is not while computer is in use. And all boinc/einstein jobs were not visible in the system monitor.
I will continue to monitor this and see if I can find some correlation between what I do and when the jobs stay in memory and keep running.
The thing is, my BOINC runs for only 10 hours a day. Only between 9pm and 7am as then my electric rates are lower. The rest of the time it's suspend time-of-day. Added to that, my system goes to hibernation at 7.44am to conserve further energy.
I left LAIM set to on, to test.
At any time between the times that BOINC is suspended, yet the system is (still) (again) on, I can then check in Task Manager if any process under BOINC that uses the GPU continues to run. So far I haven't seen it. All I see are the Seti tasks.
But then, my GPU task is OpenCL, running on my AMD GPU, and it's possible that the cleanup code that is needed to tell CUDA that the application exited is not required for OpenCL. In any case, every time when BOINC suspends --excluding when it does so for benchmarks-- it should unload any running GPU task(s) from memory, no matter whether it's CUDA, CAL or OpenCL.
I suspect that this is one of those nasty race conditions that I'm very happy I don't have to debug.
I run E@H exclusively and it runs 24 hrs a day when the computer is not in use.
I've seen it several (maybe 5) times when I'm working and find myself asking "Why is this $#%^& machine so slow to respond.
Usually I'm in either NetBeans or Matlab and screen repaints and context menus are the op in question. I check Boinc and see this condition where the tasks are listed as suspended but GPU tasks are running and CPU tasks are still in memory.
I have been checking on a regular basis for the last few days and it's behaving normally. Tasks are suspended and unloaded when the computer is in use.
One theory that might explain this non-deterministic behavior is that the suspend message is ignored only when the application is in some state.
It certainly is not a show stopper for me. When I see it happen, I can shut down Boinc and work normally. And if it happens and I don't see it, I don't care.
RE: It reports:
)
Thanks.
Looks like a task handling problem in BOINC then. I'll forward this to the BOINC devs.
That depends on your CPU/GPU models as well as the CUDA driver - but your CPU level is in the nominal range.
You shouldn't notice anything from the CPU load since the application runs on the lowest priority. Your desktop apps will always be executed with a higher priority. What you experience should solely be caused by the GPU load and manifest itself as a display lag. That's why we don't recommend to run GPU tasks on GPUs that are used for desktop rendering, or, if you only got a single GPU, when your computer is used interactively.
This of course depends on BOINC functioning correctly, suspending the CPU and GPU tasks on demand. Again, I'll forward this to the BOINC devs.
Cheers,
Oliver
Einstein@Home Project
Joe, same question for you:
)
Joe, same question for you: what's your preference on leaving suspended applications in memory (see memory preferences)? Please try switching it off if it's enabled and see if it helps...
Thanks,
Oliver
Einstein@Home Project
RE: Joe, same question for
)
Oliver,
Interesting, that might be where the problem is.
On Tools->Compute Preferences Disk and Memory tab the "Leave applications in memory while suspended" is NOT checked (never has been as far as I know, I just saw it for the first time).
System monitor did have all jobs listed when I checked before but none are there now, and all GPU tasks are completed ready to report.
Joe
RE: what's your preference
)
This can't have an effect, as GPU applications will always be unloaded from memory when BOINC suspends, whether this setting is checked or not.
RE: This can't have an
)
This is how it should be, yes. We should nevertheless take this into account since it wouldn't be the first time we see a regression in BOINC, would it...
Best,
Oliver
Einstein@Home Project
Well, I did test it before
)
Well, I did test it before writing my answer. ;-)
7.0.36, LAIM set to on in local preferences and only the Seti tasks remain in memory when I suspend BOINC. The Einstein app is unloaded, as it should be. :-)
Hehe, thanks for testing
)
Hehe, thanks for testing Jord.
Oliver
Einstein@Home Project
RE: Well, I did test it
)
Jord,
This is not an "alway does it" bug.
I just changed my preferences to "run always", "use gpu always" then back to both "based on preferences" which is not while computer is in use. And all boinc/einstein jobs were not visible in the system monitor.
I will continue to monitor this and see if I can find some correlation between what I do and when the jobs stay in memory and keep running.
Joe
The thing is, my BOINC runs
)
The thing is, my BOINC runs for only 10 hours a day. Only between 9pm and 7am as then my electric rates are lower. The rest of the time it's suspend time-of-day. Added to that, my system goes to hibernation at 7.44am to conserve further energy.
I left LAIM set to on, to test.
At any time between the times that BOINC is suspended, yet the system is (still) (again) on, I can then check in Task Manager if any process under BOINC that uses the GPU continues to run. So far I haven't seen it. All I see are the Seti tasks.
But then, my GPU task is OpenCL, running on my AMD GPU, and it's possible that the cleanup code that is needed to tell CUDA that the application exited is not required for OpenCL. In any case, every time when BOINC suspends --excluding when it does so for benchmarks-- it should unload any running GPU task(s) from memory, no matter whether it's CUDA, CAL or OpenCL.
I suspect that this is one of
)
I suspect that this is one of those nasty race conditions that I'm very happy I don't have to debug.
I run E@H exclusively and it runs 24 hrs a day when the computer is not in use.
I've seen it several (maybe 5) times when I'm working and find myself asking "Why is this $#%^& machine so slow to respond.
Usually I'm in either NetBeans or Matlab and screen repaints and context menus are the op in question. I check Boinc and see this condition where the tasks are listed as suspended but GPU tasks are running and CPU tasks are still in memory.
I have been checking on a regular basis for the last few days and it's behaving normally. Tasks are suspended and unloaded when the computer is in use.
One theory that might explain this non-deterministic behavior is that the suspend message is ignored only when the application is in some state.
It certainly is not a show stopper for me. When I see it happen, I can shut down Boinc and work normally. And if it happens and I don't see it, I don't care.
Joe