wiki:AssignedWork

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

--

Assigned work

This mechanism serves two purposes:

  • To assign a particular job to a particular host.
  • To assign a particular job to be done on ALL hosts for which an app version exists. This could be used to run application-specific benchmarks, to test CPUs, etc.

A host with assigned jobs won't get sent any other jobs until the assigned ones are reported.

Assigned jobs are not validated or assimilated. You must develop your own scripts or programs to process and clean up finished jobs.

To enable this feature you must add

<enable_assigned_work>1</enable_assigned_work>

to your config.xml file.

Creating assigned work

The '''create_work''' script and function take an optional host_id argument. If -1 it means assign the job to all hosts. If positive it means assign the job to the host with that ID.

The names of workunits for assigned jobs must include asgw.

Management tools

The following scripts (in ops/) manage assigned work:

show_assignments

print a list of assigned jobs.

remove_assignment wu_name

Removes an assignment (the WU and results records remain in the database).

Implementation

Results for assigned workunits are created on demand (in the scheduler) rather than by the transitioner.

Assignments are stored in an assignments table. Each record contains a host ID (or -1) and a WU ID.