Manage Tasker Lists

A tasker list is a named, ordered list of taskers. Tasker lists can be used to enhance performance or restrict usage.

Examples include:
  • Make the scheduler more efficient on large farms.
  • Pack jobs more tightly on the farm machines.
  • Restrict jobs to selected taskers.

Every vovserver has at least one tasker list named default, which includes all the taskers in the system. The order of the taskers is determined by the connection order unless modified by the commands shown below. The default list cannot be deleted or recreated; taskers can be reordered in the default list.

A tasker list can contain all taskers or a subset of taskers. A tasker list can also be empty.
Note: Typically, a small number of tasker lists are setup for a system, approximately 20. A large number of tasker lists may result in inefficient searches for available resources.

An administrator can create, modify and delete tasker lists with the utility vovtaskerlist.

vovtaskerlist

Manipulate tasker lists.


vovtaskerlist: Usage Message
  
  DESCRIPTION:
      Manipulate tasker lists.
  
  USAGE:
      % vovtaskerlist ACTION [OPTIONS] 
  
  OPTIONS:
      -h                  -- This help
      -v                  -- Increase verbosity
   
     Actions:
      create               -- Create a new list
      append
      first 
      last 
      get                 -- Get taskers in a list
      list                -- List all tasker lists
      delete              -- Delete specified tasker list
      bigram              -- Create list of taskers with a lot of ram
      smallram            -- Create list of taskers with little ram
  
     Note: actions can also have a dash (list and -list)
  
  EXAMPLES:
      % vovtaskerlist create planets "pluto jupiter uranus"
      % vovtaskerlist get  planets
      % vovtaskerlist list 
      % vovtaskerlist first planets jupiter 
      % vovtaskerlist last planets jupiter 
      % vovtaskerlist delete  planets
      % vovtaskerlist -bigram 10000      ;; Make a list of taskers with more
                                           than 10GB of RAM
      % vovtaskerlist -smallram 2000     ;; Make list of all taskers with less
                                           than 2GB of RAM
  

nc taskerlist

Any user can view the tasker lists with the nc taskerlist command.


vnc: Usage Message
  
  
      NC TASKERLIST
          Support tasker lists.
          Taskerlists are named, ordered lists of taskers.
  
      USAGE:
          % nc taskerlist [OPTIONS]
  
      OPTIONS:
          -h        -- This help
          -v        -- Increase verbosity,
          -list     -- List all available taskerlists
          -get LIST -- Get the ordered taskers in the
                       specified LIST
  
      ADDITIONAL INFO:
        To manage the tasker lists, you have to be ADMIN
        and you can use the vovtaskerlist utility.
  
  
      EXAMPLES:
          % nc taskerlist -list
          % nc taskerlist -get NAMEOFLIST
          % nc run -r TaskerList:NAMEOFLIST ...  -- myjob
      

Create and Delete Taskerlists

The following example creates a taskerlist named big that contains five machines:
% vovproject enable vnc
% vovtaskerlist create big "lnxbig01 lnxbig02 lnxbig03"
% vovtaskerlist append big "lnxbig04 lnxbig05"
To delete the list, use the following command:
% vovtaskerlist delete big
A list can be reordered by moving selecting taskers first or last: to the beginning or to the end of the list, respectively. These commands can also be used on the default list.
% vovtaskerlist first big lnxbig05
% $VOVDIR last  big lnxbig01

The vtk API for Tasker Lists

vtk_taskerlist_create LISTNAME "list of taskers"
vtk_taskerlist_append LISTNAME "list of taskers"
vtk_taskerlist_first  LISTNAME "list of taskers"
vtk_taskerlist_last   LISTNAME "list of taskers"
vtk_taskerlist_get    LISTNAME
vtk_taskerlist_delete LISTNAME 
vtk_taskerlist_list
The following example uses the vtk AP to create a vovtaskerlist that is in the reverse order of the default list.
% vovsh -x 'vtk_taskerlist_create reverse [lreverse [vovtaskerlist_get default]]'

Choose a Tasker List for a Job

To choose a tasker list, use the resource "TaskerList:LISTNAME" when submitting the job.
% nc run -r TaskerList:big -- sleep 100

If the specified list does not exist, the job will not run.