2002-05-17 22:33:57 +00:00
|
|
|
<h2>Compute model: storage</h2>
|
2002-04-30 22:22:54 +00:00
|
|
|
|
2002-05-17 22:33:57 +00:00
|
|
|
<h3>Files</h3>
|
2002-04-30 22:22:54 +00:00
|
|
|
<p>
|
2002-05-17 22:33:57 +00:00
|
|
|
The BOINC storage model is based on <b>files</b>.
|
|
|
|
The inputs and outputs of applications,
|
|
|
|
and the applications executables, are files.
|
2002-04-30 22:22:54 +00:00
|
|
|
<p>
|
2002-05-17 22:33:57 +00:00
|
|
|
A file is described by an XML element of the form
|
|
|
|
<pre>
|
|
|
|
<file_info>
|
|
|
|
<name>foobar</name>
|
|
|
|
<url>http://a.b.c/foobar</url>
|
|
|
|
<url>http://x.y.z/foobar</url>
|
|
|
|
...
|
|
|
|
<md5_cksum>123123123123</md5_cksum>
|
|
|
|
<nbytes>134423</nbytes>
|
|
|
|
[ <executable/> ]
|
|
|
|
[ <upload_when_present/> ]
|
|
|
|
[ <sticky/> ]
|
|
|
|
</file_info>
|
|
|
|
</pre>
|
|
|
|
The components are as follows:
|
2002-04-30 22:22:54 +00:00
|
|
|
<ul>
|
2002-05-17 22:33:57 +00:00
|
|
|
<li>
|
|
|
|
The <b><name></b> element gives the file's name,
|
|
|
|
which must be unique within the project.
|
|
|
|
|
|
|
|
<li> Each <b><url></b> element gives a URL
|
|
|
|
where the file is (or will be) located on a data server.
|
|
|
|
<li> The <b><md5_cksum></b> element
|
|
|
|
is the MD5 checksum of the file,
|
|
|
|
providing protection against corruption and spoofing.
|
|
|
|
<li> The <b><nbytes></b> element is the size of the file in bytes
|
|
|
|
(may be greater than 2^32).
|
|
|
|
<li> The <b><sticky></b> element, if present,
|
|
|
|
indicates that the file should be retained on the client
|
|
|
|
after its initial use.
|
|
|
|
<li> The <b><upload_when_present></b> element, if present,
|
|
|
|
indicates that the file should be uploaded after it is created.
|
|
|
|
<li> The <b><executable></b> element,
|
|
|
|
if present, indicates that the file protections
|
|
|
|
should be set to allow execution.
|
2002-04-30 22:22:54 +00:00
|
|
|
</ul>
|
|
|
|
|
2002-05-17 22:33:57 +00:00
|
|
|
These attributes allow the specification of various types of files:
|
|
|
|
for example, input or output files that are retained for
|
|
|
|
use as input to later computations.
|
2002-04-30 22:22:54 +00:00
|
|
|
|
|
|
|
<p>
|
2002-05-17 22:33:57 +00:00
|
|
|
Once a file is created (on a data server or a participant host)
|
|
|
|
it is immutable.
|
2002-04-30 22:22:54 +00:00
|
|
|
|
2002-05-17 22:33:57 +00:00
|
|
|
<h3>File references</h3>
|
2002-04-30 22:22:54 +00:00
|
|
|
<p>
|
2002-05-17 22:33:57 +00:00
|
|
|
Files may be associated with
|
|
|
|
<a href=work.html>workunits</a>,
|
|
|
|
<a href=result.html>results</a> and
|
|
|
|
<a href=app.html>application versions</a>.
|
|
|
|
Each such association is represented by an XML element of the form
|
|
|
|
|
|
|
|
<pre>
|
|
|
|
<file_ref>
|
|
|
|
<file_name>foobar</file_name>
|
|
|
|
[ <open_name>input</open_name> ]
|
|
|
|
[ <fd>2</fd> ]
|
|
|
|
[ <main_program/> ]
|
|
|
|
</file_ref>
|
|
|
|
</pre>
|
|
|
|
|
|
|
|
The components are as follows:
|
|
|
|
<ul>
|
|
|
|
<li> The <b><file_name></b> element specifies a file.
|
|
|
|
<li> The <b><open_name></b> element, if present,
|
|
|
|
is the name by which the application will refer to the file
|
|
|
|
(in a call to <b>fopen()</b>, for example).
|
|
|
|
<li> The <b><fd></b> element, if present,
|
|
|
|
indicates the file descriptor number by which the application
|
|
|
|
will access the file.
|
|
|
|
<li> The <b><main_program></b> element is used for
|
|
|
|
files associated with application versions.
|
|
|
|
It indicates that this file is the application's main program.
|
|
|
|
</ul>
|