Commit Graph

3510 Commits

Author SHA1 Message Date
Rom Walton e3552a977b PTP: Introduce 'Progress Thru Processors' to the Windows build
environment. Use GridRepublic skin until the new one is available.
      
	client/win/
		boinc_cli.rc
		boinc_cmd.rc
	client/win/res/
		progress.ico (Added)
	clientctrl/
		boincsvcctrl.rc
	clientgui/
		BOINCGUIApp.rc
	clientgui/res/
		progress.ico (Added)
	clientgui/skins/Progress Thru Processors
		<Various Files>
	clientlib/win/
		boinc_dll.rc
	clientscr/
		boinc_ss.rc
	clientscr/res/
		boinc.jpg (Deleted)
	clientscr/res/
		progress.bmp (Added)
		progress.ico (Added)
		Scricon3.ico (Deleted)
	clienttray/
		boinc_tray.rc
	win_build/
		Progress.sln
		ptp_boinc_cli.vcproj
		ptp_boinc_dll.vcproj
		ptp_boinc_ss.vcproj
		ptp_boinccmd.vcproj
		ptp_boincmgr.vcproj
		ptp_boincsvcctrl.vcproj
		ptp_boinctray.vcproj

svn path=/trunk/boinc/; revision=18379
2009-06-11 17:11:47 +00:00
David Anderson cf327415d7 - client: read app_info.xml's AFTER scanning GPUs.
Otherwise we'll discard all GPU apps and results.


svn path=/trunk/boinc/; revision=18308
2009-06-04 21:28:25 +00:00
David Anderson 2d058c5cb4 - GUI RPC: add active_only option to get_results() RPC
svn path=/trunk/boinc/; revision=18304
2009-06-04 17:59:04 +00:00
David Anderson 8cd8f99bef - client: when parsing app_info.xml, make sure coprocessors are present.
fixes #911


svn path=/trunk/boinc/; revision=18284
2009-06-03 22:29:53 +00:00
David Anderson ab7cf41267 - client: tweak messages
svn path=/trunk/boinc/; revision=18280
2009-06-03 21:59:47 +00:00
David Anderson d39af2afd2 - client: add a 1e-6 slop factor in deciding if
a resource is fully utilized.


svn path=/trunk/boinc/; revision=18271
2009-06-02 23:26:12 +00:00
David Anderson c2097091fe - client: show "est. delay" correctly in work fetch debug msgs
- client: show times correctly in rr_sim debug msgs
	- client: in "requesting new tasks" msg,
		say what resources we're requesting (if there's more than CPU)
	- client: estimated delay was possibly being calculated incorrectly
		because of roundoff error

svn path=/trunk/boinc/; revision=18269
2009-06-02 22:53:57 +00:00
David Anderson cc62cce8f7 - client: if scheduler request didn't request work, don't report 0 tasks
- scheduler: fix crash if anonymous platform

svn path=/trunk/boinc/; revision=18259
2009-06-02 05:12:06 +00:00
David Anderson 8333c35c81 - feeder: process array slots even if enum has ended;
this is needed to handle stale entries and slots
    reserved by now-dead PIDs
- client: unify code for writing soft link files

svn path=/trunk/boinc/; revision=18256
2009-06-02 00:22:45 +00:00
David Anderson 44c02144e9 - lib: return proper error codes from boinc_rename() and boinc_mkdir()
- client: Haiku support (from Urias McCullough)
- client: include plan class in other_result list in sched request
    (for resource-specific jobs-in-progress limit)

svn path=/trunk/boinc/; revision=18250
2009-05-31 16:38:37 +00:00
David Anderson 575565dc22 - client: fixed nasty bug that caused GPU jobs to crash on startup
when they're preempting another GPU job.
        The problem was as follows:
        - job A is chosen to preempt job B
        - we tell job B to quit, and initialize job A but don't start it;
            however, we set if scheduler state to SCHEDULED
            (rather than UNINITIALIZED)
        - job B exits, and we start job A.
            Since its state is not UNITIALIZED, we don't set up its slot dir.
        - job A runs in an empty slot dir, doesn't find its files, and bombs out.
    - client: add <slot_debug> option (prints messages about
        allocation of slots, creating/removing files in slot dirs).

