Commit Graph

139 Commits

Author SHA1 Message Date
David Anderson 2fcd2cb7d5 - lib/filesys: do timed retry of delete/rename on Unix as well as Win
- client: sleep 1 sec (not 60) before retry statefile write
- client: parse <credit> in workunit XML
- scheduler: better error messages if insert_wu_tags() fails

api/
    graphics2_unix.C
client/
    client_state.C
    client_types.C
lib/
    filesys.C
sched/
    sched_send.C

svn path=/trunk/boinc/; revision=12720
2007-05-23 03:55:53 +00:00
David Anderson 087aa84915 - scheduler: fix bug that caused crash in anonymous platform case;
don't send result platform or version num if anon platform.
- back end: parse server status-related config elements
    (wwww_host etc.) to avoid XML warnings

sched/
    sched_config.C
    sched_send.C
    server_types.C

svn path=/trunk/boinc/; revision=12701
2007-05-21 14:49:00 +00:00
David Anderson 01f4851323 - scheduler: add max_wus_in_progress option.
Limits total # of in-progress results per host
    (independently of #CPUs)

sched/
    sched_config.C,h
    sched_resend.C
    sched_send.C
    server_types.h


svn path=/trunk/boinc/; revision=12661
2007-05-14 15:21:38 +00:00
David Anderson 0daa5a8802 - translation.inc: backed out change of 7 May;
we need to use " to expand $PROJECT var
- scheduler:
    take work_buf_min into account in deciding whether
    a result will be reported by its deadline.
- all back end programs:
    better error message if can't parse config file

html/inc/
    translation.inc
sched/
    *.C

svn path=/trunk/boinc/; revision=12652
2007-05-11 16:30:13 +00:00
David Anderson a37403a673 - scheduler: add <workload_sim> config option.
If set, the scheduler will use EDF simulation,
    together with the in-progress workload reported by the client,
    to avoid sending results that
    1) will miss their deadline, or
    2) will cause an in-progress result to miss its deadline, or
    3) will make an in-progress result miss its deadline
        by more than is already predicted.
    If this option is not set, or if the client request doesn't
    include a workload description (i.e. the client is old)
    use the existing approach, which assumes there's no workload.
    NOTE: this is experimental.  Production projects should not use it.
- EDF sim: write debug stuff to stderr instead of stdout
- Account manager:
    - if an account is detach_when_done, set dont_request_more_work
    - check done_request_more_work even for first-time projects
- update_uotd: generate a file for use by Google gadget
- user_links(): use full URLs (so can use in Google gadget)

client/
    acct_mgr.C
    work_fetch.C
html/
    inc/
        uotd.inc
        util.inc
    user/
        uotd_gadget.php (new)
sched/
    Makefile.am
    edf_sim.C
    sched_config.C,h
    sched_resend.C
    sched_send.C,h
    server_types.C,h

svn path=/trunk/boinc/; revision=12639
2007-05-10 21:50:52 +00:00
David Anderson 78807f659c - scheduler: slight code cleanup prior to adding EDF stuff
languages/translations/
    en.po
sched/
    sched_send.C
    server_types.h

svn path=/trunk/boinc/; revision=12631
2007-05-09 17:45:18 +00:00
David Anderson 7ecdc2f44e - Scheduler: in reply, add <platform> element to each <app_version,
and add <platform> and <version_num> elements to <result>
        (server half of multi-version changes)
    - scheduler: make ssp a global; could eliminate from args everywhere

    db/
        boinc_db.h
    sched/
        feeder.C
        main.C,h
        sched_send.C
        sched_shmem.C,h
        server_types.C

svn path=/trunk/boinc/; revision=12535
2007-05-02 23:14:00 +00:00
David Anderson 2e7b82b631 - scheduler: added (correct this time!) support for
<alt_platform> tags in scheduler requests.
    - file_deleter: add check for -dont_delete_batches 

    sched/
        file_deleter.C
        handle_request.C
        sched_array.C,h
        sched_locality.C,h
        sched_resend.C,h
        sched_send.C,h
        server_types.h

