Commit Graph

2370 Commits

Author SHA1 Message Date
David Anderson 4ce9d9e212 - scheduler: code cleanup for the above
svn path=/trunk/boinc/; revision=25427
2012-03-14 22:42:38 +00:00
David Anderson 82d64e9403 - msg tweak and fix compile warnings
svn path=/trunk/boinc/; revision=25408
2012-03-12 23:34:41 +00:00
David Anderson d5bf5c46e3 - Manager: in Project Properties page,
show if a GPU type is excluded by configuration
- client: don't fetch work for a resource type if all instances
    of that type are excluded
- web: don't use filter_var(, FILTER_SANITIZE_STRING)
    to strip HTML tags from a string.
    This escapes singles quotes also.
    Use strip_tags() instead.


svn path=/trunk/boinc/; revision=25375
2012-03-04 04:58:41 +00:00
Charlie Fenton 6688c21c11 client: On Mac only, get ATI RAM sizes from OpenGL
svn path=/trunk/boinc/; revision=25358
2012-03-01 02:35:45 +00:00
David Anderson f18ffd6fe7 - VDA: add some log messages
- scheduler: add VDA
- client, web: change default prefs to min_buf=.1 days, max_buf=.5 days
- scheduler: app plan function for vbox requires 7.0+ client


svn path=/trunk/boinc/; revision=25351
2012-02-28 06:57:28 +00:00
David Anderson 7c3bc68a05 - API, client, and Manager: add an optional "reason" argument to
boinc_temporary_exit(),
        explaining why the app is exiting.
        Convey this to the client, and then to the Manager,
        and display it there and in the log.

    clientgui/
        MainDocument.cpp
    lib/
        gui_rpc_client_ops.cpp
        gui_rpc_client.h
    api/
        boinc_api.cpp,h
    client/
        client_types.cpp,h
        app.h
        app_control.cpp

svn path=/trunk/boinc/; revision=25315
2012-02-22 22:56:05 +00:00
David Anderson 721493bf29 - Manager/Client: fix bugs in GUI RPC that prevented
updates to proxy info from being saved by client


svn path=/trunk/boinc/; revision=25297
2012-02-20 21:32:26 +00:00
Charlie Fenton db928a240b Mac: Fix back trace to work under OS > 10.5
svn path=/trunk/boinc/; revision=25287
2012-02-18 00:51:35 +00:00
Charlie Fenton d2c2252479 Mac: Fix back trace to work under OS > 10.5
svn path=/trunk/boinc/; revision=25286
2012-02-18 00:46:42 +00:00
Charlie Fenton 7ee9f28e54 client: Always use GPU model name from OpenCL if available for ATI / AMD GPUs
svn path=/trunk/boinc/; revision=25275
2012-02-17 00:10:36 +00:00
David Anderson 1b8d6b098d - storage stuff (work in progress)
- small code shuffle


svn path=/trunk/boinc/; revision=25274
2012-02-16 23:59:26 +00:00
David Anderson caf56b8b6b - lib: change get_mac_address() to avoid sprintf(buf, "%s...", buf);
use strcat instead
- client: don't use get_mac_address() to create host CPIDs
    (we have plenty of other info to make them unique)
- storage stuff


svn path=/trunk/boinc/; revision=25269
2012-02-16 00:08:40 +00:00
David Anderson ff7fcb293a - admin web: fix error when showing unsent results
svn path=/trunk/boinc/; revision=25260
2012-02-14 21:12:57 +00:00
David Anderson cf932e622d - assimilator: when enumerating results for a WU, check retval.
Otherwise we might get a partial list,
    which screws up assimilation logic.


svn path=/trunk/boinc/; revision=25259
2012-02-14 18:50:47 +00:00
David Anderson a4cd8e5cdb - storage stuff
- client: message tweak


