Seti@Home optimized science apps and information

Optimized Seti@Home apps => Discussion Forum => Topic started by: Raistmer on 24 Mar 2009, 06:46:40 pm

Title: BOINC's short and long debts
Post by: Raistmer on 24 Mar 2009, 06:46:40 pm
Do I understand correctly that long debt governs work fetch while short one determines what app should run now?
For example:
my BOINC has 2 active projects, SETI and Einstein.
Einstein has ~9ksec of short debt but ~ -3,8Msec of long debt.
Is it true that all cores should be busy with Einstein now but work fetch for einstein should be delayed as long possible?
Title: Re: BOINC's short and long debts
Post by: Josef W. Segur on 24 Mar 2009, 09:52:31 pm
Do I understand correctly that long debt governs work fetch while short one determines what app should run now?
For example:
my BOINC has 2 active projects, SETI and Einstein.
Einstein has ~9ksec of short debt but ~ -3,8Msec of long debt.
Is it true that all cores should be busy with Einstein now but work fetch for einstein should be delayed as long possible?

Your understanding of the purpose of each kind of debt is correct.

The exact details of how they work depend on which version of BOINC you're running, but your last sentence should generally be true. The document meant to describe how they work is Client scheduling policies (http://boinc.berkeley.edu/trac/wiki/ClientSched), it does describe 6.2 and earlier and has notes at the top for 6.4. For LTD and work fetch, Work fetch and GPUs (http://boinc.berkeley.edu/trac/wiki/GpuWorkFetch) describes the 6.6 changes. I'm no expert on that stuff, running single CPU systems with old versions of BOINC. The only time I see the effects of debt are when I switch between main and Beta work, normally I'm only running one project.
                                                                     Joe
Title: Re: BOINC's short and long debts
Post by: WHRoeder on 24 Mar 2009, 10:00:58 pm
Maximum short term debt is +/-86400 (i.e. 1 day.) long term debt has no limits.
Also, just because a project has the highest STD, doesn't mean that project is running. If another project is in deadline trouble, that project will continue and can easily max the STD.
Title: Re: BOINC's short and long debts
Post by: Raistmer on 25 Mar 2009, 03:23:57 am
Thanks.
The question arise because I observe strange (to me) BOINC behavior. I setted project shares for SETI/Einstein as 1/100 for CUDA-enabled hosts (to force BOINC do Einstein on CPU and preserve remaining MB queue to GPU only). Einstein increase its STD fast, but only one core of 4 busy with it. GPU + 3 remaining cores still do MB. And time to time STD is resetted to zero for both projects (although no additional einstein tasks run to compensate STD). 4 einstein tasks active (other are suspended to prevent running 5 tasks on CPU with idle GPU), all MB tasks active,
There is no near deadlines for both projects, all tasks running in normal priority.... What affects on such BOINC shceduling politic?

ADDON: From BOINC WiKi:

Short-term debt is used by the CPU scheduler. It is adjusted over the set of runnable projects. It is normalized so that minimum short-term debt is zero, and maximum short-term debt is no greater than 86,400 (i.e. one day).

BOINCView shows negative STD for SETI and Positive for Einstein now. That is, either sentence above  incorrect for BOINC 6.4.5 either BOINCView can't show STD for BOINC 6.4.5 correctly...