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.
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:
- Inactive (not ready to dispatch)
- Unsent (ready to dispatch, but not dispatched)
- In progress (dispatched, not done)
- Done successfully
- Timed out
- Done with error
The following attributes are defined after the result is completed:
- An XML document giving the sizes and checksums of its output
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
create_work utility.
The XML document listing the output files has the form:
<file_info>...</file_info>
[ ... ]
<result>
<name>foobar</name>
<wu_name>blah</wu_name>
<exit_status>blah</exit_status>
<file_ref>...</file_ref>
[ ... ]
</result>
The components are:
- The <name> element is the result name.
- The <wu_name> element is the workunit name.
- Each <file_ref> element is an association to an
output file, described by a corresponding <file_info> element.
The XML document describing the sizes and checksums of the output
files is just a list of <file_info> elements, with the
nbytes and md5_cksum fields present.
The project back end
must parse this field to find the locations and checksums of output files.