Commit Graph

16728 Commits

Author SHA1 Message Date
David Anderson 79de7a11be svn path=/trunk/boinc/; revision=22668 2010-11-10 01:09:15 +00:00
David Anderson c0612ab77f - make_project: with --test_app, copy all the executables
(for many platforms) from samples/example_app/bin
- make_project: change name of example app from uppercase to example_app.
- update_versions: allow version numbers to not have decimal points
- sample work generator: make app name and template files
    command-line options;
    default to "example_app", "example_app_in.xml", "example_app_out.xml"

svn path=/trunk/boinc/; revision=22667
2010-11-10 00:10:32 +00:00
David Anderson 2a9c52793c svn path=/trunk/boinc/; revision=22666 2010-11-09 22:35:59 +00:00
David Anderson 0ebff0646b - client: fix "Snooze GPU"
svn path=/trunk/boinc/; revision=22665
2010-11-09 21:58:06 +00:00
David Anderson 8905cb6545 - scheduler: bug fix to the above
svn path=/trunk/boinc/; revision=22662
2010-11-09 19:41:53 +00:00
David Anderson 3648818499 - client, scheduler, RPC protocol:
- If the scheduler doesn't have any app versions for resource type X,
        it includes an element <no_X_apps>1</no_X_apps> in the reply msg
        (e.g., <no_cpu_apps>1</no_cpu_apps>)
    - The client parses and stores these flags,
        and doesn't ask a project for work for a resource
        if the project doesn't have app versions for it.
    Apparently I started this change in [19375] (October 2009)
    and forgot to finish it.


svn path=/trunk/boinc/; revision=22661
2010-11-09 19:04:24 +00:00
David Anderson 1f6f770947 - unix build system: fix for non-english locale, from Nicolas. fixes #975
svn path=/trunk/boinc/; revision=22660
2010-11-09 18:14:15 +00:00
Rom Walton 742b032884 Quick Updates
svn path=/trunk/boinc/; revision=22658
2010-11-09 17:31:11 +00:00
David Anderson e1e55f5db6 - web: add an option project-specific pref for
"accelerate GPU tasks by dedicating a CPU to each one".
    Enable this by putting
        $accelerate_gpu_apps_pref = true;
    in html/project/project.inc

svn path=/trunk/boinc/; revision=22657
2010-11-09 05:10:56 +00:00
David Anderson d384377743 - client: fix harmless compile warning
- make_project: don't try to install non-existent file

svn path=/trunk/boinc/; revision=22656
2010-11-09 05:00:49 +00:00
David Anderson 0630ffa054 - web: fix "seperator" spelling
svn path=/trunk/boinc/; revision=22650
2010-11-08 17:56:39 +00:00
David Anderson b169e5ab0f - server programs: print error message instead of numeric retval
in log messages

svn path=/trunk/boinc/; revision=22647
2010-11-08 17:51:57 +00:00
Rom Walton 78cd46db66 - MGR: Fix the event log so that it doesn't store the event log's
size information when it is in a minimized state.
    - MGR: Fix the close dialog issue on wxGTK, apparently there is a
        hidden flag that governs the handling of the GTK callback
        function.  Fixes #962 (Thanks for the patch cli)

    clientgui/
        DlgAdvPreferencesBase.cpp
        DlgEventLog.cpp
        DlgItemProperties.cpp

svn path=/trunk/boinc/; revision=22635
2010-11-08 17:01:02 +00:00
David Anderson 4d79a87eb6 - web: show prefs bools as checkboxes rather than radio yes/no
svn path=/trunk/boinc/; revision=22634
2010-11-08 16:44:57 +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 805a763e93 - client: comment out a debug msg
svn path=/trunk/boinc/; revision=22632
2010-11-05 19:17:07 +00:00
David Anderson 7d3d8adc73 - client: comment out update_rec() call
svn path=/trunk/boinc/; revision=22631
2010-11-05 18:02:34 +00:00
David Anderson 8aa29bec33 - validator: fix another bug with --credit_from_wu
- make_project, update scripts: don't quit it user_profiles
    already exists