svn path=/trunk/boinc/; revision=25244
2012-02-13 08:41:48 +00:00
David Anderson 7a84593e23 - client: fixed a bug in procinfo_app() that would cause processes
to be treated as non-BOINC when they actually are,
		thus falsely triggering CPU-busy suspensions

svn path=/trunk/boinc/; revision=25223
2012-02-09 00:54:05 +00:00
David Anderson d2cf999563 - client: on startup, check file size as well as existence
- client: add <async_file_debug> log flag
- client: do decompress (both sync and async) to a temp file,
    then rename
- client: if a file's status is VERIFY_PENDING on startup,
    set it to NOT_PRESENT; that will trigger a verify
- client: do async copy only if size is above threshold


svn path=/trunk/boinc/; revision=25222
2012-02-09 00:47:04 +00:00
David Anderson 4b7a079776 - bug fixes to previous checkin
svn path=/trunk/boinc/; revision=25218
2012-02-08 01:53:19 +00:00
David Anderson 7e48057f44 - client/Manager/GUI RPC: clean up RPC stuff involving
resource-specific backoff and exclusion

    Old: client writes
            <rsc_backoff_time>
            <rsc_backoff_interval>
            <no_rsc_ams>
            <no_rsc_apps>
            <no_rsc_pref>
        in GUI RPC entries for projects.
        Manager (GUI RPC client): PROJECT struct has
            cpu_backoff_time
            cpu_backoff_interval
            ... cuda, ati
            no_cpu_pref
            ... cuda, ati
        and it parses tags of these names.
        In other words, no information is being conveyed
        from client to Manager.

    New:
        manager parses both forms


svn path=/trunk/boinc/; revision=25217
2012-02-08 01:39:01 +00:00
David Anderson e268b81a3d - async file stuff. mostly working. still a few bugs
svn path=/trunk/boinc/; revision=25214
2012-02-07 17:54:09 +00:00
David Anderson 739f40c4f7 - client: HTTP range request errors are permanent.
svn path=/trunk/boinc/; revision=25213
2012-02-07 07:58:08 +00:00
David Anderson ea2e64cef5 - client: async file stuff
svn path=/trunk/boinc/; revision=25209
2012-02-06 22:57:36 +00:00
David Anderson cdd40fcc10 - client: intermediate checkin for async file verification
svn path=/trunk/boinc/; revision=25202
2012-02-06 06:06:44 +00:00
David Anderson 3dc7dc9ad3 - client: debug async file copy. Seems to be working.
svn path=/trunk/boinc/; revision=25195
2012-02-03 22:08:11 +00:00
David Anderson 130d6ed4f0 - server: revamp the "assigned job" mechanism.
This now supports two main use cases:
    1) there's a job that you want to run once on all hosts,
        present and future
        (or all hosts belonging to a user, or to a team).
        The job is never transitioned, validated, or assimilated.
    2) There's a normal job for which you want to use only
        hosts belonging to a specific user (e.g. cluster or cloud hosts).
        This restriction can be made either when the job is created,
        or on the fly,
        e.g. as part of a scheme for accelerating batch completion.
        For the latter purposes we now provide a function
            restrict_wu_to_user(DB_WORKUNIT&, int userid);

        The job goes through the standard
        transitioner/validator/assimilator path.

    These cases are enabled by config flags
        <enable_assignment_multi/>
        <enable_assignment/>
    respectively.

    Assignment of type 2) are no longer stored in shared mem,
    so there is no limit on their number.

    There is no longer a rule that assigned job names must contain "asgn".

    NOTE: this requires a database update.


svn path=/trunk/boinc/; revision=25169
2012-01-30 22:39:13 +00:00
Charlie Fenton 65b5930423 client: don't defer scheduling a task based on insufficient GPU RAM
svn path=/trunk/boinc/; revision=25166
2012-01-30 10:09:44 +00:00
David Anderson 63804486c0 - client: after a gzipped file is downloaded,
we uncompress it and then verify it.
    The latter involves computing its MD5, which reads the entire file.
    Combine these 2 steps so that the MD5 is computed
    as the file is uncompressed,
    eliminating the need to read the file again.


