Commit Graph

84 Commits

Author SHA1 Message Date
David Anderson 219a540550 client: get rid of the use of memset() to initialize structs to zero.
Instead: declare a static const instance (whose data members are zero)
and copy that.
This avoid the error-prone need to assign each member,
and it works even if there are virtual function tables.
2019-11-05 00:16:02 -08:00
David Anderson 13a5b9bf3e change multiple-inclusion guard names to BOINC_FILENAME_H 2017-04-07 23:54:49 -07:00
David Anderson 89c9e49bc6 - client emulator: implement project availability feature 2013-03-22 10:31:43 +01:00
David Anderson 1d38837788 - client: call xp.skip_unexpected() if get unexpected tag,
to avoid showing multiple error messages
- client simulator: bug fixes and tweaks


svn path=/trunk/boinc/; revision=24408
2011-10-17 20:46:06 +00:00
David Anderson 652b468459 - client simulator: add --existing_jobs_only option.
This simulates just the jobs in the state file,
    rather than simulating an infinite stream of jobs
    modeled after the ones in the state file.


svn path=/trunk/boinc/; revision=24293
2011-09-26 04:28:42 +00:00
David Anderson 4bf163581d - client simulator stuff
svn path=/trunk/boinc/; revision=23239
2011-03-15 19:16:13 +00:00
David Anderson 41d71c7197 - client simulator: add client availability logic
svn path=/trunk/boinc/; revision=22851
2010-12-22 18:59:07 +00:00
David Anderson 3a9549979e - client: tweak to ATI CPU recognition
from [P3D] Crashtest

svn path=/trunk/boinc/; revision=22845
2010-12-18 17:09:57 +00:00
David Anderson 6478b3e05d - client: implement more scheduler changes that use
recent estimated credit (REC) instead of debt.
    These changes are enabled by
        #define USE_REC
    in work_fetch.h.
    If this is commented out (the default) the client uses
    debt-based scheduling, same as before.
    TODO: work-fetch policy changes
- client simulator: various fixes:
    - compute idle and wasted fraction based on all processing resources,
        not just CPU
    - compute job completion times based on FLOPS, not CPU seconds
    - compute and use project->no_X_apps
    etc.


svn path=/trunk/boinc/; revision=22741
2010-11-23 19:39:47 +00:00
David Anderson 3de15a592d - client simulator: various fixes
svn path=/trunk/boinc/; revision=22555
2010-10-19 15:48:33 +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 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 5bf61738c4 - client simulator: bug fixes
svn path=/trunk/boinc/; revision=22464
2010-10-06 22:56: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 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 fdf15fb3af - client: maintain "gpu_active_frac" in addition to "active_frac"
(which really means CPU active)

svn path=/trunk/boinc/; revision=22283
2010-08-23 05:00:22 +00:00
David Anderson 0c948a656a - client: init gstate.now early so that initial msgs have timestamps
- lib: fix the above

svn path=/trunk/boinc/; revision=22012
2010-07-20 04:19:22 +00:00
David Anderson 673d44ad0d - client: fix bug with --abort_jobs_on_exit that caused the client
to request new work on exit
- client: change "unparsed tag" to "unrecognized tag" in msgs
- client: get rid of unused var work_fetch_no_new_work

svn path=/trunk/boinc/; revision=22000
2010-07-19 16:44:43 +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 4708edf036 - client simulator: fix build
- code cleanup: removed include of client/cpp.h from lib/msg_log.cpp.
    Stuff in lib/ should NOT include stuff from client/.

svn path=/trunk/boinc/; revision=21566
2010-05-18 20:07:01 +00:00
David Anderson 40eebe00af - client/scheduler: in COPROCS, instead of having a vector of
pointers to dynamically allocated COPROC-derived objects,
    just have the objects themselves.
    Dynamic allocation should be avoided at all costs.

svn path=/trunk/boinc/; revision=21564
2010-05-18 19:22:34 +00:00
David Anderson 2a39bf3da0 - client: network bandwidth total was counting 1 day too many
- client simulator: start GPU support

svn path=/trunk/boinc/; revision=21311
2010-04-28 16:22:06 +00:00
David Anderson 7a4edbafab - client: "allow_remote_gui_rpc" is available via cc_config.xml
as well as command-line.
- client: show allow_remote_gui_rpc option,
    and contents of remote_host.cfg, in message log on startup
- client: code cleanup: move some options from
    CLIENT_STATE to OPTIONS

svn path=/trunk/boinc/; revision=21142
2010-04-07 21:11:15 +00:00
David Anderson b5124fe729 - client: brute-force attempt at eliminating domino-effect preemption:
if job A is unstarted and EDF,
    and there's a job B that is later in the list,
    is started, has the same app version,
    and has the same arrival time,
    move A after B.
