Commit Graph

4051 Commits

Author SHA1 Message Date
David Anderson c031ea2517 - client: notice debugging
svn path=/trunk/boinc/; revision=22553
2010-10-18 21:03:07 +00:00
David Anderson 0802767209 svn path=/trunk/boinc/; revision=22552 2010-10-18 20:55:03 +00:00
David Anderson 9f962b3311 - Win build fix
svn path=/trunk/boinc/; revision=22551
2010-10-18 20:54:33 +00:00
David Anderson 9d0891dc16 svn path=/trunk/boinc/; revision=22550 2010-10-18 20:31:54 +00:00
David Anderson dd2d5bd63f - client: on startup, generate a message and notice
about new client version if needed

svn path=/trunk/boinc/; revision=22549
2010-10-18 20:31:27 +00:00
David Anderson 33713781d1 - client: distinguish between messages to be displayed as HTML
(e.g. "Download new client here" link) and others
		(e.g. "Bad tag in cc_config.xml: <foo>").
	- code cleanup; move show_message from main.cpp to client_msgs.cpp

svn path=/trunk/boinc/; revision=22548
2010-10-18 20:09:51 +00:00
David Anderson 020a4d4ed1 - user web: in RSS item for private message, don't say anything
about the message (sender, title, or content)
- user web: don't send an RSS item for a thread with no posts (i.e., hidden)
- client simulator: support global_prefs_override.xml

svn path=/trunk/boinc/; revision=22545
2010-10-17 20:12:14 +00:00
David Anderson 612362d6dc - bug fix for the above
svn path=/trunk/boinc/; revision=22544
2010-10-17 18:02:40 +00:00
David Anderson 575718e420 - client: delete a notice if it's no longer in the RSS feed.
E.g., if a project deletes a news item, remove it from notices.
- notices RSS: remove the "since_time" mechanism
    (an optimization that conflicts with the above)

svn path=/trunk/boinc/; revision=22543
2010-10-17 04:01:36 +00:00
David Anderson c9be64765c - client: use project STD, rather than arrival time,
as the major criterion in choosing non-EDF GPU jobs.
    GPU scheduling now respects resource share,
    and as a result STD should no longer diverge.
- client simulator: various improvements, most notably
    that we now generate gnuplot graphs of all debt types

NOTE: the client problem was found and fixed using the simulator!


svn path=/trunk/boinc/; revision=22536
2010-10-15 20:16:00 +00:00
David Anderson ccac28c863 - client: when an app exits, adjust debts before erasing ACTIVE_TASK.
Otherwise the last episode won't get accounted
- client simulator: add output file for debt info

svn path=/trunk/boinc/; revision=22505
2010-10-14 19:07:02 +00:00
Charlie Fenton db5832a189 client: fix compiler warning
svn path=/trunk/boinc/; revision=22503
2010-10-14 08:11:40 +00:00
David Anderson fb923e7659 - API/client: move CUdevice_attribute_enum out of lib/coproc.h
to fix app build errors

svn path=/trunk/boinc/; revision=22502
2010-10-13 23:33:02 +00:00
David Anderson ac83e1e9f7 - client: fix bug with the <max_tasks_reported> config option.
If # of ready-to-report tasks > max_tasks_reported,
    then the excess ready-to-report tasks weren't getting
    reported to the scheduler at all (i.e. not in <other_results> either)
    so the scheduler would resend them
    (not a fatal problem, but a waste of bandwidth).
    From Josef Segur.

svn path=/trunk/boinc/; revision=22500
2010-10-13 23:21:19 +00:00
David Anderson 56ff7cf37f - client simulator: get it to work for GPU simulation
- web: small fixes to mollify skipfish

svn path=/trunk/boinc/; revision=22485
2010-10-08 23:18:12 +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 65b942c799 - GUI RPC: when resolving hostnames, ask for only IPV4 addresses.
No point in allowing IPV6 since the client doesn't
    create a listening socket for IPV6

svn path=/trunk/boinc/; revision=22475
2010-10-07 18:08:20 +00:00
David Anderson d7d2ebef85 - client: add <max_tasks_reported> config item:
limit the # of completed tasks reported per RPC

