Commit Graph

51 Commits

Author SHA1 Message Date
David Anderson fa419731dd - scheduler RPC: add <override_file_present> element to
the <working_global_preferences> element in
    scheduler RPC request
    (tells the server that there's an override file).
- account manager RPC: add <working_global_preferences> element,
    including the override flag.
- web: add "no time limit" option for forum search
- web: increase show-user-post query limit to 10000


svn path=/trunk/boinc/; revision=24129
2011-09-06 04:34:29 +00:00
David Anderson 1bf54d11ff - client: send all running jobs a "reread app info" message
when global prefs change
    (they might have to suspend or resume network activity)


svn path=/trunk/boinc/; revision=24084
2011-08-30 21:34:27 +00:00
David Anderson cceea7f6d4 - client: rename MODE to RUN_MODE, and rename vars accordingly
svn path=/trunk/boinc/; revision=23974
2011-08-09 20:41:15 +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 17c2dd9ae6 - client: don't use the Snooze mechanism to handle
OS-requested suspension
    (especially with a 1-hour snooze period).
    Instead, handle them directly.


svn path=/trunk/boinc/; revision=23420
2011-04-23 19:02:17 +00:00
David Anderson 3b906a191c - client: generalize the GPU framework so that
- new GPU types can be added easily
		- users can specify GPUs in cc_config.xml,
			referred to by app_info.xml,
			and they will be scheduled by BOINC
			and passed --device N options
			Note: the parsing of cc_config.xml is not done yet.
		- RPC protocols (account manager and scheduler)
			can now specify GPU types in separate elements
			rather than embedding them in tag names
			e.g. <no_rsc>NVIDIA</no_rsc> rather than <no_cuda/>
	- client: in account manager replies, parse elements of the form
		<no_rsc>NAME</no_rsc>
		indicating the GPUs of type NAME should not be used.
		This allows account managers to control GPU types
		not hardwired into the client.
		Note: <no_cuda/> and <no_ati/> will continue to be supported.
	- scheduler RPC reply: add
		<no_rsc_apps>NAME</no_rsc_apps>
		(NAME = GPU name)
		to indicate that the project has no jobs for the indicated GPU type.
		<no_cuda_apps> etc. are still supported 
	- client/lib: remove set_debts() GUI RPC
	- client/scheduler RPC
		remove <cuda_backoff> etc. (superceded by no_app)
		Exception: <ip_result> elements in sched request
		still have <ncudas> and <natis>.
		Fix this later.

	Implementation notes:
	- client/lib: change "CUDA" to "NVIDIA" in type/variable names, and in XML
		Continue to recognize "CUDA" for compatibility
	- host_info.coprocs no longer used within the client;
		use a global var (COPROCS coprocs) instead.
		COPROCS now has an array of COPROCs;
		GPUs types are identified by the array index.
		Index zero means CPU.
	- a bunch of other resource-specific structs (like RSC_WORK_FETCH)
		are now stored in arrays, with same indices as COPROCS
		(i.e. index 0 is CPU)
	- COPROCS still has COPROC_NVIDIA and COPROC_ATI structs to hold vendor-specific info
	- APP_VERSION now has a struct GPU_USAGE to describe its GPU usage

svn path=/trunk/boinc/; revision=23253
2011-03-25 03:44:09 +00:00
David Anderson cf9b7ef4a2 - client: make "wait 30 sec after exclusive app exits" apply to network too
- client: fix bug in "wait 30 sec after exclusive app exits" logic
	- client: fix compile warning and possible bug in is_remote_desktop()
	- win: remove wrappture_example from solution
		(until Hubzereo guys get their win lib working)

svn path=/trunk/boinc/; revision=23077
2011-02-21 00:09:18 +00:00
David Anderson 28bad727c1 - client: when exclusive app mechanism is used (CPU or GPU)
wait for 30 secs after excl app exits
    before restarting computation


svn path=/trunk/boinc/; revision=23048
2011-02-16 20:41:19 +00:00
David Anderson a20e7d5837 - client simulator: updates. Fix web interface.
svn path=/trunk/boinc/; revision=22476
2010-10-07 21:41:31 +00:00
David Anderson 01a1c3ee65 - client: don't show GPU suspend/resume msgs if no GPUs
svn path=/trunk/boinc/; revision=22449
2010-10-05 23:11:37 +00:00
David Anderson fcbb8a286e - client simulator: major remodel and upgrade.
Insteady of using its own XML input files,
    the simulator now takes a client_state.xml file as input.
    The simulator generates a synthetic workload based on the
    projects, apps, app versions, WUs, and result it finds there.

    This means that a user seeing aberrant behavior
    can just send their client_state.xml file
    and (hopefully) we can use the simulator to repro.

    The simulator now can model GPUs.

    As of this checkin, the simulator compiles but doesn't work.
    There should be no change in the actual client.


svn path=/trunk/boinc/; revision=22409
2010-09-24 20:02:42 +00:00
David Anderson f9adad65b6 - client: ignore case in names of "exclusive apps"
and exclusive GPU apps
	- client: fix bug that caused GPU apps to not be
		suspended or resumed immediately after
		exclusive GPU app transition
	- client: in log message, instead of saying
		"fetching tasks for GPU", say which kind of GPU

svn path=/trunk/boinc/; revision=22298
2010-08-27 18:22:59 +00:00
David Anderson eb35fc63e1 - client: code cleanup (move some config vars from CLIENT_STATE to CONFIG)
svn path=/trunk/boinc/; revision=21682
2010-06-02 18:21:30 +00:00
David Anderson 28fb7e7889 - fix compile warnings
svn path=/trunk/boinc/; revision=21567
2010-05-18 20:16:46 +00:00
David Anderson 515abee470 - client/manager: keep track of "GPU suspended reason".
Report it to the manager
    (it was already in CC_STATUS, but not populated)
- manager: fix system tray icon popup text

svn path=/trunk/boinc/; revision=21481
2010-05-12 18:14:30 +00:00
David Anderson b8df52bc8a - client: temporarily enable logic that deallocates memory on exit,
so that we can look for memory leaks.
- client: enable bandwidth quota limit only if both
    #MB and #days are nonzero.
- scheduler: when resending work, don't send more than
    client is requesting
- scheduler: restore Cobblestone factor to 100

svn path=/trunk/boinc/; revision=21460
2010-05-11 19:50:14 +00:00
Rom Walton 9cb3e6ffc7 - client & lib: bring header inclusion up-to-date for the CC to begin
hunting down a memory leak.
        
    client/
        <Various Files>
    lib/
        <Various Files>

svn path=/trunk/boinc/; revision=21457
2010-05-11 19:10:29 +00:00
David Anderson 06cb521bbe - manager: improve "suspended" messages for tasks and transfers
- manager: code reorg.  ViewTransfers and DlgItemProperties
		both had a long member function to generate a string describing a task.
		One of these was out of date.
		Replaced these with a single non-member function.
	- manager: fixed sizer problem in attach wizard that caused missing word
	- client: minor code reorg

svn path=/trunk/boinc/; revision=21412
2010-05-07 16:14:54 +00:00
Charlie Fenton cf8490e2cd client: Restore RUN_MODE_ALWAYS functionality in network suspension logic
svn path=/trunk/boinc/; revision=21341
2010-05-01 01:19:32 +00:00
David Anderson 26c0814d26 - client: clean up network suspension logic.
There are now separate flags for
    "file_xfers_suspended": don't do file transfers
    "network_suspended": don't do any network comm
        (scheduler RPCs, RSS fetch, master fetch, etc.)
    The policy:
    if preferences/settings say no network
    (quota exceeded, no-network mode, user active, time, excl. app)
    then:
        file_xfers_suspended = true
        if (no recent network-related RPC) network_suspended = true
- user web: code cleanup for project prefs

svn path=/trunk/boinc/; revision=21299
2010-04-26 19:31:28 +00:00
David Anderson d0691236b9 - client: report daily xfer stats in scheduler request
(not used by scheduler, but maybe later)


svn path=/trunk/boinc/; revision=21273
2010-04-24 03:18:24 +00:00
David Anderson 8f91d96150 - user web: add network quota pref (the goal that spurred all this cleanup)
- rename prefs.daily_xfer_period to daily_xfer_period_days


svn path=/trunk/boinc/; revision=21269
2010-04-23 20:29:02 +00:00
David Anderson 2ab7dbfc65 - client: bug fixes for the above
svn path=/trunk/boinc/; revision=21243
2010-04-22 02:57:50 +00:00
David Anderson 87c84afe0a - client: add preference for limiting network xfers in last N days
(no GUI yet)

svn path=/trunk/boinc/; revision=21242
2010-04-21 23:17:12 +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 e14e1cad34 - Remove BOINC_RCSID tags from source files, we are doing branching and tagging
properly.
        
    <Various Files>

svn path=/trunk/boinc/; revision=20873
2010-03-12 16:51:57 +00:00
David Anderson 8f3d111f5c - client: don't suspend non-CPU-intensive jobs because of CPU load
svn path=/trunk/boinc/; revision=20825
2010-03-10 18:59:40 +00:00
David Anderson 2a12a8fb8b - client: if suspending apps because of CPU benchmarks,
leave them in memory

svn path=/trunk/boinc/; revision=20765
2010-03-02 01:24:03 +00:00
David Anderson 45b9c4518c - client: fix bug in "suspend if CPU load too high" feature.
Forgot to convert between fraction and percentage

svn path=/trunk/boinc/; revision=20651
2010-02-18 23:53:14 +00:00
David Anderson e2d3f75eef - client and user web: finish the above.
Should add the Adv Prefs dialog as well.

svn path=/trunk/boinc/; revision=20193
2010-01-19 00:38:31 +00:00
David Anderson 20d6b06f5f - client: initial checkin for "don't compute if CPU usage above X"
svn path=/trunk/boinc/; revision=20192
2010-01-19 00:03:38 +00:00
David Anderson e82e491c31 - client: show <cpu_sched> message when suspend/resume GPU activity
svn path=/trunk/boinc/; revision=19957
2009-12-17 18:09:23 +00:00
David Anderson 8182ccd031 - client/manager: first whack at a "snooze GPU" button
svn path=/trunk/boinc/; revision=19853
2009-12-10 23:26:35 +00:00
David Anderson 14fd0a3f33 - client: show more general prefs on startup
- manager: show status for jobs aborted because not started by deadline

svn path=/trunk/boinc/; revision=19678
2009-11-23 22:47:10 +00:00
David Anderson e057c552d8 - client: add <exclusive_gpu_app> option:
suspend GPU usage when particular apps are running

svn path=/trunk/boinc/; revision=19573
2009-11-13 17:49:18 +00:00
David Anderson 42ea9a059f svn path=/trunk/boinc/; revision=19376 2009-10-23 22:18:00 +00:00
David Anderson 545d137804 - client: no network activity if running CPU benchmarks
svn path=/trunk/boinc/; revision=19375
2009-10-23 21:57:58 +00:00
David Anderson 54b078d0af - client: add --unsigned_apps_ok cmdline option
and <unsigned_apps_ok> config option.
    This tells the client to allow unsigned apps.
    For testing.
    No file xfers or other network traffic will be allowed if set.
- client: add <exit_after_finish> option (same as cmdline flag)
- client: add <skip_cpu_benchmarks> option (same as cmdline flag)
- client: print message if abort past-deadline unstarted job
- client: improve message when have NVIDIA drivers but no GPU
    

svn path=/trunk/boinc/; revision=19276
2009-10-07 18:42:51 +00:00
David Anderson 0a1322af6e - client: fix bug in CPU prefs enforcement:
enforce "suspend if no recent input" and "exclusive apps"
    only if overall mode if RUN_MODE_AUTO (run according to prefs) 

svn path=/trunk/boinc/; revision=19193
2009-09-26 20:23:39 +00:00
David Anderson 10f9e11ee6 - lib: created a new file for declaring "replacements"
for functions like strlcpy() etc.
    config.h is included here rather than in str_util.h


svn path=/trunk/boinc/; revision=18437
2009-06-16 20:54:44 +00:00
David Anderson 41fe3e40bf - client: tag messages with project where possible; fixes #852
- client: show fetch share rather than run share in wfd message

svn path=/trunk/boinc/; revision=17398
2009-02-26 17:12:55 +00:00
David Anderson 2e2eacc2f5 - client: if you put <host_venue> in global_prefs_override.xml,
it should select the venue from the network prefs.
    Now it does.


svn path=/trunk/boinc/; revision=17389
2009-02-26 00:52:50 +00:00
David Anderson 3e98909ab6 - client: adjust debts at least every minute.
This fixes a bug that can cause debts to NEVER get updated.
- client: added "abort_jobs_on_exit" feature
    (available by --abort_jobs_on_exit cmdline
    or <abort_jobs_on_exit> in cc_config.xml).
    If set, when the client is exited by user request
    (this includes signals on Unix)
    it marks all pending jobs as aborted,
    and does a scheduler RPC to all projects with jobs.
    When these are completed the client exits.
    This is useful when BOINC is being used on grids
    where it is wiped clean after each run.

svn path=/trunk/boinc/; revision=17300
2009-02-18 19:47:02 +00:00
David Anderson fbd50f4ec4 - client: if an exclusive app is running, suspend network
as well as processing

svn path=/trunk/boinc/; revision=16552
2008-11-24 21:27:43 +00:00
David Anderson 0ded726fe7 - client: fix a long-standing error: if prefs say leave X GB free,
and BOINC is using Y GB, and there are Z GB free,
        the limit on BOINC is Y + Z - X (not Z - X).

svn path=/trunk/boinc/; revision=16388
2008-11-02 20:09:59 +00:00
David Anderson 15b58e582d - client, scheduler: there were a few places where we had 1e9
instead of 1 gig (2^20)


svn path=/trunk/boinc/; revision=16387
2008-11-01 23:13:55 +00:00
David Anderson eae866f743 - client: for CPU throttling, don't suspend apps that
are non-CPU-intensive or that use < 1 CPU (e.g., CUDA)
	- client: get rid of spurious "internal error,
		expected process to be executing" msg
	- diag: don't check heap on every alloc
	- fix a few compile warnings

svn path=/trunk/boinc/; revision=16323
2008-10-27 20:17:22 +00:00
David Anderson 882c0cde50 - client: print #CPUs if not all
svn path=/trunk/boinc/; revision=16270
2008-10-22 22:25:16 +00:00
David Anderson 37364ab657 - client: show message when suspending because of exclusive app
- web: remove file_get_contents() workaround for PHP4
- web: If Akismet or ReCaptcha failure,
    display the form again with a warning message at the top.
    That way the user doesn't lose the text they just typed.

svn path=/trunk/boinc/; revision=16175
2008-10-09 18:28:55 +00:00
David Anderson 30aecfc6f8 - debug "exclusive app" feature
svn path=/trunk/boinc/; revision=16090
2008-09-29 18:51:46 +00:00