Commit Graph

101 Commits

Author SHA1 Message Date
David Anderson 6af9f66b4e - DB/feeder/scheduler: change app_version.xml_doc from blob to mediumblob,
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
2008-03-31 16:19:45 +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 b20f2d915c - server: added a mechanism for submitting jobs as:
> boinc_submit --infile foo --outfile blah program --args
    This will run "program" on a remote host,
    with the given input, output files, and command-line args

    It manages everything for you.
    You don't have to worry about apps, app_versions,
    template files, wrapper job files, etc.
    See: http://boinc.berkeley.edu/trac/wiki/SingleJob

    Initial checkin - not debugged yet.

svn path=/trunk/boinc/; revision=14842
2008-03-04 23:50:38 +00:00
David Anderson c8384113e4 - changes to many files to fix gcc4.3 compile
svn path=/trunk/boinc/; revision=14811
2008-02-27 23:26:38 +00:00
David Anderson b6cc885abf - server: make the special substring for assigned WUs
into a #define's symbol (ASSIGNED_WU_STR)
- scheduler: when send client command to abort a WU,
    include a reason code in the scheduler log

svn path=/trunk/boinc/; revision=14798
2008-02-26 17:24:29 +00:00
David Anderson 54519a4ee1 - Server: add "job assignment" feature.
Lets you assign a WU to a particular host,
    to one or all hosts belonging to a user or team, or to all hosts.
    See http://boinc.berkeley.edu/trac/wiki/AssignedWork
    Disabled unless you include <enable_assignment> in config.xml
    Uses a new DB table.
    Tested but only a little.
- Server: code cleanup; moved result-handling to a new file,
    and removed the PLATFORM_LIST arg to everything
    (put it in SCHEDULER_REQUEST instead)

svn path=/trunk/boinc/; revision=14767
2008-02-21 00:47:50 +00:00
David Anderson 5104b76439 - XML fix in backend lib
svn path=/trunk/boinc/; revision=14482
2008-01-07 22:04:54 +00:00
David Anderson b42c68e5dd - API: switch back to structure where the worker thread
calls getrusage() in a signal handler to find its CPU time.
    Apparently there are some kernels and/or thread libraries
    where getrusage() does NOT return the total CPU time of
    all threads in the process,
    so in these cases calling it from the timer thread doesn't work.
    
    This was originally changed because of concerns that
    calling getrusage() in a signal handler was dangerous;
    we'll see if any problems re-emerge.

    The alternative of reading /proc/PID/stats doesn't seem viable;
    format may not be standardized.

svn path=/trunk/boinc/; revision=14433
2007-12-21 19:23:22 +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 b686f89d85 David 20 Apr 2007
- make_project: add periodic tasks to default config.xml:
        dp_dump, update_uotd, update_forum_activities, update_stats,
        update_profile_pages
    - backend_lib.C: refuse to create a job for which some necessary
        parameter (rsc_fpops_est, rsc_fpops_bound, etc.) is missing
    - Unix build: don't include std_fixes.h in config.h.
        std_fixes.h is (I think) deprecated
    - sched_util: default sched log level is MSG_NORMAL
    - client: add ".txt" to job log filename
    - compile fixes

    configure.ac
    api/
        reduce_main.C
    client/
        file_names.C
    lib/
        str_util.h
    sched/
        sample_work_generator.C
        sched_msgs.h
    tools/
        backend_lib.C