svn path=/trunk/boinc/; revision=22467
2010-10-07 16:02:44 +00:00
David Anderson 5bf61738c4 - client simulator: bug fixes
svn path=/trunk/boinc/; revision=22464
2010-10-06 22:56: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 49e50e9f00 - client: don't fetch RSS feeds if "no_info_fetch" flag is set
svn path=/trunk/boinc/; revision=22444
2010-10-04 18:44:41 +00:00
David Anderson aeaac7026b - client: remove debugging code accidentally left in
svn path=/trunk/boinc/; revision=22443
2010-10-04 18:38:59 +00:00
David Anderson be14996a1e - scheduler: deal correctly with jobs that need > 2GB RAM.
Such jobs fail on 32-bit machines, even if they have sufficient RAM,
    because 32-bit OSs don't support address spaces > 2GB.

    In general, we want to support the following scenario:
    - an app has a mixture of small (< 2GB) and big (> 2GB) jobs.
    - there are app versions for both 32b and 64b platforms
    - one of the 32b versions is faster than the 64b version
        (say, it's a 32b GPU app)

    Goals:
    If the client is 32b, send it only small jobs,
        using the fast 32b version if possible
    If the client is 64b and has sufficient RAM,
        send it large jobs using the 64b version;
        send it small jobs using the fast 32b version if possible,
        else the 64b version

    Solution: extend get_app_version() so that it detects big jobs,
        and uses only 64b versions for them.
        Add a "for_64b_jobs" field to BEST_APP_VERSION
        so that we maintain a separate memoized set of
        BEST_APP_VERSIONs for big jobs.

- client: don't set report_results_immediately inappropriately

svn path=/trunk/boinc/; revision=22440
2010-10-01 19:54:09 +00:00
David Anderson 29c3220c75 - client: in computing non-BOINC CPU time,
ignore ACTIVE_TASKs that don't have a process.
	- client: bug fix to previous checkin

svn path=/trunk/boinc/; revision=22423
2010-09-29 18:15:24 +00:00
David Anderson c6270ed0b7 - client: if a process has priority <= that of BOINC apps,
don't include it in non-BOINC CPU time.
    Otherwise the presence of such a process could
    prevent BOINC from running apps.
    (Windows only - will do Unix/Mac later)

svn path=/trunk/boinc/; revision=22422
2010-09-29 16:45:47 +00:00
David Anderson e34c09c000 - client: if we suspend apps because non-BOINC CPU is is too high,
leave them in memory.
    Otherwise (if the CPU use is caused by launching an app,
    say by security software)
    we would get into a loop.

svn path=/trunk/boinc/; revision=22420
2010-09-28 21:48:31 +00:00
David Anderson 794214208f - validator: if credit calculation returns an error,
wait 6 hours before retrying

svn path=/trunk/boinc/; revision=22418
2010-09-28 20:17:09 +00:00
David Anderson 1c4422985f - client: add <no_info_fetch> config option and --no_info_fetch
cmdline arg.
    Suppresses the fetch of project list and of current client version #.
    Use when running on grid nodes.
- debugging on client simulator.  Not done yet.

svn path=/trunk/boinc/; revision=22414
2010-09-27 20:34:47 +00:00
David Anderson 31db3207e4 - client: fix bug that cause wasted scheduler RPC
Old: when a job finished, we cleared the backoffs for the
        resources it used.  The idea was to get more jobs
        immediately in the case where the client was at
        a jobs-in-progress limit.
    Problem: this resulted in an RPC immediately,
        typically before the output files were uploaded.
        So the client is still at the limit, and doesn't get jobs.
    New: clear the backoffs at the point when output files
        have been uploaded and the job is ready to report.
- client: change range in resource backoff from (0,x) to (.5, 1.5*x)


svn path=/trunk/boinc/; revision=22411
2010-09-24 21:24:02 +00:00
David Anderson 082603f927 compile fix
svn path=/trunk/boinc/; revision=22410
2010-09-24 20:37:45 +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 c7e13eafb3 - client: write GPU info to client_state.xml,
so that it can be input file to the client simulator.

svn path=/trunk/boinc/; revision=22405
2010-09-23 20:54:49 +00:00
David Anderson 5f23ce067f - client: typo fix
svn path=/trunk/boinc/; revision=22398
2010-09-22 22:50:45 +00:00
David Anderson b3383c281e - client/web: change RSS feed mechanism a little.
If <use_since_time> is included in feed description,
    the client will append &since_time=x to the URL,
    where x is the lastBuildDate of the previous reply.
    This notices handler (notices.php) sends only notices
    newer than this.
- client: discard old notices as they arrive

svn path=/trunk/boinc/; revision=22396
2010-09-21 23:49:21 +00:00
David Anderson d1e66f0427 - web: appearance tweaks from Simek; fixes #1012
svn path=/trunk/boinc/; revision=22394
2010-09-20 23:59:25 +00:00
David Anderson ec2577771f - client: when computing non-BOINC CPU usage,
allow for the possibility that suspended BOINC apps
    aren't really suspended
    (e.g. multithread apps that don't use boinc_init_parallel())
- client: message tweak

svn path=/trunk/boinc/; revision=22388
2010-09-18 04:04:08 +00:00
David Anderson 7c4363a7ba - client: improve "wrong URL" messages
- client: add title to client/server messages: "Notice from BOINC"

svn path=/trunk/boinc/; revision=22383
2010-09-17 05:24:37 +00:00
David Anderson 7ec13c4a31 - client: fix boinc_temporary_exit() handling on Unix (from Hien)
svn path=/trunk/boinc/; revision=22382
2010-09-17 03:57:47 +00:00
David Anderson 2985faec3e - client: if we successfully did CPU benchmarks,
don't keep doing them every 5 days unless restart the client
    fixes #994

svn path=/trunk/boinc/; revision=22365
2010-09-15 23:38:59 +00:00
David Anderson 0d41de283a - client: revert to old network functions (gethostbyname() etc.) on Win:
- inet_ntop() etc. exist only on Vista+
		- the other functions are declared in winsock2.h.
			This breaks the Manager build, since wxwidgets includes winsock.h.
		So to hell with it.
	- windows build: manager doesn't depend on client

svn path=/trunk/boinc/; revision=22358
2010-09-15 20:33:44 +00:00
David Anderson 0f4735352a - client: a bit of IPv6 compatibility
- use "sockaddr_storage" to store network addresses
        (which may be IPv4 or IPv6)
        rather than assuming they fit in an int.
    - the entries in gui_rpc_auth.cfg may now be IPv6 addresses
        (a🅱️c:e:f:g format),
        or domain names of hosts that support only IPv6
    Note: GUI RPCs are still constrained to use IPv4,
    but this should be easy to change if it's every needed

    Also: replace deprecated gethostbyname() with getaddrinfo().

svn path=/trunk/boinc/; revision=22353
2010-09-15 17:41:25 +00:00
David Anderson 3de5a1d410 - client: remove spurious msgs about deleting files while in use
- scheduler: add log messages related to max jobs in progress

svn path=/trunk/boinc/; revision=22342
2010-09-13 21:20:30 +00:00
David Anderson 6df96d612a - boinc_cmd: don't crash if can't connect to local client
svn path=/trunk/boinc/; revision=22338
2010-09-12 01:10:39 +00:00
David Anderson 40cf0fe1ee - client: if a client has no jobs for a resource, decay its STD
for that resource by a factor of e every day

svn path=/trunk/boinc/; revision=22334
2010-09-10 00:20:08 +00:00
David Anderson 291c0cc7a7 - client: remove duplicate notices based on GUID as well as text
(Google RSS feeds, e.g., change random strings in URLs
		in the item description, but leave the GUID the same)

svn path=/trunk/boinc/; revision=22333
2010-09-09 21:37:28 +00:00
David Anderson e0e237d4dc - debug the above. It now successfully displays an
RSS feed of news items from Google,
		linked from a project manager

svn path=/trunk/boinc/; revision=22326
2010-09-08 21:13:14 +00:00
David Anderson ec151ec6a2 - finish the above
svn path=/trunk/boinc/; revision=22325
2010-09-08 20:20:02 +00:00
David Anderson f31e311dd2 - client: support notice feeds from account managers.
Implementation: create a base class PROJ_AM,
    from which both PROJECT and ACCT_MGR_INFO are derived,
    with basic stuff like name, URL, and RSS feed list

svn path=/trunk/boinc/; revision=22324
2010-09-08 18:06:56 +00:00
Charlie Fenton 9d55213996 client: fix problems with exclusive_gpu_app feature
svn path=/trunk/boinc/; revision=22310
2010-08-31 10:35:42 +00:00
David Anderson 3129faa5a5 svn path=/trunk/boinc/; revision=22305 2010-08-28 20:57:46 +00:00