- client: remove the "temp_dcf" mechanism,
    which had the same goal but didn't work.
- client: in computing overall debt for a project,
    subtract a term that reflects pending work.
    This should reduce repeated fetches from the same project.
- client simulator: tweaks

svn path=/trunk/boinc/; revision=20223
2010-01-21 00:14:56 +00:00
David Anderson d6b6f8d5db - client (Mac): append /usr/local/cuda/lib to LD_LIBRARY_PATH
and DYLD_LIBRARY_PATH
- client simulator: compile fixes

svn path=/trunk/boinc/; revision=20117
2010-01-09 16:41:17 +00:00
David Anderson 9f50df7e3e - win compile fixes
svn path=/trunk/boinc/; revision=19989
2009-12-19 17:21:37 +00:00
David Anderson 5ff3c7e4c9 svn path=/trunk/boinc/; revision=19796 2009-12-07 00:53:32 +00:00
David Anderson 09759104f4 compile fixes, message tweaks
svn path=/trunk/boinc/; revision=19778
2009-12-03 23:27:32 +00:00
David Anderson ba3c7f0f7b svn path=/trunk/boinc/; revision=19763 2009-12-02 04:47:42 +00:00
David Anderson f54c37ca75 svn path=/trunk/boinc/; revision=18854 2009-08-17 21:20:23 +00:00
David Anderson b0638a923b build fix
svn path=/trunk/boinc/; revision=18064
2009-05-10 04:42:47 +00:00
David Anderson 8e9ef18c8a svn path=/trunk/boinc/; revision=17766 2009-04-09 17:26:41 +00:00
David Anderson fb1187e398 svn path=/trunk/boinc/; revision=17501 2009-03-04 22:07:16 +00:00
David Anderson fc94fa86b2 small fixes
svn path=/trunk/boinc/; revision=17403
2009-02-26 22:04:53 +00:00
David Anderson f7f2f85b79 - client: if a project is at max backoff for a resource,
stop accumulating debt if it's at or around zero.
        This prevents other projects from being driven unboundedly negative.
    - client: if the number of overworked projects exceeds the number
        of device instances, clear debts; this indicates that an earlier
        client was buggy and produced bad debt values.

svn path=/trunk/boinc/; revision=17325
2009-02-20 18:37:27 +00:00
David Anderson 442a54b30c compile fixes
svn path=/trunk/boinc/; revision=17301
2009-02-18 21:21:12 +00:00
David Anderson f29dea8e02 - client: bug fix for GPU pref
svn path=/trunk/boinc/; revision=17247
2009-02-12 19:34:27 +00:00
David Anderson 515de57e76 - screensaver: flesh out new SS a bit
svn path=/trunk/boinc/; revision=17162
2009-02-06 00:29:00 +00:00
David Anderson f9004c3929 compile fixes
svn path=/trunk/boinc/; revision=17020
2009-01-26 17:57:26 +00:00
David Anderson 132cc6bba3 - client: debugging CUDA-related stuff
- client: if reset a project, clear its overall and per-resource backoffs

svn path=/trunk/boinc/; revision=16862
2009-01-10 00:48:22 +00:00
David Anderson 8c591e31df - client: first whack at new work-fetch logic. Very preliminary.
svn path=/trunk/boinc/; revision=16754
2008-12-31 23:07:59 +00:00
David Anderson 2dc7056ee0 - client: code shuffling
- scheduler: fix typo in msg

svn path=/trunk/boinc/; revision=16750
2008-12-30 19:01:25 +00:00
David Anderson cd4ca5fb17 - client: fix calculation of a job's FLOPS rate in round-robin simulation
svn path=/trunk/boinc/; revision=16662
2008-12-09 20:01:01 +00:00
David Anderson 51c993542e - client: cleaned up CPU scheduler logic somewhat
svn path=/trunk/boinc/; revision=16356
2008-10-29 22:13:04 +00:00
David Anderson 508d179a61 compile fix
svn path=/trunk/boinc/; revision=16344
2008-10-29 00:00:01 +00:00
David Anderson c2ebbd899d win compile
svn path=/trunk/boinc/; revision=16339
2008-10-28 22:10:09 +00:00
David Anderson 89e6131dec compile fix
svn path=/trunk/boinc/; revision=16179
2008-10-09 22:58:28 +00:00
David Anderson 87d55ac90f - added copyright and license info to some C files
svn path=/trunk/boinc/; revision=15759
2008-08-05 22:52:17 +00:00
David Anderson 5b92f66bf9 - client: finish and debug coprocessor support
- manager and GUI RPC: show plan class in app version string

svn path=/trunk/boinc/; revision=14994
2008-04-01 20:46:41 +00:00
David Anderson a55712dde0 compile fixes
svn path=/trunk/boinc/; revision=14967
2008-03-27 18:35:57 +00:00