-
Notifications
You must be signed in to change notification settings - Fork 515
Job submission and control
BOINC provides several ways to submit jobs, and to supply input files for jobs.
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.
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.
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:
- The job-submission part of BUDA
- The Autodock job submission interface used in BOINC Central.
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.
- Remote input file management
- Remote job submission RPCs
- Remote access to output files
- Logging of remote job submission
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.
You can cancel jobs after they are submitted.