1. 27 Nov, 2009 1 commit
  2. 09 Nov, 2009 1 commit
    • David Anderson's avatar
      - client: the checkin of 15 Oct related to multi-thread apps · 609872ed
      David Anderson authored
              didn't work due to a typo.
          - client: if <ncpus> is present in cc_config.xml,
              we're supposed to act as if there were that many physical CPUs.
              In particular, we need to set host_info.p_ncpus to that value,
              since that's what is reported in scheduler requests.
      svn path=/trunk/boinc/; revision=19522
  3. 05 Nov, 2009 1 commit
  4. 14 Oct, 2009 1 commit
  5. 03 Oct, 2009 1 commit
  6. 02 Oct, 2009 1 commit
    • David Anderson's avatar
      - client: better behavior if a GPU goes away: · 833f417a
      David Anderson authored
          1) if an APP_VERSION is missing a coprocessor,
              don't delete it and its files.
              (If the coprocessor returns, we won't need to re-download)
          2) if a RESULT uses an app version that is missing a coprocessor,
              abort it (rather than deleting it).
              The client will report the result on the next scheduler RPC,
              and the server will make a new instance.
      svn path=/trunk/boinc/; revision=19235
  7. 16 Sep, 2009 1 commit
    • David Anderson's avatar
      - client and scheduler RPC: add optional <cpu_backoff>, <cuda_backoff>, · 41e3b06b
      David Anderson authored
          and <ati_backoff> elements to scheduler reply.
          These specify backoffs for the resource types,
          overriding the existing backoff mechanism.
          Projects can supply these if they don't have apps of a particular type
          and don't want to get periodic requests for them.
      svn path=/trunk/boinc/; revision=19059
  8. 10 Sep, 2009 1 commit
  9. 03 Sep, 2009 1 commit
  10. 02 Sep, 2009 1 commit
  11. 31 Aug, 2009 1 commit
  12. 19 Aug, 2009 1 commit
    • David Anderson's avatar
      - client and scheduler: lay the groundwork for "fractional coproc jobs", · 073e6ded
      David Anderson authored
          e.g. the Milkyway@home ATI app, of which we can typically run
          2 or 3 instances at once on a GPU.
          Changes include:
          - In APP_VERSION, don't use a COPROCS to represent the GPU
              requirements; just use doubles ncudas and natis.
          - sufficient_coprocs() etc. are no longer members of COPROCS
          - in HOST_USAGE, ncudas and natis are doubles
          - in scheduler request, req_instances is now a double
          This checkin doesn't include the job scheduling logic,
          i.e. assigning jobs to GPUs.  That will follow.
      svn path=/trunk/boinc/; revision=18868
  13. 17 Aug, 2009 1 commit
  14. 17 Jul, 2009 1 commit
    • David Anderson's avatar
      - client: 2nd try on my last checkin. · 57531539
      David Anderson authored
          We need to estimate 2 different delays for each resource type:
          1) "saturated time": the time the resource will be fully utilized
              (new name for the old "estimated delay").
              This is used to compute work requests.
          2) "busy time": the time a new job would have to wait
              to start using this resource.
              This is passed to the scheduler and used for a crude deadline check.
              Note: this is ill-defined; a single number doesn't suffice.
              But as a very rough estimate, I'll use the sum of
                  (J.duration * J.ninstances)/ninstances
              over all jobs that miss their deadline under RR sim.
      svn path=/trunk/boinc/; revision=18629
  15. 30 Jun, 2009 1 commit
  16. 16 Jun, 2009 1 commit
  17. 03 Jun, 2009 1 commit
  18. 02 Jun, 2009 2 commits
  19. 31 May, 2009 1 commit
  20. 15 Apr, 2009 1 commit
    • David Anderson's avatar
      - client: eliminate the need to write the state file on each checkpoint. · af93af28
      David Anderson authored
      		Instead, write the info into a file in the slot directory,
      		and check for these files on startup.
      		This should reduce the overhead of state-file writing
      		on machines with lots of cores.
      		There will still be a flurry of writes each time a job finishes,
      		but reducing that overhead would be a larger job.
      	- client: make sure we write the state file after a failed RPC
      svn path=/trunk/boinc/; revision=17814
  21. 01 Apr, 2009 1 commit
  22. 26 Mar, 2009 1 commit
  23. 23 Mar, 2009 1 commit
  24. 11 Mar, 2009 1 commit
    • David Anderson's avatar
      - Manager: show elapsed time instead of CPU time in Task tab. · dfc62d89
      David Anderson authored
          CPU time is visible in task Properties.
      - Manager: in task Properties, show final CPU and elapsed times
          if job is finished
      - client: honor backoff for account-manager-requested scheduler RPCs
      - client: keep track final elapsed time for results
      - GUI RPC: report final elapsed time
      svn path=/trunk/boinc/; revision=17588
  25. 10 Mar, 2009 1 commit
  26. 05 Mar, 2009 1 commit
  27. 04 Mar, 2009 2 commits
  28. 27 Feb, 2009 1 commit
    • David Anderson's avatar
      - client: fix bug that could cause scheduler RPC · fd5fc4a2
      David Anderson authored
          to ask for work inappropriately,
          and tell user that it wasn't asking for work.
          Here's what was going on:
          There are two different structures with work request fields
          (req_secs, req_instances, estimated_delay):
          COPROC_CUDA *coproc_cuda
          RSC_WORK_FETCH cuda_work_fetch.
          WORK_FETCH::choose_project() copied from cuda_work_fetch to coproc_cuda,
          but only if a project was selected.
          WORK_FETCH::clear_request() clears cuda_work_fetch but not coproc_cuda.
          - a scheduler op is made to project A requesting X>0 secs of CUDA
          - later, a scheduler op is made to project B for reason
              other than work fetch (e.g., user request)
          - choose_project() doesn't choose anything,
              so the value of coproc_cuda->req_secs remains X
          - clear_request() is called but that doesn't change *coproc_cuda
          Solution: work-fetch code no longer knows about internals of
              COPROC_CUDA and is not responsible for settings its request fields.
              The copying of request fields from RSC_WORK_FETCH to COPROC
              is done at a higher level,
              in CLIENT_STATE::make_scheduler_request()
          Additional bug fix: estimated_delay wasn't being cleared in some cases.
      svn path=/trunk/boinc/; revision=17411
  29. 26 Feb, 2009 4 commits
    • David Anderson's avatar
      - client: shuffle the startup code to avoid showing wrong prefs info · 97b82d46
      David Anderson authored
          on first-time startup.
      - client: don't do an RPC until we've done CPU benchmarks.
          We need the benchmark values to fill in app_version.flops
      svn path=/trunk/boinc/; revision=17404
    • David Anderson's avatar
      - client: tag messages with project where possible; fixes #852 · 41fe3e40
      David Anderson authored
      - client: show fetch share rather than run share in wfd message
      svn path=/trunk/boinc/; revision=17398
    • David Anderson's avatar
      - client: make timeout values into #defines · 31e71277
      David Anderson authored
      svn path=/trunk/boinc/; revision=17396
    • Eric J. Korpela's avatar
      · 8f3abcc8
      Eric J. Korpela authored
          - Added checks for net/*.h, arpa/*.h, netinet/*.h and code to figure out
            which of those files to include
          - Modified MAC address check to work on some non-Linux unixes.
          - Added suggested change to "already attached to project" checking.
          - changed includes of standard c header files to their c++ equivalents
            (i.e. replaced <stdio.h> with <cstdio>) for namespace protection.
          - replaced "using namespace std;" with more explicit "using std::function" in
            several files.
          - Fixed bug in checking whether the os is OS/2 and added conditional OS_OS2
            to the build environment. (boinc_platform.m4,configure.ac)
          - Changed build environment to not use -nostandardlibs unless we are using
            G++ and static linkage is specified. (configure.ac)
          - Added makefiles and package building files for solaris CSW package manager.
          - Fixed bug with attempting to find login name using logname. (configure.ac)
          - Added ifdef HAVE_* protection around some include files commonly found in
          - Added support for unified binary for x86_64/i686-pc-solaris.
          - generate_host_cpid() now uses MAC address on non-linux unix.
          - Macro BOINC_SET_COMPILE_FLAGS now doesn't check gcc only flags on non-gcc
            compilers. (boinc_set_compile_flags.m4)
          - Library compiles no longer depend upon the library extension or require
            the library to be prefixed with lib.
          - More fixes for fcgi builds.
          - Added declaration of "struct ether_addr" and ether_ntoa().  Have not yet
            implemented ether_ntoa() for machines that don't have it, or where it is
            buggy.  (unix_util.h)
          - Added FCGI::perror() which calls FCGI_perror(). (boinc_fcgi.{h,cpp})
          - Fixed library Makefiles so that all required headers get installed.
      svn path=/trunk/boinc/; revision=17388
  30. 23 Feb, 2009 1 commit
  31. 19 Feb, 2009 1 commit
  32. 18 Feb, 2009 1 commit
    • David Anderson's avatar
      - client: adjust debts at least every minute. · 3e98909a
      David Anderson authored
          This fixes a bug that can cause debts to NEVER get updated.
      - client: added "abort_jobs_on_exit" feature
          (available by --abort_jobs_on_exit cmdline
          or <abort_jobs_on_exit> in cc_config.xml).
          If set, when the client is exited by user request
          (this includes signals on Unix)
          it marks all pending jobs as aborted,
          and does a scheduler RPC to all projects with jobs.
          When these are completed the client exits.
          This is useful when BOINC is being used on grids
          where it is wiped clean after each run.
      svn path=/trunk/boinc/; revision=17300
  33. 10 Feb, 2009 2 commits
  34. 09 Feb, 2009 1 commit