Commit Graph

867 Commits

Author SHA1 Message Date
David Anderson cc63aaf090 *** empty log message ***
svn path=/trunk/boinc/; revision=5182
2005-01-21 07:54:15 +00:00
David Anderson 435f8edd47 *** empty log message ***
svn path=/trunk/boinc/; revision=5161
2005-01-20 23:22:22 +00:00
David Anderson 06773fb728 *** empty log message ***
svn path=/trunk/boinc/; revision=5158
2005-01-20 19:07:18 +00:00
David Anderson c5d4a375b8 *** empty log message ***
svn path=/trunk/boinc/; revision=5157
2005-01-20 19:03:03 +00:00
David Anderson b7a7cd825f *** empty log message ***
svn path=/trunk/boinc/; revision=5151
2005-01-20 18:50:49 +00:00
David Anderson 367a4426ca *** empty log message ***
svn path=/trunk/boinc/; revision=5147
2005-01-20 06:11:03 +00:00
David Anderson 1f5ef06046 *** empty log message ***
svn path=/trunk/boinc/; revision=5140
2005-01-19 05:34:18 +00:00
David Anderson a65c68db19 *** empty log message ***
svn path=/trunk/boinc/; revision=5139
2005-01-18 23:35:53 +00:00
David Anderson cc9c0a6341 *** empty log message ***
svn path=/trunk/boinc/; revision=5135
2005-01-18 19:56:18 +00:00
Bruce Allen 4746ea019f - Additional work on locality scheduling.
(a) make DB queries more efficient using name>'FILE__' and name<'FILE__~' rather than
          name like 'FILE__%'
      (b) Set 'no remaining work for this file' flag correctly by making a DB scan if needed.
          One can show that this is the 'cheapest' reliable place to put this scan.
      (c) Modify deterministic algorithm for finding unsent results so that instead of
          starting with FILE="" and scanning forward over all files, it starts at a random
          place in file space, scans cyclicly to the end, and then from "" to the start
          point.
      (d) Satisfy work request if possible.  Don't terminate sending work until none left that
          is feasible, or request satisfed.
      (e) If a new file is needed, first pick file associated with unsent results which are more
          than 2 hours old.  Note: need to make this a user-configurable option, and add some
          random +- slack.

       For the record, here is the current locality scheduler logic.
       I will update the docs once this is a bit better tested and
       stable.

      (1) If there is an (one) unsent result which is older than
      (1) config.locality_scheduling_send_timeout (7 days) and is
      (1) feasible for the host, sent it.

      (2) If we did send a result in the previous step, then send any
      (2) additional results that are feasible for the same input file.

      (3) If additional results are needed, step through input files on
      (3) the host.  For each, if there are results that are feasible for
      (3) the host, send them.  If there are no results that are feasible
      (3) for the host, delete the input file from the host.

      (4) If additional results are needed, and there is (one) unsent
      (4) result which is older than 2 hours and is feasible for the
      (4) host, send it.

      (5) If we did send a result in the previous step, then send any
      (5) additional results that are feasible for the same input file.

      (6) If additional results are needed, select an input file name at
      (6) random from the current input file working set advertised by
      (6) the WU generator.  If there are results for this input file
      (6) that are feasible for this host, send them.

      (7) If additional results are needed, carry out an expensive,
      (7) deterministic search for ANY results that are feasible for the
      (7) host.  This search starts from a random filename advertised by
      (7) the WU generator, but continues cyclicly to cover ALL results
      (7) for ALL files. If a feasible result is found, send it.  Then
      (7) send any additional results that use the same input file.  If
      (7) there are no feasible results for the host, we are finished:
      (7) exit.

      (8) If addtional results are needed, return to step 4 above.

