Skip to content

Job submission and control

David Anderson edited this page Mar 20, 2026 · 8 revisions

BOINC provides several ways to submit jobs, and to supply input files for jobs.

Input and output templates

A job has sets of input and output files. Each of these includes a logical name (the name by which the app refers to the file) and some other attributes (for example, a limit on the size of output files).

In most cases, this information is that same for all jobs of a given app, and is described by per-app template files:

Some forms of job submission allow you to use per-job templates.

Local job submission

These mechanisms require server login access, either to run BOINC-supplied CLI programs, or to develop and run your own job-submission programs.

Before submitting a job, you must 'stage' its input files: moving or copying them to a directory hierarchy from where clients can download them.

Web-based job submission

In this approach, jobs are submitted via a web interface (which you must develop, typically in PHP) running on your project's web site. Typically input files are managed using the 'user file sandbox' feature of BOINC.

Examples of this approach include:

Remote job submission

In this approach, input file management and job submission are done using Web RPCs (XML over HTTP). You can use this to build Web-based or automated job processing systems that run on remote computers (i.e., not the project server). BOINC provides bindings of the RPCs in several languages (Python, PHP, C++) so you can build systems in a language of your choice.

Job keywords

BOINC has a system of 'keywords' describing the science area and geographical location of project and jobs. Volunteers can express affinity or non-affinity with keywords.

The create_work script lets you associate keywords with jobs. The BOINC scheduler can be configured to take keyword preferences into account when assigning jobs to volunteers.

Managing multiple job submitters

Canceling jobs

You can cancel jobs after they are submitted.

Targeted jobs

Job dispatch policy

Clone this wiki locally