BOINC

BOINC (Berkeley Open Infrastructure for Network Computing) is a platform used for collaborative projects in which people allow their computers to run computation-intensive tasks in the background to help an ongoing process. SETI@Home is a major project which moved from its own "classic" platform to use BOINC instead (and in fact BOINC was designed for it), but there are a number of other projects also using this platform. Clients are available for Windows, Mac OS X, Linux, and other systems.

Users install the platform client and select one or more projects to participate in via the platform. Each project has its own files that get installed in conjunction with BOINC, and its own set of rules, data structures, user accounts, leaderboards, and so on.

Data files
The location of the files can vary by platform. In Windows XP installations the usual directory is c:\Documents and Settings\All Users\Application Data\BOINC. In Windows Vista and up it is c:\ProgramData\BOINC.

Many of the files are in XML format, or at least something similar to XML with an .xml extension, though not actually completely valid XML. There are a number of files directly in this directory, some global to BOINC and some specific to particular projects (they normally have a project identifier like setiathome.berkeley.edu corresponding to the domain name of the project as part of their filename, right before the extension). There are also some subdirectories. The slots directory tracks the different concurrent tasks running as part of your installation of BOINC; this will vary in number depending on the characteristics of your system (e.g., 4 for a quad-core system that can run one task per core, 8 for a more modern one that can handle two simultaneous tasks in each core, 1 for single-CPU systems). These are numbered from 0 up, with the number serving as the subdirectory name within slots. The contents of the files here are project-specific.

Another directory is named projects, and it contains subdirectories for the projects you are using (e.g., setiathome.berkeley.edu). Often the files in the slots directory will contain references to files in the projects directory, and the actual data (e.g., work units) is in the projects directory.

There are some "placeholder" files called placeholder.txt, containing the text line "This file is used as a placeholder until real data files are created or copied from another location." These are apparently intended to reserve directories within the structure which would otherwise be empty.

SETI@Home
Most files connected with the SETI@Home project will have setiathome.berkeley.edu in their filename or subdirectory. There are also some files in the slots subdirectories that have names similar to ones from the old "classic" SETI@Home software, though their contents are different. A work_unit.sah file there does not contain the actual work unit (as the classic software did), but has a line like:

../../projects/setiathome.berkeley.edu/25fe13ab.31446.286237.206158430214.10.229

pointing (as a relative path, using forward slashes even in the Windows version) to the file actually containing the work unit data.

Work units are found in the project directory, and have sometimes had a .wu extension (for instance in the Astropulse variant, which is a different kind of work unit than regular SETI ones), but now normally have numeric extensions that vary. The format is XML-ish (though without a doctype or other required XML formalities) and starts with a &lt;workunit&gt; tag (or &lt;astropulse_workunit&gt; for the Astropulse format also used at times). The binary data is in a &lt;data&gt; element with a parameter specifying an encoding (either "binary", which means raw binary data, or "x-setiathome", an ASCII-based encoding that might be the same one used in the classic program). The binary data uses PSRFITS format.

The results are saved to a file named similarly to the work unit, but with some more numbers and underscores appended to the extension. The opening tag in this file is &lt;result&gt; (or &lt;astropulse_output&gt; for Astropulse files).

Sample data

 * SETI work unit file
 * SETI result file
 * Astropulse work unit file
 * Astropulse result file

Links

 * BOINC site
 * BOINC Wiki (unofficial)
 * SETI@Home site
 * Wikipedia article