Commit Graph

4284 Commits

Author SHA1 Message Date
Charlie Fenton 98a2be83c2 Mac: Begin changes for XCode 4.1 and GCC 4.2
svn path=/trunk/boinc/; revision=23869
2011-07-25 11:37:06 +00:00
David Anderson 880d01af58 - client: debug distributed storage functions
svn path=/trunk/boinc/; revision=23867
2011-07-20 22:29:17 +00:00
David Anderson a388468fa2 - client: debug the above
svn path=/trunk/boinc/; revision=23865
2011-07-20 20:49:32 +00:00
David Anderson 9a4140ae30 - client/server: change the implementation of upload signatures
as described here: http://boinc.berkeley.edu/trac/wiki/ClientDataModel
    Compatibility: if your project is using upload signatures:
        - set ignore_upload_certificates
        - disable job creation
        - let your job queue drain
        - upgrade to new server software
        - clear ignore_upload_certificates
        - enable job creation


svn path=/trunk/boinc/; revision=23863
2011-07-20 20:08:05 +00:00
David Anderson 8296968cbb - client: changes to the client file model to support distributed storage,
as described here: http://boinc.berkeley.edu/trac/wiki/ClientDataModel
        Compatibility:
            clients that upgrade to this version should see nothing unusual.
            Clients that downgrade from this version to a previous version
            should see all projects reset
            (i.e. tasks disappear and then get re-downloaded).
    - manager: always show whether a file transfer is upload or download
    - client: don't scale work requests by resource share

svn path=/trunk/boinc/; revision=23862
2011-07-20 19:12:10 +00:00
David Anderson 27e05a3da9 - server: some stuff to prepare for distributed storage
- don't create result records for uploads and downloads.
        Just create a msg_to_client record.
    - the scheduler handles file-transfer results specially;
        it makes a vector of them, then calls a project-supplied function
        handle_file_xfer_results()
    - change the interface and implementation of put_file and get_file
- client write project sched priority in GUI RPC replies,
    but not to the state file


svn path=/trunk/boinc/; revision=23857
2011-07-19 20:52:41 +00:00
David Anderson bb63eba187 - client: show the right prefix for <cpu_sched_debug> messages
svn path=/trunk/boinc/; revision=23845
2011-07-14 16:40:06 +00:00
David Anderson eb9d387825 - client: if a project has zero resource share,
don't piggyback a work request onto a non-work-request RPC


svn path=/trunk/boinc/; revision=23844
2011-07-14 16:30:53 +00:00
David Anderson 979e57767e - client: add <rec_half_life_days> config option
svn path=/trunk/boinc/; revision=23843
2011-07-14 16:15:45 +00:00
David Anderson bed5091a39 - client: precede OpenCL messages with [coprog_debug], not [coproc-test].
The convention is to use the name of the enabling log flag.


svn path=/trunk/boinc/; revision=23841
2011-07-14 04:28:59 +00:00
David Anderson 8ca24cbbab - client, work fetch policy:
adjust project REC by the amount of work queued, to increase variety
    NOTE: at some point I think I had a reason to not do this,
    but I can't remember what it is.
- client, job scheduling policy: fix how project REC is adjusted


svn path=/trunk/boinc/; revision=23838
2011-07-13 19:46:03 +00:00
David Anderson c0417a8aaa - client: fix scheduler bug that treated all CPU jobs
as non-high-priority
	- client: don't print spurious "domino prevention"
		and "thrashing prevention" msgs
	- manager: show project descriptions in same size font
		as the rest of the dialog

svn path=/trunk/boinc/; revision=23831
2011-07-11 05:34:09 +00:00
David Anderson b8ba609604 - Manager and GUI RPC:
Remove debt fields from PROJECT: not used anymore
    Add sched_priority field


svn path=/trunk/boinc/; revision=23830
2011-07-11 04:57:56 +00:00
David Anderson 62074bd4fa - client emulator web interface: make cc_config.xml an attribute
of the simulation, not the scenario.
    If you want to run a simulation w/ different log flags,
    you shouldn't have to create a new scenario.
- client emulator: add --config_prefix cmdline arg
- validator: prevent infinite loop when app_version.pfc_avg
    is wonky (like 1e-300).
    Next step: figure out how it got that way.


svn path=/trunk/boinc/; revision=23828
2011-07-10 07:05:07 +00:00
David Anderson 13cfc73b3c - client: fix bug related to deselecting resource types in project prefs.
Some logic was missing.

