boinc/doc/work.html

56 lines
2.0 KiB
HTML
Raw Normal View History

<body bgcolor=ffffff>
<h2>Compute model: workunits</h2>
<p>
A <b>workunit</b> describes a computation to be performed.
Workunits are maintained in the <b>workunit</b> table in the BOINC DB.
The attributes of a workunit include:
<ul>
<li> Its application.
<li> Its name (unique across all workunits in the project).
<li> An XML document describing its input files and other parameters
(see below).
<li> The estimated resource requirements of the work unit
(computation, memory, disk space, network traffic).
<li> Counts of how many times this workunit should be dispatched,
how many times it has been dispatched, how many results have
been returned, and how many failures have occurred.
</ul>
<p>
The inputs of a workunit are described by an XML document of the form
<pre>
[ &lt;file_info>...&lt;/file_info> ]
[ ... ]
&lt;workunit>
&lt;name>foobar&lt;/name>
&lt;app_name>blah&lt;/app_name>
[ &lt;command_line>-flags xyz&lt;/command_line> ]
[ &lt;env_vars>name=val&name=val&lt;/env_vars> ]
[ &lt;file_ref>...&lt;/file_ref> ]
[ ... ]
&lt;workunit>
</pre>
The components are:
<ul>
<li> The <b>&lt;name></b> element is the name of the workunit.
<li> The <b>&lt;app_name></b> element is the name of the application.
<li> The <b>&lt;command_line></b> element, if present,
is the command-line arguments to be passed to the main program.
<li> The <b>&lt;env_vars></b> element, if present,
is a list of environment variables to be passed to the main program.
<li> Each <b>&lt;file_ref></b> element describes a
<a href=files.html>reference</a> to an input file,
each of which is described by a <b>&lt;file_info></b> element.
</ul>
<p>
A workunit is associated with an application,
not with a particular version or set 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.
<p>
The <a href=tools.html>create_work</a> utility program
provides a simplified interface for creating workunits.