svn path=/trunk/boinc/; revision=12430
2007-04-20 17:14:08 +00:00
David Anderson 75a2b2c55b *** empty log message ***
svn path=/trunk/boinc/; revision=12322
2007-04-05 17:02:01 +00:00
David Anderson 81effa6a7b *** empty log message ***
svn path=/trunk/boinc/; revision=12127
2007-02-21 16:26:51 +00:00
David Anderson ff91c8450f *** empty log message ***
svn path=/trunk/boinc/; revision=12004
2007-01-30 18:19:30 +00:00
David Anderson 51c8c62fa3 *** empty log message ***
svn path=/trunk/boinc/; revision=10348
2006-06-14 20:17:35 +00:00
David Anderson f78b851b64 *** empty log message ***
svn path=/trunk/boinc/; revision=10221
2006-05-30 17:02:46 +00:00
David Anderson a9ebba7ca1 *** empty log message ***
svn path=/trunk/boinc/; revision=10057
2006-04-28 18:31:32 +00:00
David Anderson 22853c9ab6 command line in template
svn path=/trunk/boinc/; revision=10053
2006-04-28 16:59:53 +00:00
David Anderson f471b89bf9 propagate batch to result
svn path=/trunk/boinc/; revision=9318
2006-01-26 00:19:05 +00:00
David Anderson 9edb1c083f *** empty log message ***
svn path=/trunk/boinc/; revision=9170
2006-01-05 06:42:45 +00:00
Eric J. Korpela d9ee426071 Added explicit includes of "config.h" in many files to enable use of compilers
without a -include command line option.

svn path=/trunk/boinc/; revision=8896
2005-11-21 18:34:44 +00:00
David Anderson 72ad81d930 command_line arg to create_work()
svn path=/trunk/boinc/; revision=8773
2005-10-29 20:16:07 +00:00
Jeff Cobb 5218ad9bdf Jeff - pull out old hier dir/url hash function
svn path=/trunk/boinc/; revision=8163
2005-09-23 21:09:00 +00:00
Bruce Allen f221e6bd89 If we've created new results for a file, remove filename from the
'working_set_removal' list.

svn path=/trunk/boinc/; revision=6459
2005-06-27 17:06:29 +00:00
Bruce Allen 042bfde576 when using locality scheduler, have transitioner or backend
lib advertise data file when new result is created.
code organization: create new lib function boinc_touch_file()
      from code that was in locality scheduler module.

svn path=/trunk/boinc/; revision=6456
2005-06-27 16:31:49 +00:00
David Anderson 28cc1fb011 *** empty log message ***
svn path=/trunk/boinc/; revision=6343
2005-06-14 20:31:15 +00:00
David Anderson 8d0ab453b3 *** empty log message ***
svn path=/trunk/boinc/; revision=5443
2005-02-16 23:17:43 +00:00
Eric J. Korpela c05d6d23a0 Because FCGI doesn't support fscanf() and fgetc(), the FILE pointers need to be
wrapped in a call to FCGI_ToFILE().  In the case where FCGI isn't being used
FCGI_ToFILE(x) is defined to (x).

svn path=/trunk/boinc/; revision=5387
2005-02-10 19:39:37 +00:00
David Anderson 36ed6019c2 *** empty log message ***
svn path=/trunk/boinc/; revision=5380
2005-02-09 23:49:46 +00:00
Bruce Allen 21e1990508 Made the caching of md5 info for source files a configuration option in
config.xml.  Use the boolean tag <cache_md5_info> to enable it.
This prevents the work generation library from having to go back and
continuously regenerate the md5 sums of your input data files.  Note
that reading these from disk can be expensive if you have many such files
that are large and that you re-use. See check-in notes from 30/31 Dec 2004
for some details.

