and change the correspending structure field from 64KB to 256KB
(could increase this if needed).
This is needed to handle app versions with lots (> 100) of files
- change LARGE_BLOB_SIZE to BLOB_SIZE a bunch of places
- Change COPROCS from vector<COPROC> to vector<COPROC*>.
Otherwise the right virtual functions of COPROCs don't get called
svn path=/trunk/boinc/; revision=14986
- update_versions: use __ (not :) as separator for plan class
- client: add plan_class to APP_VERSION;
an app version is now identified by platform/version/plan_class
- client CPU scheduler: don't assume apps use 1 CPU
- client: add avg_ncpus, max_cpus, flops, cmdline to RESULT
- scheduler: implement app planning scheme
Other changes:
- client: if symlink() fails, make a XML soft link instead
(for Unix running off a FAT32 FS)
- client: don't accept nonpositive resource share from AMS
- daemons and DB: check for error returns from enumerations,
and exit if so. Thus, if the MySQL server goes down,
all the daemons will soon exit.
The cron script will restart them every 5 min,
so when the DB server comes back up so will the project.
- web: show empty max CPU % as ---
- API: get rid of all_threads_cpu_time option (always the case now)
svn path=/trunk/boinc/; revision=14966
But if we do, set their transitioner time to plus infinity
so that we don't see them again.
(otherwise we go into an infinite loop)
- DB code: remove "high_priority" from queries not from scheduler
(should probably remove them from there too)
- file_deleter: print error msg if apache user doesn't exist
svn path=/trunk/boinc/; revision=14835
config.xml has optional <ban_os> and <ban_cpu> elements,
which contain regular expressions matched against
os_name\tos_version and p_vendor\tp_model.
If a host matches either one, it's not sent jobs.
- scheduler: fix bug in job assignment
- scheduler: initial (incompleted, commented-out) code for
matchmaker scheduling
- server programs: declare "SCHED_CONFIG config" in sched_config.C;
remove declarations of it from all other .C files
(because I added a vector to it, I can no longer use memset
to initialize it to zero; instead, it must be a global variable,
not an automatic)
svn path=/trunk/boinc/; revision=14783
between completing a result and reporting it.
- back end: added <httpd_user> config option:
Web server user name (used by file deleter)
- back end: don't report unparsed XML in config.xml as an error
client/
app.h
work_fetch.C
lib/
shmem.C
sched/
file_deleter.C
file_upload_handler.C
sched_config.C,h
show_shmem.C
svn path=/trunk/boinc/; revision=13039
there is for each HR class, and writes it to a file.
This will be used soon for HR support in the feeder.
- split the HR code into hr.C,h (stuff used by both census and scheduler)
and sched_hr.C (stuff used only by the scheduler)
- database: change DB_CREDITED_JOB to treat workunitid
as a double (which it is) rather than a long.
BTW, long == int.
- fixed lots of compile warnings in the server code
db/
boinc_db.C,h
lib/
boinc_cmd.C
miofile.C
util.C
sched/
Makefile.am
census.C (new)
feeder.C
file_deleter.C
file_upload_handler.C
handle_request.C
hr.C,h (new)
main.C
sample_assimilator.C
sample_work_generator.C
sched_array.C
sched_hr.C,h
sched_send.C
server_types.C
transitioner.C
validator.C
svn path=/trunk/boinc/; revision=12970
for WUs of different applications
(need to count unsent results separately by app)
- feeder: major code cleanup
- application interleaving (for -allapps) is now done
by building a static slot-to-app array "app_indices".
Fractional weights now work correctly.
- enum sizes (for -allapps) are now precomputed
in an array "enum_sizes"
- rename "found" (confusing!!) to "collision"
- swapped the names of mod_select_clause and select_clause,
to reflect what they actually are
- file deleter: in finding oldest WU, order by id instead of create_time
(there's no index on create_time)
- user web: show "merge by name" only to host owner
- add cpu_scheduler_period() member to GLOBAL_PREFS
(so you don't have to multiply by 60 everywhere)
- infinite() fix for HPUX
client/
cpu_sched.C
cs_cmdline.C
cs_scheduler.C
rrsim_test.C
sim.C
work_fetch.C
html/user/
hosts_user.php
lib/
parse.h
prefs.h
sched/
feeder.C
file_deleter.C
make_work.C
sample_work_generator.C
sched_util.C,h
tools/
updater.C
svn path=/trunk/boinc/; revision=12968
- boinc_cmd: canonicalize URLs
- user web: fix link to Top Teams
- back end: remove code related to alternate download dir
client/
cpu_sched.C
sim.C
html/
inc/
stats_sites.inc
user/
stats.php
lib/
boinc_cmd.C
sched/
file_deleter.C
sched_config.C,h
svn path=/trunk/boinc/; revision=12694
we need to use " to expand $PROJECT var
- scheduler:
take work_buf_min into account in deciding whether
a result will be reported by its deadline.
- all back end programs:
better error message if can't parse config file
html/inc/
translation.inc
sched/
*.C
svn path=/trunk/boinc/; revision=12652
stale .nfs* lockfile which was more than 60 days older than the oldest WU.
This should not happen! After these modifications, antique deletion
will not be turned off, but a CRITICAL error message will be logged.
svn path=/trunk/boinc/; revision=11548
Now delete files in increasing mtime order
Additional paranoia to avoid deleting 'the wrong' files if there
is a configuration or other user/admin error
Use C++ string type for storage efficiency in list
Only delete antique files when there is no OTHER file deletion to do
svn path=/trunk/boinc/; revision=7461
If this switch is enabled on the command line, then
periodically (once per hour) removes any files in the
upload/ directory that are older than the oldest WU in the
database. These files are created when BOINC clients
return work really late after the deadline -- so late that
the corresponding WU has been deleted from the database.
About half the results in the E@H upload/ directory were
of this form. The 'find' command is used to locate such
files. This is potentially a dangerous operation since
if we find then delete the wrong file(s) all hell could
break lose on the server. So a lot of 'paranoia and
sanity checking' is done before unlink(path) is called,
and we bail out at the first sign of something odd.
svn path=/trunk/boinc/; revision=7208
file an output file for a SUCCESSFUL result. Failure to
find an output file for an UNSUCCESSFUL result is OK, and
just logged at level DEBUG.
svn path=/trunk/boinc/; revision=7184
of gcc to try and force them to not complain with -Wall but to always
include this, I decided to take a simpler approach. All these strings
now have global linkage. To prevent namespace conflicts they all
have different names. For the record, the variable extension is a hash made of the first ten characters of the md5sum of the file path, eg:
md5hash=`boinc/api/x_opengl.C | md5sum | cut -c 1-10`
svn path=/trunk/boinc/; revision=4979