svn path=/trunk/boinc/; revision=22630
2010-11-05 17:15:27 +00:00
Rom Walton 561c5bdd75 Update Translations
svn path=/trunk/boinc/; revision=22628
2010-11-05 16:40:37 +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
David Anderson 57c0ed8d03 - client: gpu_active_frac was being computed incorrectly,
resulting in various scheduling problems

svn path=/trunk/boinc/; revision=22626
2010-11-05 02:08:51 +00:00
David Anderson 96d3523155 - manager: show app speed and task FLOPs estimate in task Properties
svn path=/trunk/boinc/; revision=22625
2010-11-04 22:15:04 +00:00
David Anderson 789f0b67fc - GUI RPC: parse GPU info, FLOPS from APP_VERSION records
(client already sends this info)

svn path=/trunk/boinc/; revision=22624
2010-11-04 21:32:05 +00:00
David Anderson e87f289544 - fix formatting in PHP code
svn path=/trunk/boinc/; revision=22623
2010-11-04 18:20:57 +00:00
David Anderson 7fcd20e020 - make_project, upgrade scripts:
create a symbolic link from html/user/user_profile to html/user_profile
    (needed to make profiles work)

svn path=/trunk/boinc/; revision=22622
2010-11-03 22:42:01 +00:00
David Anderson 805f73b66c - validator: fix bug with --credit_from_wu
HOWEVER: use of this option is discouraged.
    Use the default credit system.

svn path=/trunk/boinc/; revision=22621
2010-11-03 22:06:56 +00:00
David Anderson f4345f9dc4 - user web: various enhancements and fixes from Simek.
Fixes #1020

svn path=/trunk/boinc/; revision=22620
2010-11-03 21:48:39 +00:00
David Anderson 5d65be3216 svn path=/trunk/boinc/; revision=22619 2010-11-03 18:48:32 +00:00
David Anderson f5c3e9d802 svn path=/trunk/boinc/; revision=22618 2010-11-03 18:45:23 +00:00
David Anderson e8d931a729 - translation update
svn path=/trunk/boinc/; revision=22617
2010-11-03 18:40:15 +00:00
David Anderson e97a9177d3 - python DB layer: fields with values None or ''
where being omitted from query strings.
    This is incorrect.
    For example, suppose you have an app version with nonempty plan_class,
    then you try to add a version with no plan class.
    The query would omit the "and plan_class = ''"
    so it would match the existing app version and not add a new version.
    Reported by Rytis.
    Hopefully this won't break anything.


svn path=/trunk/boinc/; revision=22616
2010-11-03 18:25:24 +00:00
David Anderson 2d6d69ac86 - client: fix problems with job scheduling policy.
Old: job scheduling has 2 phases.
        In the first phase (schedule_cpus()) we make a list of jobs,
        with deadline-miss and high-STD jobs first.
        Keep track of the RAM used,
        and skip jobs that would exceed available RAM.
        Stop scanning when the # of CPUs used by jobs in the list
        exceeds the # of actual CPUs.

        In the 2nd phase (enforce_schedule()), we add currently running jobs
        (which may be in the middle of a time slice) to the list,
        and reorder to give priority to such jobs,
        and possibly also to multi-thread jobs.
        We then run and/or preempt jobs, keeping track of RAM used.

    Problems:
        - suppose we add an EDF 1-CPU job to the list, then a MT job.
            We'll stop at that point because #CPUs is exceeded.
            But enforce_schedule() won't run the MT job,
            and CPUs will be idle.
        - Because the list may be reordered, skipping jobs based
            on RAM is not correct, and may cause deadlines to be missed.

    New:
        - when making the job list, keep track of #CPUs used
            by MT jobs and non-MT jobs separately.
            Stop the scan only if the non-MT count exceeds #CPUs.
            This ensures that we have enough jobs to use all the CPUs,
            even if the MT jobs can't be run for whatever reason.
        - don't skip jobs because of RAM usage
        - skip MT jobs if the MT CPU count is at least #CPUs

    Notes:
        - ignoring RAM usage in phase 1 can cause idleness in some cases,
            e.g. suppose there are 4 GB of RAM and the list has
            jobs that use 3 GB, but there are also some jobs that use 1 GB.
            I'm not sure how to fix this.
        - Maybe the 2-phase approach is not a good idea.
            We did it this way for efficiency,
            so that we don't have to recompute the job list
            each time a job checkpoints.
            But this is probably not a concern,
            and I like the idea of a simpler approach,
            e.g. reducing the policy to a single comparison function.


