the boundary between days is 00:00 in server local time.
This creates a spike of jobs being dispatched
(and files being downloaded) after that time.
Solution: distribute the boundary uniformly,
using a random number determined by the host ID.
(Make sure to save/restore the seed around this,
so we don't destroy the randomness of other things)
svn path=/trunk/boinc/; revision=24353
(from Crunch3r) has a multiplier of 2.5 for cores/processor.
This is possibly because give a double-precision estimate.
But actually we want single-precision. Change it to 5. See
http://golubev.com/about_cpu_and_gpu_2_en.htm
svn path=/trunk/boinc/; revision=24349
are detected by OpenCL but not by native APIs (CUDA/CAL).
This is limited by the fact that OpenCL doesn't give
us the necessary hardware info
(ATI; wavefrontSize; NVIDIA: compute capability).
We use the minimum values for these,
so in most cases we'll be underestimating the peak FLOPS.
svn path=/trunk/boinc/; revision=24346
to match those in the clGetDeviceInfo() calls.
Principles:
- if there's already a name for something, use it.
- follow case conventions
svn path=/trunk/boinc/; revision=24344
and one of them is down.
If several downloads from the broken one fail,
we go into "project-level backoff"
and don't start downloads from either server.
(Same applies to uploads).
Solution: make project-level backoff apply only to
transfers that have already failed at least once
svn path=/trunk/boinc/; revision=24339
This caused 128KB + size of stderr loss for each job.
- client: print error message if reading stderr fails
(e.g. because of malloc failure)
svn path=/trunk/boinc/; revision=24336
don't use name as a tiebreaker.
The will typically group jobs of the same application,
and (it is believed that) things run faster when
applications are mixed.
- scheduler: bug: if a client gets host-specific prefs
(e.g. from an account manager)
it will send only the working prefs to the scheduler.
The scheduler then always sends back the DB prefs,
overwriting the host-specific prefs.
Fix: note the mod time in the working prefs,
and only send the DB prefs if they're more recent.
svn path=/trunk/boinc/; revision=24332
on the primary display. Some of the issues being reported with the screensaver
is a left over ghost image of the OpenGL display before the graphics application
was terminated because keyboard/mouse activity was detected.
clientscr/
screensaver_win.cpp
win_build/
boinc_os_ss.vcproj
svn path=/trunk/boinc/; revision=24331
Note: XML_PARSER::parse_str() doesn't currently work right
for something like <foo><a>xx</a></foo>.
It should return "<a>xx</a>".
TODO.
svn path=/trunk/boinc/; revision=24325
- client: if an app version can't be used because the GPUs it needs
are all excluded, mark it and all its results as "coproc missing"
so that they won't be looked at in scheduling logic.
svn path=/trunk/boinc/; revision=24317
in the presence of GPU exclusions.
The problem was in the job-selection phase,
which picks enough jobs to use all devices.
It was ignoring GPU exclusions, so for example on
a 2 GPU system it could pick 2 jobs from a project
for which 1 GPU is excluded,
and as a result 1 GPU would be idle.
Solution: during job selection,
keep track of GPU usage on a per-instance basis.
Select a job only if it can run on a non-excluded GPU.
- client: in computing ncprocs_excluded (which is used in
work fetch policy) don't count exclusions of non-existent devices
svn path=/trunk/boinc/; revision=24316