svn path=/trunk/boinc/; revision=5129
2005-01-17 19:20:56 +00:00
David Anderson 335af90e5f *** empty log message ***
svn path=/trunk/boinc/; revision=5122
2005-01-14 21:21:04 +00:00
David Anderson aa1fceb978 *** empty log message ***
svn path=/trunk/boinc/; revision=5120
2005-01-14 03:32:16 +00:00
Bruce Allen b3ca6c771c Not incrementing nsent correctly
svn path=/trunk/boinc/; revision=5114
2005-01-13 23:24:49 +00:00
Bruce Allen dd0ff1ac2b - More work on sched_locality.C. Note that the 'wacky' warning is
actually not impossible.  Consider the following scenario: WU A
has result 1 and WU B has result 2.  These are both sent to a
host.  Some time later, result 1 fails and the transitioner
creates a new result, result 3 for WU A.  Then the host requests
a new result.  The maximum result already sent to the host is 2.
The next unsent result (sorted by ID) is #3.  But since it is
for WU A, and since the host has already gotten a result for WU
A, it's infeasible.  So I think this is only wacky if
!one_wu_per_result_per_host.

- David, I simplified the inner part of send_results_for_file()
somewhat.  I can't see the need/use for the bool bool
in_working_set argument.  If I have really screwed the pooch
please revert.

svn path=/trunk/boinc/; revision=5106
2005-01-13 17:33:29 +00:00
Bruce Allen 3d5ea7f3c4 Embedded comment describing start/end transaction bug. I'm too 'BOINCed'
to fix it.  David, your turn.

svn path=/trunk/boinc/; revision=5089
2005-01-12 22:32:42 +00:00
Bruce Allen 89028b1701 Fixed two bugs, one trivial, the other nasty.
Trivial bug, FPE on n % 0 when host has no files.
Hard bug, in the deterministic search to find a new result that can
be sent, the upwards search on name must be done not by comparing
RESULT name to FILENAME, but instead by comparing result name to the
maximal lexical resultname that can be constructed from the
filename, which is filename_ZZZ...Z where Z==0xff.

svn path=/trunk/boinc/; revision=5085
2005-01-12 21:04:25 +00:00
Bruce Allen 453b0b33f0 David, please check these diffs. In particular, I don't think we should
flag a file as over unless the WU generator has already indicated that
no further work can be remaining.  Search code for 'David' to find some
comments.

svn path=/trunk/boinc/; revision=5077
2005-01-12 10:46:44 +00:00
David Anderson 9602ccf95c *** empty log message ***
svn path=/trunk/boinc/; revision=5074
2005-01-12 01:21:45 +00:00
David Anderson 2cdb9fc3ef *** empty log message ***
svn path=/trunk/boinc/; revision=5073
2005-01-12 00:50:32 +00:00
David Anderson 4412f6a329 *** empty log message ***
svn path=/trunk/boinc/; revision=5072
2005-01-11 20:33:19 +00:00
David Anderson 71fec1defe *** empty log message ***
svn path=/trunk/boinc/; revision=5070
2005-01-11 05:18:34 +00:00
Bruce Allen 8addf5b6f9 install a larger buffer for stdout. This ensures that
log information from different scheduler requests running
in parallel don't collide in the log file and appear
intermingled. Very useful when doing verbose debugging.

svn path=/trunk/boinc/; revision=5069
2005-01-11 02:38:15 +00:00
Bruce Allen fa7399b26f Clean up, and one (perhaps) uninitialized variable
svn path=/trunk/boinc/; revision=5067
2005-01-10 22:22:00 +00:00
Bruce Allen b52c391f41 Typo
svn path=/trunk/boinc/; revision=5066
2005-01-10 22:16:45 +00:00
Bruce Allen 694c740e9c Cleaner and more effective approach (and in addition, it appears to work).
svn path=/trunk/boinc/; revision=5057
2005-01-10 01:40:14 +00:00
David Anderson 504957c0bd *** empty log message ***
svn path=/trunk/boinc/; revision=5054
2005-01-10 00:00:42 +00:00
David Anderson 505a0c15c8 *** empty log message ***
svn path=/trunk/boinc/; revision=5051
2005-01-09 22:57:59 +00:00
David Anderson e72fc28b13 *** empty log message ***
svn path=/trunk/boinc/; revision=5050
2005-01-09 22:43:02 +00:00
Bruce Allen fcfbb7d7a5 typo
svn path=/trunk/boinc/; revision=5049
2005-01-09 22:41:44 +00:00
Bruce Allen a3aa7eafaa printf
svn path=/trunk/boinc/; revision=5048
2005-01-09 22:38:13 +00:00
David Anderson 29a26d8e44 *** empty log message ***
svn path=/trunk/boinc/; revision=5047
2005-01-09 22:33:32 +00:00
David Anderson 8e55a2dd0f *** empty log message ***
svn path=/trunk/boinc/; revision=5046
2005-01-09 22:23:53 +00:00
Bruce Allen ded013cc4b print format string didn't agree with arguments
svn path=/trunk/boinc/; revision=5039
2005-01-09 08:04:38 +00:00
Bruce Allen b0fd04807b Corrected comment, and added a bit of additional DEBUG-level log information.
svn path=/trunk/boinc/; revision=5038
2005-01-09 08:01:15 +00:00
Bruce Allen 22c0a5155e The signal being used to control the daemons is SIGHUP not SIGINT. Changed
comment and print statement from SIGINT to SIGHUP.