svn path=/trunk/boinc/; revision=12512
2007-04-30 21:19:24 +00:00
David Anderson 75a2b2c55b *** empty log message ***
svn path=/trunk/boinc/; revision=12322
2007-04-05 17:02:01 +00:00
David Anderson 81effa6a7b *** empty log message ***
svn path=/trunk/boinc/; revision=12127
2007-02-21 16:26:51 +00:00
David Anderson e980ba94af *** empty log message ***
svn path=/trunk/boinc/; revision=12096
2007-02-15 21:11:05 +00:00
David Anderson 7767ca1eb8 *** empty log message ***
svn path=/trunk/boinc/; revision=11492
2006-11-07 17:40:55 +00:00
David Anderson 60e224aa18 *** empty log message ***
svn path=/trunk/boinc/; revision=11472
2006-11-05 00:15:10 +00:00
David Anderson 7918111de2 *** empty log message ***
svn path=/trunk/boinc/; revision=11356
2006-10-25 21:15:08 +00:00
David Anderson e12f6efa55 *** empty log message ***
svn path=/trunk/boinc/; revision=11340
2006-10-23 14:08:20 +00:00
David Anderson 190f7d177a *** empty log message ***
svn path=/trunk/boinc/; revision=11337
2006-10-22 01:46:33 +00:00
David Anderson c98a2415af *** empty log message ***
svn path=/trunk/boinc/; revision=11336
2006-10-22 00:42:44 +00:00
David Anderson d5fd6240e7 *** empty log message ***
svn path=/trunk/boinc/; revision=11253
2006-10-06 18:52:50 +00:00
David Anderson 6835cdac20 *** empty log message ***
svn path=/trunk/boinc/; revision=11244
2006-10-04 17:01:36 +00:00
David Anderson cc5c1189c0 *** empty log message ***
svn path=/trunk/boinc/; revision=10623
2006-07-11 21:56:53 +00:00
David Anderson b9b5d0ed48 *** empty log message ***
svn path=/trunk/boinc/; revision=10622
2006-07-11 21:49:20 +00:00
David Anderson f6a01ea730 *** empty log message ***
svn path=/trunk/boinc/; revision=10084
2006-05-02 22:33:00 +00:00
David Anderson 2e7b35b9ec feeder/scheduler enhancements
svn path=/trunk/boinc/; revision=10083
2006-05-02 22:17:09 +00:00
Bruce Allen 56d1fe36d4 Adding some logging for scheduler fixes from yesterday: log specific
message saying when a result is unavilable because aonther scheduler
instance grabbed it from under our hands.

svn path=/trunk/boinc/; revision=9678
2006-03-17 14:31:25 +00:00
David Anderson 1b3e1fe484 scheduler race condition
svn path=/trunk/boinc/; revision=9666
2006-03-17 04:47:51 +00:00
Bruce Allen b87eed0dd0 [From Walt Gribben]
Cleanup of parameters that define disk free space requirements.
Previously these were spread around in different places.  Now
these are defined by some config.xml options that are used by
PHP pages and by the scheduler code.  See a description in
doc/configuration.php.

svn path=/trunk/boinc/; revision=9081
2005-12-17 04:53:48 +00:00
David Anderson 413c161c36 *** empty log message ***
svn path=/trunk/boinc/; revision=9012
2005-11-30 22:52:23 +00:00
Bruce Allen 8af54553ec Bug fix (from Walt Gribben). Don't allow the min free space
preference to be less than 1MB.

svn path=/trunk/boinc/; revision=8981
2005-11-29 06:34:48 +00:00
Bruce Allen 562a8a3ea0 Typo
svn path=/trunk/boinc/; revision=8955
2005-11-26 12:39:37 +00:00
Bruce Allen 7f2d5cfa06 Sched fix from Walt Gribben: have scheduler defaults for disk
space prefs agree with web page.  Bruce's note: this may require
further fixes for two cases.  First, if the project prefs are
not the same as BOINC defaults.  Second, if the user doesn't want
BOINC to leave any disk space free and on their web preference page
sets 'leave X bytes free' to zero, then this patch will assume they
mean 100MB.  But I'm still applying the patch 'cause Walt says that
this is keeping lots of new users from getting work.

svn path=/trunk/boinc/; revision=8954
2005-11-26 12:35:28 +00:00
Eric J. Korpela d9ee426071 Added explicit includes of "config.h" in many files to enable use of compilers
without a -include command line option.

svn path=/trunk/boinc/; revision=8896
2005-11-21 18:34:44 +00:00
David Anderson 7114c0459f *** empty log message ***
svn path=/trunk/boinc/; revision=8613
2005-10-10 03:21:52 +00:00
David Anderson 4bc558ffc8 disk usage fixes
svn path=/trunk/boinc/; revision=8442
2005-10-04 21:44:58 +00:00
David Anderson 941d7e21d8 fix DEBUG symbol collision
svn path=/trunk/boinc/; revision=8189
2005-09-26 23:28:48 +00:00
Bruce Allen 5a931c2612 Scheduler: when host does not have enough memory, message to this effect
now contains information about how many more bytes of memory are needed.

