1. 07 Jul, 2013 1 commit
  2. 21 Jun, 2013 1 commit
  3. 16 May, 2013 1 commit
  4. 26 Apr, 2013 1 commit
  5. 07 Apr, 2013 1 commit
    • David Anderson's avatar
      - client: fix bug that could cause idle GPUs when exclusions are present. · 6b6c2ac5
      David Anderson authored
          The basic problem: the way we assign GPU instances when creating
              the "run list" is slightly different from the way we assign them
              when we actually run the jobs;
              the latter assigns a running job to the instance it's using,
              but the former doesn't.
          Solution (kludge): when building the run list,
              don't reserve instances for currently running jobs.
              This will result in more jobs in the run list, and avoid starvation.
              For efficiency, do this only if there are exclusions for this type.
          Comment: this is yet another complexity that would be eliminated
              if GPU instances were modeled separately.
              I wish I had time to do that.
      - client emulator: change default latency bound from 1 day to 10 days
  6. 04 Apr, 2013 1 commit
    • David Anderson's avatar
      - client emulator: parse <max_concurrent> in <app> in client_state.xml. · 330a2589
      David Anderson authored
          This gives you a way to simulate the effects of app_config.xml
      - client: piggyback requests for resources even if we're backed off from them
      - client: change resource backoff logic
          Old: if we requested work and didn't get any,
              back off from resources for which we requested work
          New: for each resource type T:
              if we requested work for T and didn't get any, back off from T
              Also, don't back off if we're already backed off
                  (i.e. if this is a piggyback request)
              Also, only back off if the RPC was due to an automatic
                  and potentially rapid source
                  (namely: work fetch, result report, trickle up)
      - client: fix small work fetch bug
  7. 02 Apr, 2013 1 commit
    • David Anderson's avatar
      - client: major overhaul of work-fetch logic based on suggestions · f6a61fe8
      David Anderson authored
          by Jacob Klein.
          The new policy is roughly as follows:
          - find the highest-priority project P that is allowed
              to fetch work for a resource below buf_min
          - Ask P for work for all resources R below buf_max
              for which it's allowed to fetch work,
              unless there's a higher-priority project allowed
              to request work for R.
          If we're going to do an RPC to P for reasons other than work fetch,
          the policy is:
          - for each resource R for which P is the highest-priority project
              allowed to fetch work, and R is below buf_max,
              request work for R.
  8. 24 Mar, 2013 1 commit
  9. 22 Mar, 2013 1 commit
  10. 15 Mar, 2013 2 commits
  11. 07 Mar, 2013 2 commits
  12. 04 Mar, 2013 1 commit
  13. 01 Mar, 2013 1 commit
    • David Anderson's avatar
      - client: change work fetch policy to avoid starving GPUs in situations where... · 777f1f11
      David Anderson authored
      - client: change work fetch policy to avoid starving GPUs in situations where GPU exclusions are used. - client: fix bug in round-robin simulation when GPU exclusions are used.
      Note: this fixes a major problem (starvation)
          with project-level GPU exclusion.
          However, project-level GPU exclusion interferes with most of
          the client's scheduling policies.
          E.g., round-robin simulation doesn't take GPU exclusion into account,
          and the resulting completion estimates and device shortfalls
          can be wrong by an order of magnitude.
          The only way I can see to fix this would be to model each
          GPU instance as a separate resource,
          and to associate each job with a particular GPU instance.
          This would be a sweeping change in both client and server.
  14. 20 Aug, 2012 1 commit
    • David Anderson's avatar
      - client: take GPU exclusions into account when making · 446bc4ca
      David Anderson authored
          initial work request to a project
      - client: put some casts to double in NVIDIA detect code.
          Shouldn't make any difference.
      - volunteer storage: truncate file to right size after retrieval
      svn path=/trunk/boinc/; revision=26051
  15. 18 Aug, 2012 1 commit
  16. 10 Aug, 2012 1 commit
    • David Anderson's avatar
      - client: when we're making a scheduler RPC · ff1a391c
      David Anderson authored
          for a reason other than work fetch,
          and we're deciding whether to piggyback a work request,
          skip the checks for hysteresis (buffer < min)
          and for per-resource backoff time.
          These checks are there only to limit the rate of RPCs,
          which is not relevant since we're doing one any.
          This fixes a bug where a project w/ sporadic jobs specifies
          a next_rpc_delay to ensure regular polling from clients.
          When these polls occur they should request work regardless of backoff.
      svn path=/trunk/boinc/; revision=26002
  17. 02 Jul, 2012 4 commits
  18. 12 Mar, 2012 1 commit
  19. 02 Mar, 2012 1 commit
  20. 18 Feb, 2012 1 commit
    • David Anderson's avatar
      - client: tweak to work-fetch policy: · a6bf5aec
      David Anderson authored
          if we're making a scheduler RPC to a project for reasons
          other than work fetch,
          and we're deciding whether to ask for work, ignore hysteresis;
          i.e. ask for work even if we're above the min buffer
          (idea from John McLeod).
      svn path=/trunk/boinc/; revision=25291
  21. 06 Dec, 2011 2 commits
    • David Anderson's avatar
      - client: compile fix; remove redundant total_peak_flops() · 69834e0c
      David Anderson authored
      svn path=/trunk/boinc/; revision=24738
    • David Anderson's avatar
      - client: when contacting a project for reasons other than · bc350607
      David Anderson authored
          work fetch (e.g. to report completed jobs)
          only request work if it's the project we would have chosen
          if we were fetching work.
      - client: the way in which project priorities were adjusted
          in work fetch to reflected currently queued work was wrong.
      - client: fix bug in the way project priorities are adjusted
          in RR simulator
      - client emulator: if there are results in the state file
          with states DOWNLOADING or UPLOADING,
          change them to DOWNLOADED or UPLOADED.
          Otherwise they're stuck.
      svn path=/trunk/boinc/; revision=24737
  22. 22 Nov, 2011 1 commit
  23. 24 Oct, 2011 1 commit
    • David Anderson's avatar
      - client: reimplement the round-robin simulator to · 7b282150
      David Anderson authored
          reduce its runtime from O(N^2) to O(N),
          where N is the number of runnable jobs
          (which can be in the thousands).
          This will make the client emulator run a lot faster,
          and will reduce the client CPU overhead a bit.
      - API: change boinc_get_opencl_ids() so that it returns
          a BOINC error code (< -100) if the app_init.xml is
          missing or bad (i.e. we're running standalone),
          and an OpenCL error code (> -100) if an OpenCL call failed.
      svn path=/trunk/boinc/; revision=24469
  24. 19 Oct, 2011 1 commit
    • David Anderson's avatar
      - client: change the way project priorities are computed, · b95ac02c
      David Anderson authored
          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
  25. 13 Sep, 2011 1 commit
  26. 12 Sep, 2011 2 commits
  27. 09 Aug, 2011 1 commit
  28. 29 Jul, 2011 1 commit
    • David Anderson's avatar
      - remote job submission: bug fix and tweaks · 5b159c67
      David Anderson authored
      - client: cc_config.xml: if <devnum> is omitted from a <exclude_gpu>,
          it means exclude all instances of that GPU type
      - client: if all instances of a GPU type are excluded for a project,
          don't ask the project for jobs of that type
      svn path=/trunk/boinc/; revision=23898
  29. 13 Jul, 2011 1 commit
    • David Anderson's avatar
      - client, work fetch policy: · 8ca24cbb
      David Anderson authored
          adjust project REC by the amount of work queued, to increase variety
          NOTE: at some point I think I had a reason to not do this,
          but I can't remember what it is.
      - client, job scheduling policy: fix how project REC is adjusted
      svn path=/trunk/boinc/; revision=23838
  30. 11 Jul, 2011 1 commit
  31. 25 Mar, 2011 1 commit
    • David Anderson's avatar
      - client: generalize the GPU framework so that · 3b906a19
      David Anderson authored
      		- 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
      		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
      		(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
  32. 19 Jan, 2011 1 commit
  33. 17 Jan, 2011 1 commit
    • Rom Walton's avatar
      - client: use std::deque instead of std::vector · bb72c48e
      Rom Walton authored
              for RR sim's pending-job lists.
              Erasing head of vector is slow.
          - client: in RR sim, make sure we saturate devices if possible.
              Otherwise we may report a shortfall incorrectly
              rr_sim.cpp, .h
      svn path=/branches/boinc_core_release_6_12/; revision=22909