Skip to content

JobKeywords

David Anderson edited this page Aug 22, 2023 · 2 revisions

Job keywords

Keywords describe the attributes of jobs, such as:

  • The area of science it contributes to
  • The location of the research group that submitted it.

Keywords are used for various purposes in BOINC, such as

  • Informational: volunteers can see job keywords in the BOINC Manager and on the project web site.
  • Preferences: volunteers can express preferences for keywords, which limits what jobs are sent to the volunteer. Currently this is supported in the account manager architecture; it would also be possible to support it at the project level.

The set of keywords is decided by the community. If you want a keyword that's not there, please contact David Anderson.

Keyword headers

Keywords are identified by permanent integer IDs, and also by symbols mapped to these IDs. The current list of keywords can be obtained as:

Keywords in job submission

The job submission interfaces let you associate keywords with jobs.

Keyword scheduling

If you include

<keyword_sched/>

in your project's config.xml, score-based scheduling will include a keyword component: if a volunteer has a "no" preference for keyword X, they won't be sent jobs with keyword X, and if they have a "yes" preference, they will preferentially be sent jobs with that keyword.

Project keywords

You can also associate keywords with your project as a whole. Do this by creating a file "project_keywords.xml" in the project root directory. This file has the format

<project_keywords>
   <keyword>
      <id>4</id>
      { <work_fraction>.7</work_fraction> }
   </keyword>
   ...
</project_keywords>

Include <work_fraction> if not all jobs have that keyword. The number express what fraction of your project's work (measured in FLOPs) have that keyword.

The information in this file is exported in your project's get_project_config.php. It's not currently used for anything. It will be used for various project-browsing purposes in the future.

Clone this wiki locally