Scheduler: dead and orphan processes

Message boards : BOINC client : Scheduler: dead and orphan processes
Message board moderation

To post messages, you must log in.

AuthorMessage
rvp_lan
Avatar

Send message
Joined: 30 Dec 08
Posts: 24
France
Message 29335 - Posted: 10 Dec 2009, 4:07:29 UTC

Platform: Win XP64 SP2, quad cores, GPU CUDA available.

Hello,

Even with the use of a boinc_project user to frame activity of Boinc's projects, some WUs (Simap, Malaria, etc) sometimes leave their processes in task manager once finished.

I can't link a computation error or an abnormal termination to these orphan processes. WUs seem to finish and return well.

I stop the client, then I manually kill the orphan processes, then restart the client, no error appears. So I'm quite sure that these are orphan processes and not some processes which decide to stay in memory even if they should not.

But these orphan processes, stucked in task manager, sometimes leads to a very abusive memory comsumption... Obviously, this is annoying because my preferences are set to "do NOT leave processes in memory".

So if these are dead orphan processes, and since they are tagged with the "boinc_project" user id, could we have a control mechanism which checks for non attached processes (non scheduled anymore) and forces the kill of these orphan processes? Kind of "garbage collector"!

Regards
ID: 29335 · Report as offensive
Profile Jord
Volunteer tester
Help desk expert
Avatar

Send message
Joined: 29 Aug 05
Posts: 15483
Netherlands
Message 29336 - Posted: 10 Dec 2009, 5:12:55 UTC - in response to Message 29335.  

You'll have to contact the projects about this behaviour. It's their apps that get stuck. Had they called a normal boinc_finish() their apps shouldn't stay in memory.

Your plan on using boinc_project is a no-go, as that userID is only used when BOINC is installed as a service. When it's used without the service installation, the applications run at the User name level.

Since you are using a service installation, you could write a batch file that closes BOINC every so often, then restarts it after a waiting period.

Something alike this:
@ECHO OFF
net stop boinc
sleep 5
net start boinc


That one you will have to start manually. It'll kill the service, wait 5 seconds, then restart the service. It won't kill stragglers in the memory.
ID: 29336 · Report as offensive
rvp_lan
Avatar

Send message
Joined: 30 Dec 08
Posts: 24
France
Message 29342 - Posted: 10 Dec 2009, 10:42:01 UTC - in response to Message 29336.  

Hi,
You'll have to contact the projects about this behaviour.
OK.

Your plan on using boinc_project is a no-go, as that userID is only used when BOINC is installed as a service.
OK. Get it.

Since you are using a service installation, you could write a batch file that closes BOINC every so often
I understand the principe, but I'm a firm militant of a zero-interaction with Boinc's client!!! I mean: I agree that this could be a bug at the project side, but if Boinc should spread around the universe (!), it has to propose some tools so that the gentle user keeps having its computer with all ressources available. In that particular hypothesis, the gentle user is not able to understand anything about service, neither of creating a batch spawned by a crontab!!!

Consider my proposal of a garbage collector as the idea of a gentle Boinc's client who kindly ensure that the space he found on arriving stays clean when he goes!

First of all, don't take my proposal and what's above like a criticism! I'm sure there are already a lot of control mechanismes into Boinc that I don't "see" because of a lack of knowledge. I quite well understand [as a former developper] that Boinc's client dev team has something else to do than prevents all kind of crap that could arrives from project side.

But... but... In my opinion, as Boinc should be consider to an entity that manage potentially harmfull (for the computer host) programms, it has to provide mechanismes that keep these (bad) programms into a kind of "virtual space", which is completely "waterproof" to the real system space. After all Boinc's client is a kind of system into the system, which handles and shares ressources like CPU, GPU, memory.

At these days, in my mind, Boinc is a virtual machine like VirtualBox or VMware.

I am even more concerned by what I recall, when I see that some projects take over themselves the idea of russian dolls by offering to other projects to compute through themselves (Yoyo, Docking, Ibercivis, WCG) [wrapper into the wrapper into the wrapper, etc. Not mentionning those which use some lib/dev tools that interfere with hosted applications: Hydrogen with cygwin...]

We have therefore, a virtualization in the virtualization of system host! So if BOINC has no strong control of process heritage and left aside processes, a large number of WU can potentially evade the surveillance of the manager and scheduler. Even if Boinc doesn't run in a service mode.

Thanks for the infos about the user_id.
Regards
ID: 29342 · Report as offensive
Profile Jord
Volunteer tester
Help desk expert
Avatar

Send message
Joined: 29 Aug 05
Posts: 15483
Netherlands
Message 29344 - Posted: 10 Dec 2009, 16:23:04 UTC - in response to Message 29342.  

I'm not sure if the virtual work space can be done on all platforms, but since I like the idea behind it, I won't flag it down either. My advice to you on this is to email the idea to the BOINC Developers list, with a complete description on what you now see and what you expect of this virtual space for a future version. This list requires registration.
ID: 29344 · Report as offensive

Message boards : BOINC client : Scheduler: dead and orphan processes

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.