It computed an "overall STD" as the sum of CPU and coprocs,
weighted by the coproc's speed, as we do for LTD.
This was the wrong idea; in the presence of GPUs,
STDs quickly get pushed to +- 1 day and are truncated there.
New scheme: STD is maintained per (resource type, project).
This fixes the above problem,
and it opens to door to round-robin scheduling of GPUs.
- client: the calculation of "anticipated debt" was scaling
by relative resource share.
This wasn't correct, seems to me.
- client: rename "debt" to "long_term_debt" in a few places
(but not in the client state file, for compatibility)
svn path=/trunk/boinc/; revision=19777
only if the offset is positive.
- client: some cmdline args set members of config.
However, config was being cleared after cmdline args were parsed,
so these args had no effect.
Instead, clear config before parsing cmdline
svn path=/trunk/boinc/; revision=19776
Old: it's based entirely on CPU time.
So a GPU project, whose app uses only a fraction
of a CPU, accrues positive debt.
This is OK if the project has only GPU apps,
since STD is not (currently) used for GPU scheduling.
But some projects have both CPU and GPU apps.
New: STD is based on total processing.
It has terms for each resource type.
The notion of "runnable resource share" is specific to a type.
Note: the notion of "resource share fraction" appears in
a couple of other places:
- it's passed to apps in app_init_data.xml
- it's passed in scheduler requests.
It should be broken down by resource type in these cases too.
Note to self: do this later.
svn path=/trunk/boinc/; revision=19762
you have highlighted a project you are already attached too, should
not cause the 'you are already attached to project' dialog to be
displayed. This also appears to have fixed the random page being
displayed when the dialog has been dismissed.
clientgui/
ProjectInfoPage.cpp
svn path=/trunk/boinc/; revision=19736
This tells you what's running, not why
- client: add <std_debug> log flag; changes in STD
The above are to let you log just stuff relevant to debt.
Right now I'm not sure why we need STD at all.
svn path=/trunk/boinc/; revision=19726
suppose. Increment the index before use instead of just adding
1. Next iteration through the main loop will then pick-up
new parameter instead of the value for the previously
processed command. Parameter parsing 101.
client/
boinc_log.cpp
svn path=/trunk/boinc/; revision=19700
date and time information instead of RFCXXXX.
- log: Remove the ending newline character from the messages before
looking for any newline characters which would appear in
multi-line messages like those from http_debug.
client/
boinc_log.cpp
svn path=/trunk/boinc/; revision=19695
the message log cache of the client. Useful for debugging debt
related issues using Excel or various databases.
client/
boinc_cmd.cpp
boinc_log.cpp
win_build/
boinclog.vcproj (added)
svn path=/trunk/boinc/; revision=19686