Commit Graph

34 Commits

Author SHA1 Message Date
David Anderson b95ac02c5b - client: change the way project priorities are computed,
so that they do what they're supposed to
    (i.e. enforce resource shares)
- client: change log flag <debt_debug> to <priority_debug>
- client simulator: update REC even with large delta-t.
- client simulator: handle "no new work" apps correctly


svn path=/trunk/boinc/; revision=24429
2011-10-19 06:37:03 +00: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 7e41a84c16 - add boinc_opencl.h to set of installed headers
- emulator tweaks

svn path=/trunk/boinc/; revision=24407
2011-10-17 17:02:05 +00:00
David Anderson 289bd16269 - client emulator fixes
svn path=/trunk/boinc/; revision=24024
2011-08-22 15:07:59 +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 f3169fb77a - client: initial, partial checkin for hysteresis work-fetch
svn path=/trunk/boinc/; revision=22853
2010-12-23 23:39:30 +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 864ee7e3a3 - scheduler: in some cases the system may have a too-low estimate
of the performance of an app version on a host.
    It will then stop using that app version,
    so the estimate never has a chance to converge to its correct value.
    Fix: multiply by a random factor (mean 1, stddev .1)
    when comparing the FLOPS estimates of app versions.

svn path=/trunk/boinc/; revision=22837
2010-12-09 00:32:50 +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 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 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 e26c7ada92 compile fixes
svn path=/trunk/boinc/; revision=22089
2010-08-01 06:09:33 +00:00
David Anderson 09360b0767 svn path=/trunk/boinc/; revision=22085 2010-07-31 17:40:18 +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 7db608660f - client: standardize debug messages.
Messages enabled by <foo_debug> are prefixed by "[foo]"


svn path=/trunk/boinc/; revision=21335
2010-04-29 20:32:51 +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 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 e8f230b4a3 - API: fix crashing bug. There was a leftover memset(aid, 0)
in boinc_parse_init_data_file()
- client sim: make it work again

svn path=/trunk/boinc/; revision=20199
2010-01-19 18:43:17 +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 563a55f37e - client/libs/samples: remove "#define read _read" etc. from boinc_win.h
These cause problems when "read" is a member name, etc.
		Do these #defines, conditioned on _MSC_VER,
		in the files that actually need them.
	- don't include boinc_win.h from parse.h.
		principle of minimal inclusion

svn path=/trunk/boinc/; revision=18902
2009-08-22 17:00:19 +00:00
David Anderson 114ba8111d compile fixes
svn path=/trunk/boinc/; revision=18589
2009-07-08 22:49:30 +00:00
David Anderson 13c647ece8 - fix client simulator
- web: if DB server down, say so


svn path=/trunk/boinc/; revision=18554
2009-07-06 16:33:02 +00:00
David Anderson 0b3ce504ff - Win: compile fixes
svn path=/trunk/boinc/; revision=18439
2009-06-16 21:58:38 +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 575565dc22 - client: fixed nasty bug that caused GPU jobs to crash on startup
when they're preempting another GPU job.
        The problem was as follows:
        - job A is chosen to preempt job B
        - we tell job B to quit, and initialize job A but don't start it;
            however, we set if scheduler state to SCHEDULED
            (rather than UNINITIALIZED)
        - job B exits, and we start job A.
            Since its state is not UNITIALIZED, we don't set up its slot dir.
        - job A runs in an empty slot dir, doesn't find its files, and bombs out.
    - client: add <slot_debug> option (prints messages about
        allocation of slots, creating/removing files in slot dirs).

svn path=/trunk/boinc/; revision=18217
2009-05-28 19:26:27 +00:00
Rom Walton a0de192e63 - WINBUILD: Update Project files for new layout.
win_build/
        boinc_cli_curl.vcproj
        boinc_dll.vcproj
        boinc_setup.vdproj (Deleted)
        boinc_setup_auto.vdproj (Deleted)
        boinc_ss.vcproj
        boinccmd.vcproj
        boincmgr_curl.vcproj
        boincsvcctrl.vcproj
        boinctray.vcproj
        gr_boinc_cli_curl.vcproj (Deleted)
        gr_boinc_dll.vcproj (Deleted)
        gr_boinc_ss.vcproj (Deleted)
        gr_boinccmd.vcproj (Deleted)
        gr_boincmgr_curl.vcproj (Deleted)
        GridRepublic.sln (Deleted)
        libboinc.vcproj
        libboinc_staticcrt.vcproj
        sim.vcproj
        ss_app.vcproj
        updater.vcproj

svn path=/trunk/boinc/; revision=17853
2009-04-21 21:08:30 +00:00
David Anderson fc94fa86b2 small fixes
svn path=/trunk/boinc/; revision=17403
2009-02-26 22:04:53 +00:00
David Anderson 2860574fa5 compile fixes and debug message fixes
svn path=/trunk/boinc/; revision=16836
2009-01-08 00:20:04 +00:00
David Anderson 72937e5c4f win compile fixes
svn path=/trunk/boinc/; revision=16756
2008-12-31 23:30:38 +00:00
David Anderson 79fb6e969e - Remove the notion of "CPU efficiency" from both client and server.
This wasn't being measured correctly for coproc/multithread apps,
    and its effect is now subsumed in DCF.

svn path=/trunk/boinc/; revision=16610
2008-12-03 19:50:06 +00:00
David Anderson 98cfb8d3b0 - rename .C files to .cpp so that Doxygen will work
svn path=/trunk/boinc/; revision=16069
2008-09-26 18:20:24 +00:00