svn path=/trunk/boinc/; revision=8034
2005-09-16 10:15:31 +00:00
Bruce Allen a6bf4fc4d3 - Backend: To prevent possible namespace confusion in the future, changed the
name of elapsed_time() to elapsed_wallclock_time().
- Backend logging statements on exit() which echo elapsed run time to logs now
      do this with much higher printed precision.
- Backend logging, separate scheduler requests with an almost blank line

svn path=/trunk/boinc/; revision=8027
2005-09-15 15:07:41 +00:00
Bruce Allen 266fd12617 Scheduler: when resending 'lost' or 'ghost' WU, don't count this against
the daily result quota for the host.

svn path=/trunk/boinc/; revision=7983
2005-09-12 23:49:16 +00:00
David Anderson 9898cdd8e3 split up scheduler code
svn path=/trunk/boinc/; revision=7171
2005-08-04 03:50:04 +00:00
David Anderson 6fa5d3f7e2 replace wait3(), wait4() with waitpid()
svn path=/trunk/boinc/; revision=7170
2005-08-04 00:12:50 +00:00
Bruce Allen b3d49b64c7 scheduler: update of the resend-lost-work algorithm. Now try and
extend deadline somewhat, or cancel rather than resend work if
it's not feasible.

svn path=/trunk/boinc/; revision=6982
2005-08-02 19:38:43 +00:00
Bruce Allen 6a978c3845 scheduler: don't resend a result to a host if any of the following is true:
[1] WU error flag set
      [2] WU already has canonical result
      [3] (report_deadline - current_time) < 25% of WU delay bound
      If any of these conditions is true, set the report deadline to the
      current time and set the WU transition time to the current time.
      The transitioner will then 'do the right thing'.

svn path=/trunk/boinc/; revision=6871
2005-07-29 22:38:27 +00:00
Bruce Allen a009ee9af7 scheduler: fixed to checkins on 28 July
(1) Put core client version number into wreq BEFORE searching for
          an app version. Problem is that reply.wreq.core_client_version was only being set in
          send_work(), which was too late for the resend_lost_work() part
          of the code.  You might want to move all the initialization of reply.wreq
          out of send_work().   The core client version is needed to see if the
          app is compatible with it when calling get_app_version().
      (2) In retransmitting lost work, do NOT set the deadline to new
          values.  Else the result will never time out!  But DO reset
          the sent_time, to indicate that result was resent.
transitioner:
          In the transitioner, make the next WU transition time be the min
          of deadlines of the in progress results, NOT the min of the
          sent_time+delay bound.  Unless a project wants to do dynamic
          adjustment of delay bounds for in progress results this should be OK.
          CPDN people: I don't think this does any harm for trickles but
          you might want to give it a quick look to be 100% sure.

svn path=/trunk/boinc/; revision=6870
2005-07-29 08:13:23 +00:00
Bruce Allen bedb30b032 In retransmitting lost work, do NOT set the send_time and the deadline to new
values.  Else the result will never time out!  (David, would it be OK to
simply modify the send_time but NOT the deadline?  This would make it easy
to see in the database that the result is being resent.)

svn path=/trunk/boinc/; revision=6868
2005-07-28 22:21:46 +00:00
Bruce Allen 3282d6125d David this is a bug fix for the 'resending lost results' part of the
scheduler.

Problem is that reply.wreq.core_client_version was only being set in
send_work(), which was too late for the resend_lost_work() part
of the code.  You might want to move all the initialization of reply.wreq
out of send_work().   The core client version is needed to see if the
app is compatible with it when calling get_app_version().

svn path=/trunk/boinc/; revision=6867
2005-07-28 15:12:51 +00:00
David Anderson 3f785e8bdd resend lost results
svn path=/trunk/boinc/; revision=6866
2005-07-28 10:13:30 +00:00
Bruce Allen 2e4989c238 Better logging
svn path=/trunk/boinc/; revision=6865
2005-07-28 09:48:12 +00:00
David Anderson 666da72e05 *** empty log message ***
svn path=/trunk/boinc/; revision=6864
2005-07-28 09:43:54 +00:00
David Anderson 4710fe1771 *** empty log message ***
svn path=/trunk/boinc/; revision=6863
2005-07-28 09:29:12 +00:00
David Anderson a0c6b937a8 *** empty log message ***
svn path=/trunk/boinc/; revision=6611
2005-07-14 10:02:20 +00:00
David Anderson 21671f42de *** empty log message ***
svn path=/trunk/boinc/; revision=6608
2005-07-14 07:42:35 +00:00