svn path=/trunk/boinc/; revision=18217
2009-05-28 19:26:27 +00:00
Rom Walton 7749529f4d - MGR/client: Enable cookie support for Account Managers
client/
        gui_rpc_server_ops.cpp
    clientgui/
        AccountManagerProcessingPage.cpp
        AccountManagerPropertiesPage.cpp
        browser.cpp
        MainDocument.cpp
        WizardAttachProject.cpp

svn path=/trunk/boinc/; revision=18185
2009-05-22 13:36:22 +00:00
David Anderson 4a5b1fe673 - client: tweak to avoid -0
svn path=/trunk/boinc/; revision=18072
2009-05-11 19:07:12 +00:00
David Anderson b0638a923b build fix
svn path=/trunk/boinc/; revision=18064
2009-05-10 04:42:47 +00:00
Charlie Fenton d823142bf5 Mac client: fix parent died test in benchmark_time_to_stop()
svn path=/trunk/boinc/; revision=18054
2009-05-08 02:01:25 +00:00
David Anderson 12eb6057e5 - client, Mac: don't do res_init(). It causes a crash.
- client (Unix): if client crashes while benchmark processes are going,
    make sure they detect this and exit.
- back-end programs: remove hardwired assumptions about
    what directory they run in, and hence where config.xml is.
    E.g., daemons look for it in "..", others expect it in current dir.
    New approach: all the programs look for the project dir as follows:
    1) the environment var BOINC_PROJECT_DIR, if defined
    2) the current dir, if config.xml is there.
    3) else ".."
    This means you can run programs in either proj/bin/ or proj/,
    or (using BOINC_PROJECT_DIR) you can keep executables
    outside of the project dir.


svn path=/trunk/boinc/; revision=18042
2009-05-07 13:54:51 +00:00
David Anderson 5198ad31d9 - client: write message (and show new config info) when config file reread
- client: improve cpu_sched_debug messages
- web translation: code wasn't handling multi-line tokens

svn path=/trunk/boinc/; revision=18028
2009-05-06 09:49:46 +00:00
David Anderson e8a0cb3742 - client: enforce_schedule() wasn't starting GPU jobs
svn path=/trunk/boinc/; revision=18002
2009-05-05 08:56:56 +00:00
David Anderson 1c1f7f08f1 compile fix
svn path=/trunk/boinc/; revision=17998
2009-05-04 20:25:59 +00:00
David Anderson f9222339e9 - client: simplify enforce_schedule(), and maybe fix bugs.
New approach: take the "ordered_schedule_results" list,
    add running jobs that haven't finished their time slice,
    and order the result appropriately.
    Then run jobs in order until CPUs are filled.
    Simpler and clearer than the old way.


svn path=/trunk/boinc/; revision=17992
2009-05-04 19:55:59 +00:00
David Anderson fba2e5ee3d - Changes to get the client to build on IRIX:
don't use the variable name "sgi";
    include <xxx.h> instead of <cxxx>; the latter just adds
    overloaded functions that we avoid.

svn path=/trunk/boinc/; revision=17954
2009-04-30 21:48:20 +00:00
David Anderson e3a730c334 - client: add <use_all_gpus> config option. If set, use GPUs
even if they're not equivalent to the most capable one.
- Validator: fix one_pass_N_WU option.

svn path=/trunk/boinc/; revision=17896
2009-04-27 23:51:46 +00:00
David Anderson 07dcdb6d4d - client: show message when user does a project or task op
(suspend, resume, update, etc.)

svn path=/trunk/boinc/; revision=17885
2009-04-27 16:56:19 +00:00
David Anderson 08aeba56ac - client: message tweak
- ops: don't import teams if using invitation codes