svn path=/trunk/boinc/; revision=22615
2010-11-03 17:13:51 +00:00
David Anderson 4e10f8bb88 - client: don't preempt GPU jobs in middle of time slice
svn path=/trunk/boinc/; revision=22613
2010-11-01 21:06:30 +00:00
David Anderson ef472e3df7 - client simulator: model the scheduler's deadline check mechanism
- scheduler: improve the deadline check mechanism slightly.
    When updating "estimated delay" (a rough measure of how long
    a resource is saturated with high-priority work)
    take into account the # of instances used by the job,
    and the # of total instances


svn path=/trunk/boinc/; revision=22612
2010-11-01 16:53:41 +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 617d56b856 svn path=/trunk/boinc/; revision=22610 2010-10-30 23:25:35 +00:00
David Anderson 32f1b462b9 - client: add --no_gpus cmdline option
svn path=/trunk/boinc/; revision=22609
2010-10-30 23:22:22 +00:00
David Anderson 4edfe2ec28 - client: small initial checkin for new scheduling system.
Keep track of per-project recent estimated credit

svn path=/trunk/boinc/; revision=22608
2010-10-29 23:41:34 +00:00
David Anderson a7c51c6340 - client and manager: fix notice titles
- code cleanup: please use standard coding conventions

svn path=/trunk/boinc/; revision=22607
2010-10-29 18:58:26 +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 ac435d0857 - scheduler: don't send translatable strings to pre-6.12 clients
svn path=/trunk/boinc/; revision=22603
2010-10-28 21:46:18 +00:00
David Anderson ff7c0b058a - manager: fix non-translatable "0 bytes"
svn path=/trunk/boinc/; revision=22602
2010-10-28 20:37:50 +00:00
David Anderson b356552c9c - scheduler/feeder: add a project config option <dont_send_jobs>.
If set, the feeder doesn't read jobs into shmem,
    and the scheduler doesn't send jobs.
    Intended for use when a project wants to process
    a backlog of completed jobs and not issue more.

svn path=/trunk/boinc/; revision=22601
2010-10-28 19:02:19 +00:00
David Anderson cbdb2a536b - manager: if attaching to existing account,
don't check min passwd length

svn path=/trunk/boinc/; revision=22600
2010-10-28 04:55:04 +00:00
David Anderson 40c50852f5 - scheduler: fix logic that deals with jobs that need > 2GB RAM.
My change of 1 Oct ([22440]) required that such jobs
    be processed with 64-bit apps,
    on the assumption that 32-bit apps have a 2 GB user address space limit.
    However, it turns out this limit applies only to Windows
    (kernel and user mode share the 4GB address space; each gets half).
    On Linux, the split is 3GB user / 1 GB kernel.
    On Mac OS X, user mode and kernel mode have separate address spaces,
    each of them 4 GB.


svn path=/trunk/boinc/; revision=22599
2010-10-27 22:58:16 +00:00
Rom Walton 884549c695 Quick Updates
svn path=/trunk/boinc/; revision=22598
2010-10-27 17:46:53 +00:00
David Anderson 785279a327 - client: linux compile fix
- client: small fix for GPU scheduling
    (use anticipated debt instead of STD)

svn path=/trunk/boinc/; revision=22596
2010-10-26 19:47:12 +00:00
David Anderson 8a23379003 - client: update STD of ineligible projects by decay only.
Not sure why, but this eliminates gradual negative drift.

svn path=/trunk/boinc/; revision=22594
2010-10-23 22:19:48 +00:00
Rom Walton 3f88198aef Quick Updates
svn path=/trunk/boinc/; revision=22592
2010-10-22 21:30:12 +00:00
David Anderson a133a42dd7 - client simulator: no defaults for app params (fpops_est, latency_bound).
They can be determined implicitly by WUs/results,
    or explicitly in the <app> record.
    If you do neither, the app is ignored.

svn path=/trunk/boinc/; revision=22591
2010-10-22 18:35:06 +00:00