Commit Graph

15655 Commits

Author SHA1 Message Date
Rom Walton 6474fefe65 Quick Updates
svn path=/trunk/boinc/; revision=21233
2010-04-21 20:14:46 +00:00
David Anderson c4df1f3104 svn path=/trunk/boinc/; revision=21232 2010-04-21 20:11:41 +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
David Anderson 71ecfd47a0 svn path=/trunk/boinc/; revision=21226 2010-04-21 04:00:17 +00:00
Charlie Fenton c3314c640b Fix typo
svn path=/trunk/boinc/; revision=21215
2010-04-19 23:51:08 +00:00
Charlie Fenton 080a068386 Mac Installer: PostInstall gets short / Posix user name from getpwnam(), writes additional diagnostic information to installer log
svn path=/trunk/boinc/; revision=21213
2010-04-19 23:49:29 +00:00
David Anderson 6893691ae2 - validator: message tweak
svn path=/trunk/boinc/; revision=21212
2010-04-19 22:57:49 +00:00
David Anderson 61195cb59d - validator: fix bug where host.total_credit not incremented
svn path=/trunk/boinc/; revision=21211
2010-04-19 21:46:45 +00:00
David Anderson 678d880c64 - client: clean up logic related to GPU available memory.
If a driver call to get available mem fail, mark the GPU as unusable.


svn path=/trunk/boinc/; revision=21210
2010-04-19 18:35:10 +00:00
BOINC Translator 89d7b89882 Update Translations
svn path=/trunk/boinc/; revision=21209
2010-04-19 16:00:05 +00:00
David Anderson 7fceabfad3 svn path=/trunk/boinc/; revision=21207 2010-04-18 05:30:04 +00:00
David Anderson d4bb95d5a6 - client: when a GPU job finishes, clear the "schedule backoff"
of other jobs of that type.
		They're waiting for GPU RAM, which may now be available.
	- client: bug fix in GPU RAM availability
	- client: fix testing setup for GPU RAM availability

svn path=/trunk/boinc/; revision=21206
2010-04-18 05:29:29 +00:00
David Anderson 01402bb45a - client: improve GPU scheduling
old: assign GPUs, then check available RAM
        Problem: may cause starvation on multi-GPU systems.
    new: use available RAM info in the assignment process.
        Prevents starvation, also reduces the number of driver calls.

svn path=/trunk/boinc/; revision=21205
2010-04-18 03:00:33 +00:00
Charlie Fenton 0b284c1235 Mac Installer: AddRemoveUser utility accepts both full / login user names and short / Posix user names
svn path=/trunk/boinc/; revision=21201
2010-04-17 23:55:00 +00:00
BOINC Translator 0f734eb9e9 Update Translations
svn path=/trunk/boinc/; revision=21200
2010-04-17 16:00:02 +00:00
Charlie Fenton c34c6df890 Mac Installer: Set uninstaller's writeable-by-user permission bit
svn path=/trunk/boinc/; revision=21199
2010-04-17 00:09:22 +00:00
David Anderson be0d0c7d71 - client: fix bug in mechanism that inhibits work fetch
for a GPU if it lacks available memory

svn path=/trunk/boinc/; revision=21197
2010-04-16 21:56:58 +00:00
David Anderson b71d3e6cf4 - back end: typo and tweaks
svn path=/trunk/boinc/; revision=21196
2010-04-16 21:16:18 +00:00
David Anderson e36d87dec9 - admin web: use only valid results in FLOPS count graph
svn path=/trunk/boinc/; revision=21195
2010-04-16 20:01:13 +00:00
Rom Walton e71170bd23 - MGR: Handle the Event Log's size better, pass in the correct dialog
size to the dialog creation routines instead of setting the size
        after dialog initialization.  Avoids artifacts and things having
        to be tweaked later.
        
    clientgui/
        DlgEventLog.cpp, .h

