The validator handler can now pass unknown arguments to the project specific handler.
Projects that have there own validator need to implement the validate_handler_init() function and handle project specific arguments there. They also need to supply a validate_handler_usage() function that printf()'s a description of the custom options. For examples see sample_substr_validator.cpp or script_validator.cpp
The validator test harness was also adopted to use this new functions.
This brings the implementation of the validator framework on the same level as the assimilator framework where similar changes where made in 0038d275c and dd004404a.
If you link your functions (init_result(), compare_results(),
cleanup_result()) with validate_test.cpp,
you'll get a program that you can run as
validate_test file1 file2
and it will compare the two files
(this works only for validators that expect 1 file per result).
I added a makefile, sched/makefile_validator_test,
that you can use for this.
- server: shuffle code so that the above doesn't need to
link MySQL libraries
- client: if we fetch a master file and it contains no scheduler URLs,
show a message of class INTERNAL_ERROR
- client/scheduler: make CUDA_DEVICE_PROP.totalGlobalMem a double,
and remove dtotalGlobalMem.
Although NVIDIA reports RAM size as a size_t,
there's no reason to store it as an integer after that.
svn path=/trunk/boinc/; revision=25542
- scheduler: fix bug in adaptive replication:
if send an unreplicated job to untrusted host,
set both wu.target_nresults and wu.min_quorum to app.target_nresults.
svn path=/trunk/boinc/; revision=15762
This tells the sample bitwise validator to ignore this file.
- client: parse the above field (avoid "unparsed XML" msgs)
svn path=/trunk/boinc/; revision=15514
add new functions get_output_file_info();
- change get_output_file_path() to look at the result's
xml_doc_in rather than its xml_doc_out;
this is the one that will have <optional/>
- fix crashing bug in the above
svn path=/trunk/boinc/; revision=15334
to return a struct FILE_INFO (including "optional")
instead of just the filename.
This lets you avoid erroring out if optional file is missing.
- Sample bitwise validator: support > 1 output file correctly
svn path=/trunk/boinc/; revision=15332
The design has been changed to constant #threads per app version
Various changes from Kevin Reed/WCG:
- server: add workunit.rsc_bandwidth_bound: if nonzero,
send this WU only to hosts with that much download bandwidth
- assimilators: if a handler returns DEFER_ASSIMILATION,
the WU remains in INIT state and will be handled when the
next instance completes.
Useful if you want the assimilator to see all instances.
- scheduler: when setting result.outcome = DETACHED,
set received_time to now
- scheduler: removed the reliable_time and reliable_min_avg_credit
options
- scheduler/web: add optional <allow_non_preferred_projects>
in project preferences.
If present, user will accept work from non-selected apps
if no work is available for selected apps
- scheduler: improved messages for projects with multiple apps
- scheduler: added config options
<granted_credit_weight> and <granted_credit_ramp_up>.
Used in calculating host.claimed_credit_per_cpu_sec,
but I'm not sure how.
- Added two new credit-granting formulas (validate_util.C):
stddev_credit() and two_credit()
- server DB: add rollback_transaction() and affected_rows() to DB_CONN
NOTE: DB update required
svn path=/trunk/boinc/; revision=14870
It works, at least in my test case.
- boinc_submit script:
show status every 10 seconds until completed
add --wait option to show status for previous submission
- Added get_logical_name() in validate_util.C
- create_work: change default target_nresults from 5 to 2,
max_error_results from 10 to 3,
max_total_results from 20 to 10,
max_success_results from 10 to 6
- boinc_cmd: show full usage if no args
- project setup: copy single_job_assimilator
svn path=/trunk/boinc/; revision=14847
the enumeration ending versus it failing.
This fixes a bug where lots of results would be
incorrectly aborted if there's a database problem.
This fix only matters if you use the <send_result_abort> config flag.
(from Kevin Reed)
- validator: add -credit_from_wu option.
This gets credit from the workunit XML
(which must have a <credit> flag).
This lets you use credit-from-WU with the standard validators
(sample_bitwise and sample_trivial)
sched/
handle_request.C
validator.C
validate_util.h
svn path=/trunk/boinc/; revision=12558