svn path=/trunk/boinc/; revision=25157
2012-01-26 23:13:00 +00:00
David Anderson d281e43d6a - update_versions: for gzipped files,
send the size of the compressed file as well.
- client: parse and write the compressed size (FILE_INFO::gzipped_nbytes).
    For get_transfer GUI RPCs, if it's a compressed download send
    the compressed size.
    That way the manager will show the fraction done correctly.


svn path=/trunk/boinc/; revision=25152
2012-01-26 08:39:51 +00:00
David Anderson 10c79a7166 - scheduler: initialize COPROC_ATI::version to zero;
avoid sending spurious "update driver" messages


svn path=/trunk/boinc/; revision=25131
2012-01-23 21:59:12 +00:00
David Anderson c05444ad1e - GUI RPC: switching to the new XML parser
(which won't parse a double as an int)
    revealed a type mismatch in FILE_TRANSFER::next_request_time
    between client and server.


svn path=/trunk/boinc/; revision=25125
2012-01-23 05:03:52 +00:00
Charlie Fenton fd999fc652 OpenCL: workaround for GPUs reported by CUDA but not by Mac OpenCL
svn path=/trunk/boinc/; revision=25109
2012-01-20 13:30:47 +00:00
David Anderson c7d766f6d7 - client: parse HOST_INFO::p_vm_extensions_disabled correctly
svn path=/trunk/boinc/; revision=25105
2012-01-19 09:38:35 +00:00
David Anderson e5aa5f813a - storage simulator work
- lib: recent checkin broke strip_whitespace(string&).


svn path=/trunk/boinc/; revision=25089
2012-01-18 02:24:18 +00:00
Charlie Fenton d4993f3752 client, lib: Improve available GPU RAM detection, include it in display of GPU description
svn path=/trunk/boinc/; revision=25073
2012-01-17 02:22:25 +00:00
David Anderson e2a4f3b535 - optimize strip_whitespace(); from Steffen Moller
- storage simulator: generalize so you can use different
    coding parameters at different levels


svn path=/trunk/boinc/; revision=25070
2012-01-15 18:17:49 +00:00
David Anderson 1117f7b944 - GUI RPC client: don't write spurious messages to stderr
svn path=/trunk/boinc/; revision=25066
2012-01-14 23:08:07 +00:00
David Anderson 81b29b0cc9 - API: fix queueing problem for graphics-related messages
(web graphics URL and remote desktop addr)
- GUI RPC and API:
    change "remote_desktop_connection" to "remote_desktop_addr" everywhere.
    It's an address, not a connection.
- vboxwrapper: log message cleanup


svn path=/trunk/boinc/; revision=25044
2012-01-13 19:00:16 +00:00
Rom Walton 3bc326db3e - client: Add plumbing to support passing the remote desktop
connection information to the manager
    - MGR: Add a "Show VM Console" button for those tasks which
        report a remote desktop port number.

    client/
        app.cpp, .h
        app_control.cpp
    clientgui/
        Events.h
        MainDocument.cpp, .h
        ViewWork.cpp, .h
    lib/
        gui_rpc_client.h
        gui_rpc_client_ops.cpp

svn path=/trunk/boinc/; revision=25036
2012-01-12 22:05:25 +00:00
David Anderson 962cee0689 - manager: parse message contents with XML_PARSER::element_content().
svn path=/trunk/boinc/; revision=25005
2012-01-06 21:58:43 +00:00
Rom Walton 1287b95f73 - MGR: Remove sash window divider between the task panel and list panel
in the advanced view. Retain the ability to dynamically adjust the
        width of the task panel based on widest button.
    - LIB: Use parse string instead of copy contents for messages RPC.
    
    clientgui/
        BOINCBaseView.cpp, .h
        ViewNotices.cpp
        ViewResources.cpp
        ViewStatistics.cpp
    lib/
        gui_rpc_client_ops.cpp

svn path=/trunk/boinc/; revision=25001
2012-01-06 17:12:19 +00:00
David Anderson 57d1c580e8 - GUI RPC: use new XML parser
svn path=/trunk/boinc/; revision=24998
2012-01-05 19:58:51 +00:00
David Anderson bba4ce24ce - client: compute projects' disk share (based on resource share).
Report it (along with disk usage) in scheduler request messages.
    This will allow the scheduler to send file-delete commands
    if the project is using more than its share.
- client: add <disk_usage_debug> log flag
- create_work: add --help, show --command_line option


svn path=/trunk/boinc/; revision=24968
2012-01-02 05:53:42 +00:00
Rom Walton 741eb51893 - client: processor features buffer is supposed to be 1024 bytes. avoid
truncation.
        
    lib/
        hostinfo.cpp

svn path=/trunk/boinc/; revision=24945
2011-12-30 15:59:46 +00:00
David Anderson 95ebb112c2 - client: for VBox apps, check stderr for "ERR_CPU_VM_EXTENSIONS_DISABLED".
If found, set HOST_INFO::p_vm_extensions_disabled,
    and pass this to the scheduler.
- scheduler (VBox app plan function) if a host has p_vm_extensions_disabled
    set, don't sent it multicore VBox jobs.

Note: if you have a host with VM extensions, and they're disabled
    in the BIOS, and you enable them, you can remove the
    <p_vm_extensions_disabled> line from client_state.xml
    and you'll be eligible to get multicore VM jobs again.


svn path=/trunk/boinc/; revision=24944
2011-12-30 09:43:58 +00:00
David Anderson fc6d530a6c - client: shuffle disk usage code in preparation for disk accounting
- use new XML parser in some GUI RPC code


svn path=/trunk/boinc/; revision=24925
2011-12-28 14:52:03 +00:00
Rom Walton 5233d1543c Quick Updates
svn path=/trunk/boinc/; revision=24908
2011-12-26 17:18:18 +00:00
David Anderson b003b8e290 - add support for APP::needs_network flag.
If set, don't run jobs for that app while network is suspended.
		- client: parse this flag and maintain in state file;
			do a job reschedule when network suspend state changes
		- GUI RPC: add RESULT::network_wait flag;
			if set, this job is waiting for network access to be allowed
		- Manager: display the above in task info
	- add support for "web graphics URL" (see above)
		- client: parse message containing URL on graphics_reply channel
			and store in ACTIVE_TASK::web_graphics_url
		- GUI RPC: add RESULT::web_graphics_url
		- Manager: if web graphics URL is present, Show Graphics opens a browser
	- remove some vestigial code for pre-V6 graphics

svn path=/trunk/boinc/; revision=24899
2011-12-26 03:30:32 +00:00
David Anderson 5c02170d5a - storage simulator: add stats for network load and fault tolerance.
- client: msg tweak
- client: minimum work buffer lower bound is 180 sec
- scheduler: in computing HOST_USAGE::project_flops for a job,
    if we don't have sufficient elapsed_time statistics
    for either the (host, app_version) or the app_version,
    use a conservative estimate (p_fpops*(#cpus+#ngpus))
    rather than the number returned by app_plan().
    This avoids "time limit exceeded" errors when the latter is way off.


svn path=/trunk/boinc/; revision=24820
2011-12-16 19:45:31 +00:00
David Anderson 819360dfe8 - scheduler: encode CAL version numbers in a way that handles
release #s > 1000


svn path=/trunk/boinc/; revision=24746
2011-12-06 19:41:14 +00:00
David Anderson e8027a224e - client: isdigit() asserts if its arg is negative (which it can be).
Call isascii() first.
	- GUI RPC lib: add some consts

svn path=/trunk/boinc/; revision=24726
2011-12-04 19:02:36 +00:00