wiki:JobIntro

Version 2 (modified by davea, 15 years ago) (diff)

--

Introduction to job processing

Most distributed processing systems let you submit jobs - you supply an executable and some input files, and the system runs the job on a remote computer and gives you the output files when it's done. You can do this type of single job submission in BOINC.

However, BOINC is designed for different types of situation, in particular those where:

  • You need to process thousands or millions of jobs, using only a few applications.
  • You want jobs to be platform-independent, i.e. you don't have to specify what kind of computer to use.
  • You want job results to be validated by replication.

To handle these requirements, BOINC defines an architecture in which jobs are processed in a pipeline consisting of the following programs:

  • A work generator creates jobs.
  • A validator compares replicated results and selects one of them as 'canonical', or correct.
  • An assimilator handles validated results, storing them in an archive or database.

Typically these programs are application-specific, and you will need to develop them (usually in C++) using frameworks supplied by BOINC. In some cases you may be able to use sample versions that are part of BOINC. Each program should be listed as a daemon in the config.xml file.