Commit Graph

595 Commits

Author SHA1 Message Date
David Anderson 836e8aacf7 - scheduler: in cuda_check(), ati_check() and opencl_check()
(in sched_customize.cpp)
    the flops_scale argument is intended to express the
    GPU efficiency (actual/peak).
    Pass appropriate values.


svn path=/trunk/boinc/; revision=24405
2011-10-16 06:04:13 +00:00
David Anderson 090050c0ca - client: fix bug that could cause GPU idleness
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
2011-10-03 03:29:58 +00:00
David Anderson d8a5fe6074 - team import script: don't exit if fail to create user.
The failure may be because the email is banned
	(as happened w/ SETI@home)


svn path=/trunk/boinc/; revision=24315
2011-10-02 06:59:00 +00:00
David Anderson 9d2ba11e09 - back end: extend the access control system for remote job submission
and other operations.
    You can now designate a user as "manager" for a particular app.
    They can then:
    - control job-submit permissions for that app
    - deprecate/undeprecate versions of the app.
    - abort jobs for that app

    You can also designate a user a manage for the project.
    They can then edit permissions and quotas,
    as well as performing the app-specific functions for all apps.

    This is described here:
    http://boinc.berkeley.edu/trac/wiki/MultiUser#Accesscontrol

    This required some changes to the DB schema.


svn path=/trunk/boinc/; revision=24250
2011-09-21 21:26:00 +00:00
David Anderson e49f945908 - Validator: allow project-specific code to mark a result
is a "runtime outlier", i.e. its runtime does
    not correspond to the job's rsc_fpops_est.
    Runtime outliers are not counted in the statistics for
    elapsed time, turnaround time, and peak FLOPs count.

    The is intended for applications like SETI@home,
    some of whose jobs finish more or less instantly
    (this happens if the data contains a lot of interference).
    If a host happens to get a bunch of these short jobs,
    its statistics will get skewed: in essence, the server
    will think that the host is extremely fast,
    and will send it too many jobs.


svn path=/trunk/boinc/; revision=24225
2011-09-16 16:43:15 +00:00
David Anderson 8c49c174c3 - preliminary stuff for mechanism where privileged users
can create apps and app versions
- crontab commands should be preceded by cd to project root


svn path=/trunk/boinc/; revision=24137
2011-09-07 06:54:44 +00:00
David Anderson 7c81d72378 - web: fix warnings in forum pages
- scheduler: when using elapsed time stats to predict runtime,
    cap the estimated FLOPS at twice the peak FLOPS;
    otherwise, if a host has received a lot of very short jobs
    recently, it will get a too-high FLOPS estimate and
    will exceed the rsc_fpops_bound limit.


svn path=/trunk/boinc/; revision=24128
2011-09-05 17:29:53 +00:00
David Anderson 78a9c920c7 - web: more fixes from Christian Beer. Fixes #1129
svn path=/trunk/boinc/; revision=24050
2011-08-26 18:30:13 +00:00
David Anderson c3649f289b - add script to purge trickle message records from DB
- fix spelling errors in db_purge


