Files and File References

From Unofficial BOINC Wiki

Jump to: navigation, search

Contents

[edit] General

The BOINC storage model is based on files. Examples of files:

  • The inputs and outputs of applications;
  • Application executables, libraries, etc.

The BOINC Daemon transfers files to and from project-operated Data Servers using HTTP.

A file is described by an XML element of the form:

<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>
    <status>1</status>
    [ <generated_locally/> ]
    [ <executable/> ]
    [ <upload_when_present/> ]
    [ <sticky/> ]
    [ <signature_required/> ]
    [ <no_delete/> ]
    [ <report_on_rpc/> ]
</file_info>

The elements are as follows:

name The file's name, which must be unique within the project.
url a URL where the file is (or will be) located on a data server.
md5_cksum The MD5 checksum of the file.
nbytes the size of the file in bytes (may be greater than 2^32).
max_nbytes 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.
status

0 if the file is not present, 1 if the file is present,

or a negative error code if there was a problem in downloading or generating the file.
generated_locally If present, indicates that the file will be generated by an application on the Participant's Host, as opposed to being downloaded.
executable If present, indicates that the file protections should be set to allow execution.
upload_when_present If present, indicates that the file should be uploaded when the Science Application that generates it exits.
sticky If present, indicates that the file should be retained on the Participant's Host after its initial use.
signature_required

If present, indicates that the file should be verified with an RSA Signature.

This generally only applies to executable files.
no_delete

If present for an Work Unit Data File, indicates that the file should NOT be removed from the Data Server's Download Directory when the Work Unit is completed.

Use this if a particular input file or files are used by more than one Work Unit, or will be used by future Work Units.
no_delete

If present for an output (result) file, indicates that the file should NOT be removed from the Data Server's Upload Directory when the corresponding Work Unit is completed.

Use with caution - this may cause your upload directory to overflow.
report_on_rpc Include a description of this file in scheduler RPC requests, so that the scheduler may send appropriate work using Locality Scheduling.


Once a file is created (on a data server or a participant host) it is immutable. This means that all replicas of that file are assumed to be identical.


[edit] File References

Files may be associated with Work Units, Results and Application Versions. Each such association is represented by an XML element of the form:

<file_ref>
    <file_name>foobar</file_name>
    [ <open_name>input</open_name> ]
    [ <main_program/> ]
</file_ref>

The elements are as follows:

file_name Specifies a file.
open_name The name by which the application will refer to the file.
main_program Used for files

associated with application versions.

It indicates that this file is the application's main program.


[edit] File Management

BOINC's default behavior is to delete files around when they aren't needed any more. Specifically:

[edit] UCB Source

[edit] Copyright ©

  • 2005 University of California
  • 2005 Paul D. Buck

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation.

Personal tools