mirror of https://github.com/BOINC/boinc.git
112 lines
3.6 KiB
HTML
112 lines
3.6 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
|
|
"http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
|
|
<html lang="en">
|
|
<head>
|
|
<title>Compute Model: Storage</title>
|
|
<meta name="generator" content="BBEdit 6.1.2">
|
|
</head>
|
|
<body>
|
|
<h2>Compute Model: Storage</h2> <h3>Files</h3>
|
|
<p>
|
|
The BOINC storage model is based on <b>files</b>. The inputs and
|
|
outputs of applications, and the applications executables, are files.
|
|
</p>
|
|
<p>
|
|
A file is described by an XML element of the form
|
|
</p>
|
|
<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>
|
|
<max_nbytes>200000</max_nbytes>
|
|
[ <executable/> ]
|
|
[ <upload_when_present/> ]
|
|
[ <sticky/> ]
|
|
</file_info>
|
|
</pre> The components are as follows:
|
|
<ul>
|
|
<li>
|
|
The <b><name></b> element gives the file's name, which
|
|
must be unique within the project.
|
|
</li>
|
|
<li>
|
|
Each <b><url></b> element gives a URL where the file is
|
|
(or will be) located on a data server.
|
|
</li>
|
|
<li>
|
|
The <b><md5_cksum></b> element is the MD5 checksum of the
|
|
file, providing protection against corruption and spoofing.
|
|
</li>
|
|
<li>
|
|
The <b><nbytes></b> element is the size of the file in
|
|
bytes (may be greater than 2^32).
|
|
</li>
|
|
<li>
|
|
The <b><max_nbytes></b> element is the maximum allowable
|
|
size of the file in bytes (may be greater than 2^32). This is used to
|
|
prevent flooding data servers with bogus data.
|
|
</li>
|
|
<li>
|
|
The <b><sticky></b> element, if present, indicates that
|
|
the file should be retained on the client after its initial use.
|
|
</li>
|
|
<li>
|
|
The <b><upload_when_present></b> element, if present,
|
|
indicates that the file should be uploaded after it is created.
|
|
</li>
|
|
<li>
|
|
The <b><executable></b> element, if present, indicates
|
|
that the file protections should be set to allow execution.
|
|
</li>
|
|
</ul>
|
|
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.
|
|
<p>
|
|
Once a file is created (on a data server or a participant host) it
|
|
is immutable.
|
|
</p>
|
|
<h3>File references</h3>
|
|
<p>
|
|
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
|
|
</p>
|
|
<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>
|
|
<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). Note that this file will usually be a
|
|
BOINC soft link rather than the actual file.
|
|
</li>
|
|
<li>
|
|
The <b><fd></b> element, if present, indicates the file
|
|
descriptor number by which the application will access the file. This
|
|
file descriptor will only be set up if the application calls the API
|
|
function <tt>boinc_init</tt>.
|
|
</li>
|
|
<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.
|
|
</li>
|
|
</ul>
|
|
</body>
|
|
</html>
|