Commit Graph

34 Commits

Author SHA1 Message Date
David Anderson 13a5b9bf3e change multiple-inclusion guard names to BOINC_FILENAME_H 2017-04-07 23:54:49 -07:00
Christian Beer 2c36e7246d Daemons: enhance validator framework
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.
2016-08-16 11:14:42 +02:00
David Anderson 4e55dbf0e0 fix typo 2015-11-19 19:29:30 -08:00
David Anderson 6b81b0e63b server: provide access to output file names without random part
- add random substring as "_r123123"
- add function remove_random_from_filename() that removes
  the random substring from an output filename
2015-11-18 13:42:06 -08:00
David Anderson 302aa8c7aa server: add script_validator: a validator framework for Python, Perl, bash etc.
Added script_validator, a validator that invokes scripts of your choice
to check and compare results.
These can be in any language you want.
2014-10-21 22:14:57 -07:00
David Anderson 9ba4e985b6 server: fixes/improvements to validator_test 2014-10-14 10:25:28 -07:00
David Anderson 9c154484ee - fix many problems with validator_test
svn path=/trunk/boinc/; revision=25582
2012-04-19 08:47:38 +00:00
David Anderson 759c23ed27 - server: create a harness for testing validator code.
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
2012-04-10 00:32:35 +00:00
David Anderson 4147249de2 - server: delete old credit stuff
- user web: show host link in user result list.  Fixes #999


svn path=/trunk/boinc/; revision=21735
2010-06-12 22:08:15 +00:00
David Anderson 3fb7c8f13f - server code: moved everything related to credit-granting to credit.cpp,
where it can be used by trickle handlers as well as by validators.

svn path=/trunk/boinc/; revision=18831
2009-08-12 16:26:43 +00:00
David Anderson ee56ea3341 - validator: get_credit_from_wu() returns an error, rather than exiting,
if WU doesn't have <credit> element

svn path=/trunk/boinc/; revision=15777
2008-08-07 22:50:05 +00:00
David Anderson 4f66bb4c95 - added copyright and license info to .C, .cpp, .h files
- 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
2008-08-06 18:36:30 +00:00
David Anderson cff13c8871 - server: add optional <no_validate> element to output file <file_ref>s.
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
2008-06-30 16:46:05 +00:00
David Anderson 97239eb35c - Redo the above so that get_output_file_path() is unchanged;
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
2008-05-29 21:54:18 +00:00
David Anderson ebfb1e8e3b - Validator framework: change get_output_file_path()
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
2008-05-29 20:11:43 +00:00
David Anderson 95772cba77 - removed boinc_ncpus_available() and boinc_nthreads() calls.
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
2008-03-07 21:13:01 +00:00
David Anderson 4e3764df34 - server: debugged single-job submission feature.
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
2008-03-05 20:16:10 +00:00
Frank Thomas 3bfc78b511 Updated the postal address of the Free Software Foundation in all license headers. See http://lists.ssl.berkeley.edu/pipermail/boinc_dev/2007-October/008939.html for reference.
svn path=/trunk/boinc/; revision=13804
2007-10-09 11:35:47 +00:00
David Anderson 4c76f95a34 - scheduler: in send_result_abort(), distinguish between
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
2007-05-04 17:59:50 +00:00
David Anderson ff91c8450f *** empty log message ***
svn path=/trunk/boinc/; revision=12004
2007-01-30 18:19:30 +00:00
David Anderson 3967a1f924 *** empty log message ***
svn path=/trunk/boinc/; revision=11850
2007-01-12 17:42:29 +00:00
David Anderson d9465a8138 *** empty log message ***
svn path=/trunk/boinc/; revision=11387
2006-10-28 18:25:35 +00:00
David Anderson fb338265a0 *** empty log message ***
svn path=/trunk/boinc/; revision=10304
2006-06-10 21:29:51 +00:00
David Anderson 7d144b3d4d *** empty log message ***
svn path=/trunk/boinc/; revision=10291
2006-06-09 23:17:05 +00:00
David Anderson e3e70b9eb4 quorum size doesn't depend on nresults
svn path=/trunk/boinc/; revision=7710
2005-09-01 17:28:29 +00:00
David Anderson c5761218cc *** empty log message ***
svn path=/trunk/boinc/; revision=5613
2005-03-09 20:51:15 +00:00
David Anderson 435f8edd47 *** empty log message ***
svn path=/trunk/boinc/; revision=5161
2005-01-20 23:22:22 +00:00
David Anderson d7db5db2d8 *** empty log message ***
svn path=/trunk/boinc/; revision=4173
2004-09-09 22:25:10 +00:00
Karl Chen afd778de8a *** empty log message ***
svn path=/trunk/boinc/; revision=3863
2004-07-13 13:54:09 +00:00
Karl Chen b197c15bbb *** empty log message ***
svn path=/trunk/boinc/; revision=3860
2004-07-13 12:23:47 +00:00
Eric J. Korpela 7cd5c7911a *** empty log message ***
svn path=/trunk/boinc/; revision=3725
2004-06-30 18:17:21 +00:00
David Anderson 546947d011 *** empty log message ***
svn path=/trunk/boinc/; revision=2342
2003-09-20 17:38:13 +00:00
David Anderson f6771bac8c docs
svn path=/trunk/boinc/; revision=2196
2003-08-26 18:33:21 +00:00
Karl Chen d5680bc822 *** empty log message ***
svn path=/trunk/boinc/; revision=2090
2003-08-14 00:02:15 +00:00