svn path=/trunk/boinc/; revision=5037
2005-01-09 07:48:33 +00:00
David Anderson ef3b4b5a8e *** empty log message ***
svn path=/trunk/boinc/; revision=5036
2005-01-09 06:38:42 +00:00
David Anderson 62e9a2765e *** empty log message ***
svn path=/trunk/boinc/; revision=5035
2005-01-09 06:26:37 +00:00
Bruce Allen 881c670742 Add a basic signaling mechanism to 'scheduling locality' so that the
scheduler notifies the project when it has no results remaining for a given
file, and gives the project a brief interval to try and make more WU for
that file.  Likewise, the project can tell the scheduler if there are
no more WU that it can add for a given file.

svn path=/trunk/boinc/; revision=5034
2005-01-08 20:55:49 +00:00
David Anderson 4e294d1e5a *** empty log message ***
svn path=/trunk/boinc/; revision=5030
2005-01-08 07:44:22 +00:00
David Anderson 98e93a0a5d *** empty log message ***
svn path=/trunk/boinc/; revision=5029
2005-01-08 06:54:03 +00:00
David Anderson 4031091deb replace bad filename hashing function
svn path=/trunk/boinc/; revision=5028
2005-01-08 06:38:21 +00:00
David Anderson 7cca0a5df2 *** empty log message ***
svn path=/trunk/boinc/; revision=5021
2005-01-07 20:12:31 +00:00
David Anderson 86c3728abe *** empty log message ***
svn path=/trunk/boinc/; revision=5020
2005-01-07 19:45:46 +00:00
Bruce Allen a577eacf7e Minor bug fix in locality scheduling. Documentation says that WU
names for locality scheduling must start:
     FILENAME__anything
whereas before this bug fix the locality scheduler would assume that a
WU named
     FILENAMEanything
would satisfy the locality scheduling requirement. If a project is
doing a mix of locality and non-locality scheduling, this might
cause problems.

svn path=/trunk/boinc/; revision=5008
2005-01-06 22:43:28 +00:00
Bruce Allen f39ef7a1c1 My motto today is 'third time lucky'
svn path=/trunk/boinc/; revision=4989
2005-01-03 18:06:57 +00:00
Bruce Allen 2aa7f70f8c Typo
svn path=/trunk/boinc/; revision=4988
2005-01-03 18:04:48 +00:00
Bruce Allen c987c69390 David, you owe me a beer.
svn path=/trunk/boinc/; revision=4987
2005-01-03 18:00:53 +00:00
Bruce Allen 07f776dd63 Added a command line option to make single pass with a small number of WU
for testing purposes.

svn path=/trunk/boinc/; revision=4986
2005-01-03 17:18:32 +00:00
Bruce Allen 46e9e69771 Documentation http://boinc.berkeley.edu/hier_dir.php says:
"Secondly, your validator and assimilator should call
 int get_output_file_path(RESULT const& result, string& path);"
I've updated the example code to do this, and modified Makefile.am
so that the correct objects are linked.

svn path=/trunk/boinc/; revision=4984
2005-01-03 10:49:38 +00:00
Bruce Allen 0fd083f620 Missing end of line in log file
svn path=/trunk/boinc/; revision=4982
2005-01-03 03:01:35 +00:00