svn path=/trunk/boinc/; revision=24019
2011-08-21 13:26:46 +00:00
David Anderson 12f7c6e04e - web: when sending emails to other users, don't translate anything
(since they don't necessarily speak our language)


svn path=/trunk/boinc/; revision=23948
2011-08-08 06:12:17 +00:00
David Anderson f3b9286d78 - client: fix bug in get_descendants(),
which prevented the client from cleaning up
    subprocesses of misbehaving multiprocess apps.
- remote job submission system:
    assign physical names to input files (based on their MD5)
    rather than having the user provide physical names
- VM apps: eliminate vbox64 plan class.  Only vbox.


svn path=/trunk/boinc/; revision=23923
2011-08-03 16:45:00 +00:00
David Anderson 5b159c6735 - remote job submission: bug fix and tweaks
- client: cc_config.xml: if <devnum> is omitted from a <exclude_gpu>,
    it means exclude all instances of that GPU type
- client: if all instances of a GPU type are excluded for a project,
    don't ask the project for jobs of that type


svn path=/trunk/boinc/; revision=23898
2011-07-29 00:07:20 +00:00
David Anderson 6e5acbbe60 - web: remote job submission:
- add fields to batch table, extend APIs accordingly
    - require that example web interface run on BOINC server
        (this makes many things easier;
        an actual remote interface would require a bit more work)


svn path=/trunk/boinc/; revision=23881
2011-07-27 06:20:48 +00:00
David Anderson 5ad821df21 - server: some remote job submission code. Not finished.
svn path=/trunk/boinc/; revision=23868
2011-07-22 22:47:41 +00:00
David Anderson 9f27824fba - admin web: improve the FLOPs estimation tool so that
it works for GPU versions too


svn path=/trunk/boinc/; revision=23840
2011-07-13 21:50:48 +00:00
David Anderson e521a112a9 - admin web: finish page for resetting app statistics
svn path=/trunk/boinc/; revision=23836
2011-07-12 18:03:20 +00:00
David Anderson 3d02f9f361 - admin web: add page for showing app and app version details
svn path=/trunk/boinc/; revision=23835
2011-07-12 05:19:15 +00:00
David Anderson 8a9605e48c - web: add a web-service interface for remotely submitting, querying
and controlling batches of jobs
- web: add an administrative interface for controlling
    user permissions for submitting jobs
- web: add an interface where users can view and control
    their submitted jobs
See: http://boinc.berkeley.edu/trac/wiki/RemoteJobs
This is at a functional but rough stage.


svn path=/trunk/boinc/; revision=23762
2011-06-21 22:56:15 +00:00
David Anderson 04c48d67b8 - web: use ReCaptcha for account creation as well as profile creation
(from Daniel)
- GUI RPC: remove have_cuda from CC_STATE.
    Use the info in host_info.coprocs instead.


svn path=/trunk/boinc/; revision=23755
2011-06-20 17:17:56 +00:00
David Anderson 436415cfe1 - scheduler, back end: add "homogeneous app version" feature.
Lets you specify, on a per-app basis,
    that all instances should be done using the same app version.
    This is for validation in the presence of GPUs.
- scheduler: code cleanup
    - Instead of adding a bunch of non-DB fields to RESULT,
        used a derived class SCHED_DB_RESULT.
    - Instead of storing a pointer to BEST_APP_VERSION in RESULT,
        store the structure itself.
        This simplifies the memory allocation situation.
- client: condition "Got server request to delete file" messages
    on <file_xfer_debug>


svn path=/trunk/boinc/; revision=23636
2011-06-06 03:40:42 +00:00
David Anderson 9665363a2e - Bossa tweaks
svn path=/trunk/boinc/; revision=23617
2011-05-27 19:05:23 +00:00
David Anderson 2385c00b67 - wrapper: tell the client when we checkpoint
(else checkpoint_elapsed_time etc. don't get set)
- make_project: enable update_stats by default
- update_stats: add --min_age option


svn path=/trunk/boinc/; revision=23509
2011-05-06 12:33:12 +00:00
David Anderson b062bd03f4 - admin web: all specifying an SVN config dir in the web config file,
in case your svn requires a proxy or something.
    From Boris Dayma.


svn path=/trunk/boinc/; revision=23386
2011-04-19 20:17:51 +00:00
David Anderson c83781a91c - admin web: remove options to delete apps and app versions.
This is almost always a bad idea.


svn path=/trunk/boinc/; revision=23364
2011-04-13 19:19:36 +00:00
David Anderson 47f89ea688 - update script that counts GPUs
svn path=/trunk/boinc/; revision=23236
2011-03-14 23:57:38 +00:00
David Anderson c7ab17fa21 - single-job submission system: don't hardwire i686 architecture;
make it work on any Linux system.
    From Steffen Moller.

svn path=/trunk/boinc/; revision=22899
2011-01-13 00:05:49 +00:00
David Anderson bbaff5d2da - web: remove DBNAME hack, which allowed users to see the DB name
(not a big deal, but bad form).
    Fixes #1028

svn path=/trunk/boinc/; revision=22748
2010-11-25 05:54:09 +00:00
David Anderson 2e6e93214e - client: restore code to maintain recent estimated credit
- admin web: clean up manage_user.php

svn path=/trunk/boinc/; revision=22713
2010-11-18 20:29:30 +00:00
David Anderson 8d9cf013c5 - client: account manager RPC:
Additions to request message:
        <not_started_dur>X</not_started_dur>
        <in_progress_dur>X</in_progress_dur>
        The estimated remaining duration of unstarted
        and in-progress tasks
    Additions to reply message, within <project>, optional:
        <suspend>0|1</suspend>
            suspend or resume project (overrides local state)
        <abort_not_started>0|1</abort_not_started>
            if set, abort unstarted jobs


svn path=/trunk/boinc/; revision=22698
2010-11-17 20:04:58 +00:00
David Anderson c6f72463cc - admin web: fix bug in credit.php
svn path=/trunk/boinc/; revision=22697
2010-11-14 17:04:56 +00:00
David Anderson 2a9c52793c svn path=/trunk/boinc/; revision=22666 2010-11-09 22:35:59 +00:00
David Anderson de944b928e - admin web: fix bugs in manage_app_versions page
- client: message tweak

svn path=/trunk/boinc/; revision=22633
2010-11-05 23:23:28 +00:00
David Anderson d6f698c3bb - admin web: fix bugs in manage_apps.php
svn path=/trunk/boinc/; revision=22627
2010-11-05 04:44:14 +00:00
Rytis Slatkevičius 71785b11f3 ops: extend manage_apps to estimate feeder shmem work items for each application. Useful for projects with multiple applications and limited work supply.
svn path=/trunk/boinc/; revision=22611
2010-11-01 09:08:50 +00:00
David Anderson f484e732cd - web: fix next-URL mechanism for admin login (from Michael Tarantino)
svn path=/trunk/boinc/; revision=22604
2010-10-29 17:49:29 +00:00
David Anderson 0ccf399136 - web: move server status page from ops/ to user/.
Remove funky file-writing stuff - just use caching.
    fixes #913
- web: include link to server status page on sample front page

svn path=/trunk/boinc/; revision=22361
2010-09-15 22:28:33 +00:00
David Anderson a766b9c766 - web: improve server status page, and make it translatable
From Christian Beer

svn path=/trunk/boinc/; revision=22360
2010-09-15 22:06:45 +00:00
David Anderson d44e403fbf - admin: fix bug with "upgrade --server_only".
It wasn't copying html/ops/db_update.php,
    so it wasn't doing necessary DB updates.
    Fixed this by always copying html/ops/*.

    Even with this fix, there is a problem when using
    the --server_only or --web_only options of upgrade:
    if any DB updates are done, they may affect the
    server code that's not being updated, resulting in crashes.

    I added a warning message in this case,
    recommending that a full upgrade be done.

svn path=/trunk/boinc/; revision=22200
2010-08-11 20:08:13 +00:00
David Anderson b2064d0cd0 - admin: add script for deleting results with no workunit.
There were ~1,400 of these on SETI@home,
    presumably because of a bug at some point in the past.

svn path=/trunk/boinc/; revision=22197
2010-08-11 18:52:11 +00:00
David Anderson 1d9e52ca20 svn info http://boinc.berkeley.edu/svn/branches/server_stable
svn path=/trunk/boinc/; revision=22147
2010-08-05 20:16:01 +00:00
David Anderson 8fb8548867 - admin web: tweaks
svn path=/trunk/boinc/; revision=21848
2010-06-30 19:04:36 +00:00
David Anderson 21d697fe9f svn path=/trunk/boinc/; revision=21816 2010-06-25 20:26:08 +00:00
David Anderson 56293c22d1 svn path=/trunk/boinc/; revision=21815 2010-06-25 20:25:42 +00:00
David Anderson 7c51512cbf - transitioner: the format string for a DB query had %.15d instead of %.15e.
That produced a messed-up query that assigned garbage values to:
        host_app_version.turnaround_var
        host_app_version.turnaround_q
        host_app_version.max_jobs_per_day
        host_app_version.consecutive_valid
    To repair these:
        - set turnaround_var and turnaround_q to zero
        - if max_jobs_per_day is outside of
            (0..config.daily_result_quota)
            set it to config.daily_result_quota
        - if consecutive_valid is outside (0..1000), set it to zero
    I added a script, html/ops/repair_21812.php, that does this;
    if you ran server code between [21181] and [21812], run this script.
- scheduler/transitioner: add <debug_quota> log flag
- changed the build system to always use -Wall
    (if we'd done this before, this bug wouldn't have happened)
- fixed a bunch of other compile warnings


svn path=/trunk/boinc/; revision=21812
2010-06-25 18:54:37 +00:00
David Anderson e260b47bd5 - database: app.min_avg_pfc should default to 1, not 0
svn path=/trunk/boinc/; revision=21763
2010-06-17 16:44:33 +00:00
David Anderson 8b836a391b - database: remove unused fields from app table
svn path=/trunk/boinc/; revision=21728
2010-06-11 03:50:47 +00:00
David Anderson 875397d1b0 - admin web: add start/end times to team import log output
svn path=/trunk/boinc/; revision=21693
2010-06-04 19:20:19 +00:00
David Anderson 689f6c1625 - GUI RPC: improved error reporting
svn path=/trunk/boinc/; revision=21585
2010-05-19 17:15:33 +00:00
David Anderson 5fe3ea66a7 - user web: fix PHP warning
- admin web: add tool for debugging credit


svn path=/trunk/boinc/; revision=21417
2010-05-07 21:46:04 +00:00
David Anderson 5035007b90 - back end: new way of deciding:
- whether host is "reliable" for an app version
    - whether host is eligible for single replication for an app version
    - whether to use host scaling
    In each case, the answer is yes if the number of
    consecutive valid results is above a threshold.
    This replaces existing "error rate" and "scale probation" mechanisms.

    TODO: the # of consecutive valid results should also determine
        a limit on jobs in progress for an app version.
        Namely, if N is the threshold for host scaling, the limit should be
            ndevices*(max(1, consecutive_valid - N))
        The client currently doesn't supply enough
        app version info to do this.
        It could be approximated; that would give some protection
        against cherry-picking.
- credit: more conservative formulas for combining claimed credit
    among replicas.
    If there are normal replicas, we use a "low average"
    that weights each sample by the sum of the other samples.
    Otherwise we use the min (not the average) of the approximate samples.

NOTE: a DB update is required


svn path=/trunk/boinc/; revision=21230
2010-04-21 19:33:20 +00:00