svn path=/trunk/boinc/; revision=23825
2011-07-08 19:22:22 +00:00
David Anderson f60700cff4 - client: possibly fix bug that caused no-GPU prefs to be ignored
svn path=/trunk/boinc/; revision=23817
2011-07-08 07:17:25 +00:00
David Anderson a21abed078 - client: fix typo that caused a lot of spurious
"project has XXXXXX deadline misses" messages
- fix compile warnings


svn path=/trunk/boinc/; revision=23816
2011-07-07 23:58:23 +00:00
David Anderson f526fb0980 - client: write log msgs saying whether GPUs are OpenCL-capable
svn path=/trunk/boinc/; revision=23814
2011-07-07 22:01:39 +00:00
Charlie Fenton 7522d192b8 Mac: Update to libcurl 7.21.7 and c-ares 1.7.4
svn path=/trunk/boinc/; revision=23798
2011-07-06 11:02:50 +00:00
David Anderson a221c99c9d svn path=/trunk/boinc/; revision=23787 2011-07-01 01:30:28 +00:00
David Anderson ce215299e6 - client (Win) add some bulletproofing in case Windows sends us a
"suspending" event but not a resume event.


svn path=/trunk/boinc/; revision=23786
2011-07-01 00:25:11 +00:00
David Anderson 2177a6bd95 - server: restore fpops/intops_cumulative to RESULT
(structure, not table) for AQUA
- client, Windows: when wake up from hibernation,
    get the time before printing log msg


svn path=/trunk/boinc/; revision=23784
2011-06-29 23:00:39 +00:00
David Anderson 69cbabe798 - fix compile warnings
svn path=/trunk/boinc/; revision=23780
2011-06-26 00:10:19 +00:00
David Anderson c230bff830 - client simulator: compile fix
svn path=/trunk/boinc/; revision=23779
2011-06-25 17:58:37 +00:00
David Anderson 047fba0e7c - client: add optional <app> elements to <exclude_gpu> config option,
to allow app-level exclusions


svn path=/trunk/boinc/; revision=23778
2011-06-25 17:32:26 +00:00
David Anderson 4403df42d8 - client: add <type> element to <exclude_gpu> config option,
in case of multiple GPU types


svn path=/trunk/boinc/; revision=23777
2011-06-25 05:13:56 +00:00
David Anderson 02f03f0790 - client: replace <ignore_cuda_dev> with <ignore_nvidia_dev>
in cc_config.xml (but keep old one for compat)


svn path=/trunk/boinc/; revision=23775
2011-06-24 03:58:52 +00:00
David Anderson c177d990ea - client: add per-project GPU exclusion.
If you put an element of the form
        <exclude_gpu>
            <url>http://project_url.com/</url>
            <device_num>1</device_num>
        </exclude_gpu>
    in your cc_config.xml, that GPU won't be used for that project


