diff --git a/checkin_notes b/checkin_notes
index 9e8c804b8d..c822981c10 100755
--- a/checkin_notes
+++ b/checkin_notes
@@ -5795,3 +5795,6 @@ David Aug 15 2003
tools/
backend_lib.C,h
create_work.C
+
+David Aug 15 2003
+ - changed "timeout_check" to "transitioner"
diff --git a/doc/result.html b/doc/result.html
index 91c768311c..9e605b8cc3 100644
--- a/doc/result.html
+++ b/doc/result.html
@@ -2,22 +2,19 @@
Results
-A result describes an instance of a computation, either to be
-performed, in progress, or completed.
-Results are stored in the result table of the BOINC DB.
+A result describes an instance of a computation, either unstarted,
+in progress, or completed.
The attributes of a result include:
-
-- The name of the result (unique across all results in the project).
-
- The associated workunit.
-
- The time when the completed result should be reported to a
-scheduling server.
-This is assigned by the project, and is used by
-clients to prioritize operations and to initiate scheduler RPCs.
-There is no guarantee that the result will actually be reported by this time.
-
- An XML document listing the names of its output files; see below.
-
- The time when the result was dispatched.
-
- Its state. Values include:
+
+- name
-
+The name of the result (unique across all results in the project).
+
- workunit name
-
+
- output files
-
+A list of the names of the output files,
+and the names by which the application refers to them.
+
- state
-
+Values include:
- Inactive (not ready to dispatch)
- Unsent (ready to dispatch, but not dispatched)
@@ -26,7 +23,12 @@ There is no guarantee that the result will actually be reported by this time.
- Timed out
- Done with error
-
+host
+The host that executed the computation.
+CPU time
+The CPU time that was used.
+exit status
+
The following attributes are defined after the result is completed:
@@ -35,8 +37,6 @@ files (filled in after the result is completed).
- The stderr output of the result.
- The host that was sent the result.
- The times when the result was received.
-
- The exit status of the application.
-
- The reported CPU time.
Results are normally created using the
diff --git a/doc/tools_work.html b/doc/tools_work.html
index e52f834f96..377fc7157c 100644
--- a/doc/tools_work.html
+++ b/doc/tools_work.html
@@ -29,6 +29,46 @@ create_work
infile_1 ... infile_m // input files
+The WU template file has the form
+
+[ <file_info>...</file_info> ]
+[ ... ]
+<workunit>
+ [ <command_line>-flags xyz</command_line> ]
+ [ <env_vars>name=val&name=val</env_vars> ]
+ [ <max_processing>...</max_processing> ]
+ [ <max_disk>...</max_disk> ]
+ [ <file_ref>...</file_ref> ]
+ [ ... ]
+</workunit>
+
+The components are:
+
+<command_line> |
+The command-line arguments to be passed to the main program.
+ |
+<env_vars> |
+A list of environment variables in the form
+name=value&name=value&name=value.
+ |
+<max_processing> |
+Maximum processing
+(measured in Cobblestones).
+An instance of the computation that exceeds this bound will be aborted.
+This mechanism prevents an infinite-loop bug from
+indefinitely incapacitating a host.
+The default is determined by the client; typically it is 1.
+ |
+<max_disk> |
+Maximum disk usage (in bytes).
+The default is determined by the client; typically it is 1,000,000.
+ |
+<file_ref> |
+ describes a reference to an input file, each of which is
+described by a <file_info> element.
+ |
+
The workunit template file is processed as follows:
-
diff --git a/doc/work.html b/doc/work.html
index 0324e935c8..81ebf75bda 100644
--- a/doc/work.html
+++ b/doc/work.html
@@ -2,73 +2,37 @@
Workunits
-TODO: don't separate into XML/other parts;
-describe XML format only in the tools doc.
-
A workunit describes a computation to be performed.
-Workunits are maintained in the workunit table in the BOINC DB.
The attributes of a workunit include:
-
-- Its name (unique across all workunits in the project).
-
- Its application.
-
- An XML document describing its input files and other parameters
-(see below).
-
- The estimated resource requirements of the work unit
-(computation, memory, disk space).
-
- A delay bound: upper bound on how long (in real time)
-a result associated with this work unit should take to complete.
-This determines which hosts the workunit can be sent to,
-and it's used to assign result deadlines and
-times for retrying results.
-
-
-Some parameters of a workunit are described by an XML document of the form
-
-[ <file_info>...</file_info> ]
-[ ... ]
-<workunit>
- [ <command_line>-flags xyz</command_line> ]
- [ <env_vars>name=val&name=val</env_vars> ]
- [ <max_processing>...</max_processing> ]
- [ <max_disk>...</max_disk> ]
- [ <file_ref>...</file_ref> ]
- [ ... ]
-</workunit>
-
-The components are:
-
-<command_line> |
-The command-line arguments to be passed to the main program.
- |
-<env_vars> |
-A list of environment variables in the form
-name=value&name=value&name=value.
- |
-<max_processing> |
-Maximum processing
-(measured in Cobblestones).
-An instance of the computation that exceeds this bound will be aborted.
-This mechanism prevents an infinite-loop bug from
-indefinitely incapacitating a host.
-The default is determined by the client; typically it is 1.
- |
-<max_disk> |
-Maximum disk usage (in bytes).
-The default is determined by the client; typically it is 1,000,000.
- |
-<file_ref> |
- describes a reference to an input file, each of which is
-described by a <file_info> element.
- |
-
+
+- name
+
-
+Unique across all workunits in the project.
+
- application
+
-
+Which application performs the computation.
A workunit is associated with an application, not with a particular
version or range of versions.
If the format of your input data changes in
a way that is incompatible with older versions,
you must create a new application.
This can often be avoided by using XML data format.
+
- input files
+
-
+A list of its input files: their names,
+and the names by which the application refers to them.
+
- resource estimates
+
- The estimated resource requirements of the work unit
+(computation, memory, disk space).
+
- scheduling parameters
+
-
+A set of parameters
+determining the redundancy and error policies for this work unit.
+
+
+
+
The create_work utility program provides a
simplified interface for creating workunits.
diff --git a/doc/wu_sched_params.html b/doc/wu_sched_params.html
new file mode 100644
index 0000000000..40d880cb9c
--- /dev/null
+++ b/doc/wu_sched_params.html
@@ -0,0 +1,57 @@
+
Workunit scheduling parameters
+BOINC
+
+
+Each workunit has several parameters related to redundancy and scheduling.
+Values for these parameters are supplied by the project
+when the workunit is created
+
+
+-
+delay_bound
+
-
+An upper bound on the time (in seconds) between sending
+a result to a client and receiving a reply.
+The scheduler won't issue a result if the estimated
+completion time exceeds this.
+Set this to several times the average execution time
+of a workunit on a typical PC.
+If you set it too low,
+BOINC may not be able to send some results,
+and the corresponding workunit will be flagged with an error.
+If you set it too high,
+there may a corresponding delay in getting results back.
+
-
+min_quorum
+
-
+The minimum size of a quorum.
+Set this to two or more if you want redundant computing.
+
-
+target_nresults
+
-
+How many successful results to get.
+This must be at least min_quorum.
+It may be more to reflect the ratio of result loss,
+or to get a quorum more quickly.
+
-
+max_error_results
+
-
+If the number of client error results exceeds this,
+the work unit is declared to have an error;
+no further results are issued, and the assimilator is triggered.
+This safeguards against workunits that exercise a bug
+in the application.
+
-
+max_total_results
+
-
+If the total number of results for this workunit exceeds this,
+the workunit is declared to be in error.
+
-
+max_success_results
+
-
+If the number of success results for this workunit exceeds this,
+and a consensus has not been reached,
+the workunit is declared to be in error.
+
diff --git a/sched/Makefile.am b/sched/Makefile.am
index 058c8357e4..f6ae89d1d7 100644
--- a/sched/Makefile.am
+++ b/sched/Makefile.am
@@ -4,7 +4,7 @@ include $(top_srcdir)/Makefile.incl
noinst_PROGRAMS = \
cgi feeder show_shmem file_upload_handler \
- validate_test validate_trivial make_work timeout_check file_deleter \
+ validate_test validate_trivial make_work transitioner file_deleter \
assimilator db_dump update_stats
noinst_LIBRARIES = libsched.a
@@ -83,9 +83,9 @@ make_work_SOURCES = make_work.C
make_work_DEPENDENCIES = $(LIBRSA) $(LIB_SCHED)
make_work_LDADD = $(LDADD) $(RSA_LIBS)
-timeout_check_SOURCES = timeout_check.C
-timeout_check_DEPENDENCIES = $(LIBRSA) $(LIB_SCHED)
-timeout_check_LDADD = $(LDADD) $(RSA_LIBS)
+transitioner_SOURCES = transitioner.C
+transitioner_DEPENDENCIES = $(LIBRSA) $(LIB_SCHED)
+transitioner_LDADD = $(LDADD) $(RSA_LIBS)
fcgi_SOURCES = \
handle_request.C \
diff --git a/sched/timeout_check.C b/sched/transitioner.C
similarity index 100%
rename from sched/timeout_check.C
rename to sched/transitioner.C