svn path=/trunk/boinc/; revision=17874
2009-04-24 10:49:54 +00:00
David Anderson 74e8911f44 - client: When a preemptable task wasn't preempted
(e.g. because it hadn't finished its time slice)
		we were failing to mark it as scheduled.

svn path=/trunk/boinc/; revision=17860
2009-04-23 06:44:46 +00:00
David Anderson 5adb25381d - client: new approach to handling multiple GPUs.
old: find fastest GPU, and pretend that others are the same.
            Problem: other GPUs might be less capable,
            and not able to handle jobs sent by server.
        new: find the most "capable" GPU, use others that are equivalent,
            don't use those that are not.
            "Capable" is defined by
            - compute capability (i.e., hardware version)
            - driver version
            - memory size
            - FLOPs
            in that priority order.
        See comments in lib/coproc.h

svn path=/trunk/boinc/; revision=17855
2009-04-22 02:09:53 +00:00
Rom Walton a0de192e63 - WINBUILD: Update Project files for new layout.
win_build/
        boinc_cli_curl.vcproj
        boinc_dll.vcproj
        boinc_setup.vdproj (Deleted)
        boinc_setup_auto.vdproj (Deleted)
        boinc_ss.vcproj
        boinccmd.vcproj
        boincmgr_curl.vcproj
        boincsvcctrl.vcproj
        boinctray.vcproj
        gr_boinc_cli_curl.vcproj (Deleted)
        gr_boinc_dll.vcproj (Deleted)
        gr_boinc_ss.vcproj (Deleted)
        gr_boinccmd.vcproj (Deleted)
        gr_boincmgr_curl.vcproj (Deleted)
        GridRepublic.sln (Deleted)
        libboinc.vcproj
        libboinc_staticcrt.vcproj
        sim.vcproj
        ss_app.vcproj
        updater.vcproj

svn path=/trunk/boinc/; revision=17853
2009-04-21 21:08:30 +00:00
David Anderson c58136e5bf - client: improve CPU sched debug messages
(say what kind of job and why we're scheduling it)
- client: log messages describing GPUs: one line per GPU; fixes #879

svn path=/trunk/boinc/; revision=17847
2009-04-20 00:00:11 +00:00
David Anderson e46d8c6e63 - client: if detach a project, adjust debts and trigger
CPU sched and work fetch

svn path=/trunk/boinc/; revision=17843
2009-04-17 06:12:41 +00:00
David Anderson 217b1a6086 - client: another try at fixing the above crash
- web: don't show plan class in separate column in apps list; fixes #874

svn path=/trunk/boinc/; revision=17838
2009-04-17 01:22:38 +00:00
David Anderson 20adddc862 - client: fixed a crash caused by using %f to write
working-set size into a fixed-size buffer.
    Use %e instead.
    TODO: figure out why WSS was huge.
- web: if "en" is primary language, don't read translation files

svn path=/trunk/boinc/; revision=17831
2009-04-16 09:01:41 +00:00
Rom Walton 7b71257eb0 - Fix compiler errors
( From: Sascha Manns )
      
    client/
        hostinfo_unix.cpp
    clientgui/
        DlgAdvPreferences.cpp

svn path=/trunk/boinc/; revision=17817
2009-04-15 16:28:24 +00:00
David Anderson af93af28f7 - client: eliminate the need to write the state file on each checkpoint.
Instead, write the info into a file in the slot directory,
		and check for these files on startup.
		This should reduce the overhead of state-file writing
		on machines with lots of cores.
		There will still be a flurry of writes each time a job finishes,
		but reducing that overhead would be a larger job.
	- client: make sure we write the state file after a failed RPC

svn path=/trunk/boinc/; revision=17814
2009-04-15 06:22:53 +00:00
Rom Walton 558b81d4b6 Fix spelling mistake
svn path=/trunk/boinc/; revision=17794
2009-04-13 14:55:32 +00:00
David Anderson 72a59f0527 - client: put back the call to res_init() on lookup failure.
Apparently it worked after all.

svn path=/trunk/boinc/; revision=17793
2009-04-12 15:30:45 +00:00
David Anderson cf638ae3a6 - client: instead of scheduling coproc jobs EDF:
- first schedule jobs projected to miss deadline in EDF order
    - then schedule remaining jobs in FIFO order
    This is intended to reduce the number of preemptions of coproc jobs,
    and hence (since they are always preempted by quit)
    to reduce the wasted time due to checkpoint gaps.
- client: the CPU scheduling policy made use of the number
    of deadline misses in various places.
    This should include only the deadline misses of CPU jobs.
    So move "deadlines_missed" from RR_SIM_STATUS and PROJECT
    to RSC_PROJECT_WORK_FETCH so that we have separate counts
    for CPU and coproc jobs, and use the count for CPU jobs.
- GUI RPC: removed the rr_sim_deadlines_missed field
    from project descriptor.
    This is no longer meaningful, and it didn't seem to be used anywhere.

svn path=/trunk/boinc/; revision=17785
2009-04-10 19:01:38 +00:00
David Anderson e656e2ae13 svn path=/trunk/boinc/; revision=17784 2009-04-10 18:05:07 +00:00
David Anderson 5b6636306f - client: for coproc jobs, don't start a job while a quit is pending.
Otherwise the new job may fail on memory allocation.

svn path=/trunk/boinc/; revision=17783
2009-04-10 17:48:46 +00:00
David Anderson 8e9ef18c8a svn path=/trunk/boinc/; revision=17766 2009-04-09 17:26:41 +00:00
David Anderson c6d7076464 - client: for each app version,
keep track of the largest WSS of tasks using it.
    In checking whether tasks fit in RAM,
    use this as an estimate for tasks that haven't started yet.
    This avoids a situation where the client starts a lot of
    tasks in sequence, only to find that each one doesn't fit in RAM.

svn path=/trunk/boinc/; revision=17765
2009-04-09 16:46:03 +00:00
David Anderson f3e362097e - client: back out res_init() change; it didn't work
svn path=/trunk/boinc/; revision=17758
2009-04-09 04:41:41 +00:00
David Anderson 5834cb098e - client: we were setting config defaults after parsing cmdline.
This meant that the cmdline args that set config params weren't working:
        --allow_multiple_clients
        --report_results_immediately
        --no_priority_change
        --start_delay

svn path=/trunk/boinc/; revision=17741
2009-04-07 20:02:49 +00:00
David Anderson 837d3fc0a1 - get_project_config.php: include plan classes in platform list;
i.e., list both win/x86 and win/x86 + NVIDIA.
    This will allow the manager to show which projects can
    use the hosts's coprocessors,
    and also graying out projects that require an absent coproc.
- fix compile warnings

svn path=/trunk/boinc/; revision=17735
2009-04-03 21:55:26 +00:00
Charlie Fenton e1a9129b48 SS: Under Mac Sandbox security, gfx_switcher launches default ss app as user and group boinc_master; don't setgid boincscr
svn path=/trunk/boinc/; revision=17720
2009-04-02 01:48:44 +00:00
David Anderson b3f07e1a0c - client: show project name in "backoff ended" msg
svn path=/trunk/boinc/; revision=17719
2009-04-01 23:22:17 +00:00
David Anderson bc889ca27a - client: (unix): if host name lookup fails, call res_init().
This is an attempt to fix a problem on Linux where,
    if the client starts before a VPN is set up, it can never communicate

svn path=/trunk/boinc/; revision=17711
2009-03-31 16:45:17 +00:00
David Anderson f90871a141 - boinc_submit (single-job submission):
set the job params to reasonable values (see below),
    and make it easy to change these values in the script
- create_work (function and script): change default job params:
    FLOPs est: 1e9 => 3600e9
    FLOPs bound: 1e10 => 86400e9
    mem bound 100MB => 500MB,
    disk bound 100MB => 1GB
    delay bound: 100000s => 1 week

svn path=/trunk/boinc/; revision=17703
2009-03-30 18:38:11 +00:00
David Anderson 62ac6358e6 - client: typo in work fetch code; may cause minor errors
svn path=/trunk/boinc/; revision=17691
2009-03-28 04:20:44 +00:00
David Anderson 2df9cd38d3 - client: when a job finishes,
clear the project's backoff for its resource type.
    This fixes a problem where a project has a "max jobs in progress"
    limit, and we're backed off because of that.
    We'll now fetch work immediately instead of waiting 24 hrs.

svn path=/trunk/boinc/; revision=17665
2009-03-26 17:39:25 +00:00
David Anderson 3e04801942 - client: clear resource backoffs on user-requested RPC
- client: randomize resource backoffs to avoid lockstep

svn path=/trunk/boinc/; revision=17664
2009-03-26 16:56:20 +00:00