svn path=/trunk/boinc/; revision=23774
2011-06-24 03:33:22 +00:00
Charlie Fenton 05973012c2 client: logic fix: test coprocs.none() after coprocs.add() calls, not before
svn path=/trunk/boinc/; revision=23758
2011-06-21 00:38:42 +00:00
David Anderson 6c59ef3bff - GUI RPC: restore <have_cuda>, <have_ati> elements in CC_STATE for compatibility
- client: copy coprocs to host_info._coprocs at startup
		(else GUI RPCs don't have right info)

svn path=/trunk/boinc/; revision=23757
2011-06-20 23:18:37 +00:00
David Anderson 16fd2b2070 - client: add a <dont_throttle/> flag to APP_VERSION.
If set, the app does its own CPU throttling
    so the client doesn't have to.


svn path=/trunk/boinc/; revision=23748
2011-06-17 19:16:07 +00:00
David Anderson c1bf16f7f3 - client: we were assuming that if we ask a task to exit
and its main process exits, everything is OK.
    That's not necessarily the case - buggy apps may have
    subprocesses that the main process fails to kill.

    Solution: when we request a task to exit or abort,
    make a list of the descendants.
    When the main process exits, kill any remaining descendants.
    
    Also: we weren't checking for the ABORT_PENDING case
    in the process exit logic.
    This may explain the 5/15 second delay in detaching or
    resetting a project with running tasks


svn path=/trunk/boinc/; revision=23738
2011-06-17 04:18:28 +00:00
David Anderson 05ba632e2d - client:restore --detach_phase_two as synonym for --detach_console
svn path=/trunk/boinc/; revision=23711
2011-06-12 21:30:53 +00:00
David Anderson 94e8c48220 - client: change --detach_phase_two (??) to --detach_console
- eliminate compiler warnings (e.g. shadowed vars)
    in various places, mostly in client


svn path=/trunk/boinc/; revision=23710
2011-06-12 20:58:43 +00:00
David Anderson bdb01035d6 - client: initialize some PROJECT fields (from Ian Hay).
May fix bug in defer work fetch while uploading logic

svn path=/trunk/boinc/; revision=23709
2011-06-11 20:34:16 +00:00
David Anderson d9574bacf7 - client: fix bug in logic that defers work fetch if upload active
svn path=/trunk/boinc/; revision=23707
2011-06-10 22:21:53 +00:00
David Anderson 8920342a09 - client: fix bug in app termination logic
svn path=/trunk/boinc/; revision=23673
2011-06-07 20:55:31 +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 e8c5e5bf5f - client: my checkin of 8 Apr 2011 didn't work in some cases, e.g.:
- client finishes a job
    - before upload starts, work fetch runs and decides to fetch work
        from that project.
    Solution:
    - set PROJECT::last_upload_start when job finishes,
        and clear it when a job is uploaded.
    - defer scheduler RPC for a limited time if last_upload_start
        is set, even if a transfer is not active


svn path=/trunk/boinc/; revision=23633
2011-06-03 18:45:21 +00:00
David Anderson 7a5c6f47b3 - client: Rom pointed out that on Win in secure mode,
the client won't be able to convert descendant PIDs to handles,
    and therefore won't be able to terminate them.  Sigh.
    So terminate the main process using its handle
    (we'll still kill descendants in the non-secure case)


svn path=/trunk/boinc/; revision=23623
2011-06-01 00:00:30 +00:00
David Anderson 8c8684d147 svn path=/trunk/boinc/; revision=23620 2011-05-31 23:44:39 +00:00
David Anderson d6ba9fc954 - client: when killing a nonresponsive task,
kill its descendant processes too
- manager: tweak strings related to task FLOP size


svn path=/trunk/boinc/; revision=23619
2011-05-31 23:39:50 +00:00
David Anderson bb73fd9e4e - client: equate notices if their text is the same after removing digits,
so that "need 25 GB disk" and "need 24 GB disk"
    don't result in 2 notices.


svn path=/trunk/boinc/; revision=23611
2011-05-25 22:43:07 +00:00
David Anderson 365137b3f1 - client: fix boinc_make_dirs() (from Josh Highley)
- client: allow "non_cpu_intensive" to be specified independently
    for different apps in a project.
    This is intended to support projects that use the
    Attic file distribution system,
    which needs to have a daemon running.


svn path=/trunk/boinc/; revision=23610
2011-05-25 21:16:45 +00:00
David Anderson 57a41e14d9 - client: if <ncpus> is specified in config file,
set host_info.p_ncpus to that value,
		so that scheduler requests report that number of CPUs

svn path=/trunk/boinc/; revision=23608
2011-05-25 18:37:08 +00:00
David Anderson 1afde126cb - client: escape only non-ASCII chars in stderr out, not control chars
svn path=/trunk/boinc/; revision=23601
2011-05-25 16:40:19 +00:00
David Anderson e1e122a9e2 - client: if project is set to "don't request more work",
report completed tasks immediately


svn path=/trunk/boinc/; revision=23571
2011-05-21 18:24:00 +00:00
David Anderson d3d4c93b87 - client: on hibernate, don't wait for apps to exit
(NCI apps never will)


svn path=/trunk/boinc/; revision=23570
2011-05-21 06:34:54 +00:00
David Anderson 36ba561326 - client: add log messages showing steps in exiting all tasks,
enabled by <task_debug/>
- client: remove redundant task-start messages


svn path=/trunk/boinc/; revision=23566
2011-05-20 05:38:22 +00:00
Rom Walton 32f5c73d65 - client: Account for new registry location that the new VirtualBox installer
stashes the version number.  Check the new location first, if not found go
        back to the original location.
        
    client/
        hostinfo_win.cpp

svn path=/trunk/boinc/; revision=23562
2011-05-19 16:57:19 +00:00