- manager: change "add account manager" to "use account manager".
"Add" is confusing, because you can't add multiple account managers
like you add projects.
- client: recognize a few new ATI GPU models
from Robert Kreß
svn path=/trunk/boinc/; revision=22843
(either at startup or during execution)
reset a number of "wait until X" variables;
otherwise we might wait years to contact a project, restart a file xfer, etc.
Notes:
- there is no problem setting clocks forward; things just happen prematurely
- some variables (e.g. task deadlines) are not reset,
because it's not clear what to set them to
- sched: remove ati_opencl plan class until we understand what it is
svn path=/trunk/boinc/; revision=22842
and an upload started in the last 5 min, don't fetch work from it.
The goal is to merge the 2 scheduler RPCs
(fetch work, report completed taskS) into a single RPC.
Note: this may result in idleness in some cases.
- scheduler: if client doesn't handle plan class (pre-5.10),
check plan-class app versions anyway,
but only use if it's a single-CPU app.
This allows single-CPU app versions with specific requirements
(like SSE) to be issued to old clients.
From Bernd Machenschalk
svn path=/trunk/boinc/; revision=22841
Old: enforce_schedule() won't run an active job if its
working set size exceeds remaining available RAM.
Problem: there may be a lot of similar jobs.
The client starts one, finds that its working set is too large,
starts the second, and so on.
Solution: if J is an unstarted job,
and there are started jobs using the same app version,
consider J's working set size to be the largest of
the working sets of those jobs.
- client: fix an apparent bug that could oversaturate
the CPUs with single-thread jobsk
svn path=/trunk/boinc/; revision=22840
because invalid jobs were counted as successful.
How could this bug possibly have survived this long?
From TJM (thanks -- who are you?)
Fixes#1029
svn path=/trunk/boinc/; revision=22839
p_model as well as p_features;
pre-6.x clients report them in p_model.
- client: fix bug where "reread config file" didn't update
the max log file sizes
svn path=/trunk/boinc/; revision=22838
of the performance of an app version on a host.
It will then stop using that app version,
so the estimate never has a chance to converge to its correct value.
Fix: multiply by a random factor (mean 1, stddev .1)
when comparing the FLOPS estimates of app versions.
svn path=/trunk/boinc/; revision=22837
The round-robin simulation wasn't handling multithread jobs correctly.
For example, given two 3-CPU jobs,
it would model running them together on a 4-CPU host.
This doesn't correspond with the CPU scheduler,
which runs only 1 at a time.
So the simulator would say that there are no idle CPUs
when in fact there are, and no new CPU jobs would be fetched.
svn path=/trunk/boinc/; revision=22801
allow <no_cpu>, <no_cuda> and <no_ati> bools
within <account> in reply message.
They suppress work fetch for that resource type from that project.
- scheduler:
check max_granted_credit after wu.rsc_fpops_bound,
so that max_granted_credit will be enforced
even if wu.rsc_fpops_bound is absurdly high
Fixes#1034. From Diggory Hardy.
svn path=/trunk/boinc/; revision=22793
Old: scheduling has 2 phases:
1) computing a list of jobs to run (a vector of RESULT*);
this is done infrequently
2) enforcing the schedule; this is done more frequently
Problem:
when we enforce the schedule,
the RESULTs in the jobs-to-run list may not still be runnable,
and in fact they may not still exist (dangling pointer).
New: combine the 2 phases
svn path=/trunk/boinc/; revision=22792
VM has been running since the last state change, we'll use that
instead.
- vboxwrapper: provide basic stub functions for starting/stopping/
suspending/resuming a VM. Leave wrapper functionality in
vboxwrapper, and VM specific functionality in vbox_*. Ideally
only the stub functions would have to change for other VM
implementations.
samples/vboxwrapper/
vbox.cpp, .h
vbox_win.cpp
vboxwrapper.cpp
win_build/
vboxwrapper.vcproj
svn path=/trunk/boinc/; revision=22753