svn path=/trunk/boinc/; revision=21194
2010-04-16 19:07:02 +00:00
David Anderson 021edb02c2 - back end programs: improve log msgs
svn path=/trunk/boinc/; revision=21193
2010-04-16 18:07:08 +00:00
David Anderson d375eb5e18 svn path=/trunk/boinc/; revision=21192 2010-04-16 16:06:47 +00:00
BOINC Translator cc9ed42646 Update Translations
svn path=/trunk/boinc/; revision=21191
2010-04-16 14:00:03 +00:00
Charlie Fenton 6802a2fc0b client: fix build break
svn path=/trunk/boinc/; revision=21190
2010-04-15 23:07:29 +00:00
Charlie Fenton 07d2a34ba7 client: Improve code for determining non-BOINC CPU time for branded clients (Mac & Windows)
svn path=/trunk/boinc/; revision=21189
2010-04-15 23:03:22 +00:00
Charlie Fenton 7787d8ef66 client: Improve code for determining non-BOINC CPU time for branded clients (Mac & Windows)
svn path=/trunk/boinc/; revision=21188
2010-04-15 23:02:13 +00:00
David Anderson 02717af2f3 - bug fixes
svn path=/trunk/boinc/; revision=21187
2010-04-15 21:58:44 +00:00
David Anderson 252b24bf8b - client: get rid of spurious "Using proxy settings from GUI" message
svn path=/trunk/boinc/; revision=21186
2010-04-15 20:28:19 +00:00
Rom Walton 5a19d33c81 Add missing languages
svn path=/trunk/boinc/; revision=21185
2010-04-15 19:00:41 +00:00
David Anderson b2451544e1 - server: change the following from per-host to per-(host, app version):
- daily quota mechanism
    - reliable mechanism (accelerated retries)
    - "trusted" mechanism (adaptive replication)
- scheduler: enforce host scale probation only for apps with
    host_scale_check set.
- validator: do scale probation on invalid results
    (need this in addition to error and timeout cases)
- feeder: update app version scales every 10 min, not 10 sec
- back-end apps: support --foo as well as -foo for options

Notes:
- If you have, say, cuda, cuda23 and cuda_fermi plan classes,
    a host will have separate quotas for each one.
    That means it could error out on 100 jobs for cuda_fermi,
    and when its quota goes to zero,
    error out on 100 jobs for cuda23, etc.
    This is intentional; there may be cases where one version
    works but not the others.
- host.error_rate and host.max_results_day are deprecated

TODO:
    - the values in the app table for limits on jobs in progress etc.
        should override rather than config.xml.

Implementation notes:
scheduler:
    process_request():
        read all host_app_versions for host at start;
        Compute "reliable" and "trusted" for each one.
        write modified records at end
    get_app_version():
        add "reliable_only" arg; if set, use only reliable versions
        skip over-quota versions
    Multi-pass scheduling: if have at least one reliable version,
        do a pass for jobs that need reliable,
        and use only reliable versions.
        Then clear best_app_versions cache.
    Score-based scheduling: for need-reliable jobs,
        it will pick the fastest version,
        then give a score bonus if that version happens to be reliable.
    When get back a successful result from client:
        increase daily quota
    When get back an error result from client:
        impose scale probation
        decrease daily quota if not aborted
Validator:
    when handling a WU, create a vector of HOST_APP_VERSION
        parallel to vector of RESULT.
        Pass it to assign_credit_set().
        Make copies of originals so we can update only modified ones
    update HOST_APP_VERSION error rates
Transitioner:
    decrease quota on timeout


svn path=/trunk/boinc/; revision=21181
2010-04-15 03:13:56 +00:00
Rom Walton c4ac8a8eb5 Quick Updates
svn path=/trunk/boinc/; revision=21177
2010-04-14 21:02:46 +00:00
Rom Walton 99a58f221d Quick Updates
svn path=/trunk/boinc/; revision=21175
2010-04-14 20:54:46 +00:00
Bernd Machenschalk 061601fe28 scheduler: as db-driven client file management isn't ready yet,
adapt Einstein@home-specific file management hack to current run

svn path=/trunk/boinc/; revision=21172
2010-04-13 14:24:40 +00:00
Charlie Fenton db6f3b13bb client: Add code for determining non-BOINC CPU time for GR and PtP clients (Mac & Windows)
svn path=/trunk/boinc/; revision=21171
2010-04-13 09:42:19 +00:00
Charlie Fenton 97333885a0 client: Add code for determining non-BOINC CPU time for GR and PtP clients (Mac & Windows)
svn path=/trunk/boinc/; revision=21170
2010-04-13 09:40:22 +00:00
Charlie Fenton ab7df01162 client: Add code for determining non-BOINC CPU time for GR and PtP clients (Mac & Windows)
svn path=/trunk/boinc/; revision=21169
2010-04-13 08:52:50 +00:00
David Anderson 2e41153d8b - scheduler: fix egregious bug which limited sending to 1 job per RPC
- scheduler: fix bug that broke anon platform