svn path=/trunk/boinc/; revision=5281
2005-02-02 21:57:11 +00:00
David Anderson 435f8edd47 *** empty log message ***
svn path=/trunk/boinc/; revision=5161
2005-01-20 23:22:22 +00:00
David Anderson 205d90a11d *** empty log message ***
svn path=/trunk/boinc/; revision=5040
2005-01-09 08:44:41 +00:00
David Anderson 4e294d1e5a *** empty log message ***
svn path=/trunk/boinc/; revision=5030
2005-01-08 07:44:22 +00:00
Bruce Allen f31b244f90 Modified CVS id strings. After some fussing with different versions
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
2005-01-02 18:29:53 +00:00
David Anderson 66950e2822 replace bad filename hashing function
svn path=/trunk/boinc/; revision=4975
2005-01-02 07:44:40 +00:00
Bruce Allen 5ce5d79c0f Some improvements on the md5-info caching. If the 'data' file is
more recent than the 'md5info', then ignore md5info.  If md5info
has *exactly* the right format (no extra or missing characters) then
remove it in this case (only).  Don't write an md5info file if
another file is found with the same name.  Thus if someone has two
data files called X and X.md5, unless X.md5 has the exact correct
syntax for an md5-info cache file, it won't be removed or used.
Still disabled by default.  Use -DBOINC_CACHE_MD5 to enable it.

svn path=/trunk/boinc/; revision=4973
2004-12-31 15:39:05 +00:00
Bruce Allen e009537167 When creating large numbers of WU which have large input files,
the cost of computing the md5 sums becomes expensive.  Inserted
a simple caching mechanism into the utility function
process_wu_template().  For a given filename FILENAME, this looks
for a file called FILENAME.md5, which contains the md5sum and
length.  If the file exists, these values are used.  If not, such
a file is created.  Since (I think) David is planning to have a
database for files, this mechanism will eventually be obsolete.
Right now it disabled by default.  Use -DBOINC_CACHE_MD5 to
enable it.

svn path=/trunk/boinc/; revision=4965
2004-12-30 04:16:00 +00:00
David Anderson 072d84e238 *** empty log message ***
svn path=/trunk/boinc/; revision=4937
2004-12-26 02:55:31 +00:00
Bruce Allen a24afe2b67 Moved RCSID strings to the end of all .c, .C and .cpp files as per
David's request.

svn path=/trunk/boinc/; revision=4787
2004-12-08 00:40:19 +00:00
David Anderson 2c5f1d1a5b *** empty log message ***
svn path=/trunk/boinc/; revision=4772
2004-12-06 22:41:19 +00:00
David Anderson 319328e169 *** empty log message ***
svn path=/trunk/boinc/; revision=4620
2004-11-22 19:17:13 +00:00
Bruce Allen 45525eade1 - Added static volatile const char *BOINCrcsid="$Id$"; string to
the top of all .C files.  This means that 'string' or 'ident'
run on an executable will tell you the exact file versions used
in building it, since CVS replaces $Id$ with a complete version ID
string.  Declaration is volatile so that the compiler won't remove
it even under agressive optimizations.

svn path=/trunk/boinc/; revision=4610
2004-11-20 07:32:32 +00:00
David Anderson 6e94de0a6c *** empty log message ***
svn path=/trunk/boinc/; revision=4240
2004-09-24 21:28:12 +00:00
Lana Alber 154b132c24 *** empty log message ***
svn path=/trunk/boinc/; revision=4211
2004-09-20 23:03:47 +00:00
David Anderson 156930d204 *** empty log message ***
svn path=/trunk/boinc/; revision=4003
2004-08-06 11:42:41 +00:00
Karl Chen 0423d6c4d3 *** empty log message ***
svn path=/trunk/boinc/; revision=3947
2004-07-23 20:48:49 +00:00
David Anderson 11fda1b929 *** empty log message ***
svn path=/trunk/boinc/; revision=3923
2004-07-21 21:50:25 +00:00
Karl Chen afd778de8a *** empty log message ***
svn path=/trunk/boinc/; revision=3863
2004-07-13 13:54:09 +00:00
Jeff Cobb 07870d11d5 *** empty log message ***
svn path=/trunk/boinc/; revision=3838
2004-07-10 00:12:06 +00:00
David Anderson 1f85b52a12 *** empty log message ***
svn path=/trunk/boinc/; revision=3754
2004-07-02 19:45:33 +00:00
David Anderson e0ddccfb44 *** empty log message ***
svn path=/trunk/boinc/; revision=3753
2004-07-02 19:17:53 +00:00