Note: Bruce Allen once advised me to take a few days and just
observe BOINC in action.
I should really do this more often; it always turns up bugs
and/or design flaws.


svn path=/trunk/boinc/; revision=21165
2010-04-11 04:42:52 +00:00
David Anderson e05a479f42 - scheduler and validator: distinguish between
1) peak FLOPS (based on benchmarks or GPU attributes).
        This does not change over time.
        It's not adjusted on the basis of statistics.
        It's not affected by wu.rsc_fpops_est.
        It can be compared across projects.
    versus
    2) projected FLOPS: the scheduler's best guess as to what will satisfy
        X * elapsed_time = wu.rsc_fpops_est;
        this is used to make server-side runtime estimates,
        and it's sent to the client and used for its runtime estimates.
        It may be based on the (host, app version) elapsed time average.
    My checkin [21153] mistakently confounded these two.

    Notes:
    1) app_plan() now must return both peak and projected FLOPS.
    2) result.flops_estimate stores peak FLOPS
    3) the <flops> field in app_info.xml files should be
        projected FLOPS.  But its accuracy is not important;
        it's not used once the server has statistics
        for the (host, app version)

svn path=/trunk/boinc/; revision=21164
2010-04-10 05:49:51 +00:00
Charlie Fenton 4b91fb69cc client: Fix bug in determining non-BOINC CPU time (Mac).
svn path=/trunk/boinc/; revision=21162
2010-04-09 23:36:49 +00:00
Charlie Fenton bfcf634e27 Fix typo
svn path=/trunk/boinc/; revision=21160
2010-04-09 23:18:31 +00:00
Charlie Fenton 05fc0bd522 Ignore SUSPEND_REASON_CPU_USAGE in SS coordinator
svn path=/trunk/boinc/; revision=21159
2010-04-09 23:15:46 +00:00
David Anderson a92b7a5c32 - client: attempt to fix bug where a GPU would be assigned
to multiple jobs at the same time.
    I fixed one error (reference arg to assign_coprocs())
    but I can't see why this would explain the problem.
    I added a lot of extra <coproc_debug> log messages.
- user web: give scientists moderator privileges

svn path=/trunk/boinc/; revision=21158
2010-04-09 20:27:42 +00:00
BOINC Translator e5c83cd6a6 Update Translations
svn path=/trunk/boinc/; revision=21156
2010-04-09 20:00:04 +00:00
BOINC Translator 0944564a6d Update Translations
svn path=/trunk/boinc/; revision=21155
2010-04-09 18:00:06 +00:00
David Anderson 132a35c38a typo
svn path=/trunk/boinc/; revision=21154
2010-04-09 03:45:25 +00:00
David Anderson 1d765245ed - scheduler: sweeping changes to the way job runtimes are estimated:
see http://boinc.berkeley.edu/trac/wiki/RuntimeEstimation


svn path=/trunk/boinc/; revision=21153
2010-04-08 23:14:47 +00:00
Rom Walton 8d7081de05 Quick Updates
svn path=/trunk/boinc/; revision=21152
2010-04-08 19:16:48 +00:00
David Anderson 85e06afe4b - scheduler: app_plan() no longer has to guess how efficiently
an app version will run on a particular host.
- scheduler: fix memory leak: BEST_APP_VERSIONs weren't being freed


svn path=/trunk/boinc/; revision=21148
2010-04-08 18:27:27 +00:00
Rom Walton 1cfd7e85a8 - WINSETUP: Add support for the <team_name> tag in the Windows
installer for the auto created project_init.xml file.
        
    win_build/installerv2/redist/Windows/src/boinccas/
        boinccas.rc
        CACreateProjectInitFile.cpp
    win_build/installerv2/redist/Windows/Win32/
        boinccas.dll
        boinccas95.dll
    win_build/installerv2/redist/Windows/x64/
        boinccas.dll
        boinccas95.dll

svn path=/trunk/boinc/; revision=21147
2010-04-08 18:16:09 +00:00
BOINC Translator 58c197509a Update Translations
svn path=/trunk/boinc/; revision=21145
2010-04-08 13:00:04 +00:00