Versions Compared

    Key

    • This line was added.
    • This line was removed.
    • Formatting was changed.
    Section
    Column
    width40

    Column
    width60

    Clusters are a way of distributing jobs across the farm with the ability to expand and shrink based on the submitted priority cluster. Jobs can overflow from one cluster to another.

    are non-overlapping sets of machines. Your job will run at the given priority in the given cluster. If that cluster is full, the job can run in a different cluster, but at lower priority. How clustering affects priority and worker selection for jobs

    Expand
    titleClick here for details...

    Hosts
    Explicit list of Worker hostnames that will be allowed to run the job on (comma-separated). Click 'Browse' to choose from a list of workers that you want to run the job on.

    Groups
    Explicit list of Worker groups that will be allowed to run the job on (comma-separated). Groups identify machines through some attribute they have, eg, a GPU, an amount of memory, a license to run a particular application, etc. Jobs cannot migrate from one group to another. See worker_groups.

    Omit Hosts
    Explicit list of Worker hostnames to that are notallowed run the job on (comma-separated). Click 'Browse' to choose from a list of workers that you do not want to run the job on.

    Omit Groups
    Explicit list of Worker groups that are not allowed to not run the job on (comma-separated). Click browse to choose from a list of groups that you not want to run the job on.

    Priority Cluster
    Worker cluster that the job has elevated priority to run on. Click 'Browse' to choose from a list of Priority Clusters .

    Image Removed
    Image Added

    Example:

    • A job submitted to /rootshowB/lighting will run on all machines with /root/ assigned as a cluster at a standard priority.A job submitted to /root/a will run on all machines with /root/a assigned as a cluster at a higher priority than /root/ meaning that the job will pre-empt a job without the priority clusterwith its given priority in /showB/lighting cluster.

    • If /showB/lighting is full, that job can run in /showB/FX, but at a lower priority.

    • If both /showB/lighting and /showB/FX are full, the job can run in /showA/* at an even lower priority.

     

    Host Order
    Order to select Workers for running the job (comma-separated) [+ means ascending, - means descending]. Click 'Browse' to choose from a list of Host Order Options.

    Host Order is a way of telling the job how to select/order workers

      • "+host.processors.avail" means prefer workers which have more slots available

      • "+host.memory.avail" means prefer workers which have more memory available

      • "+host.memory.total" means prefer workers which have more total memory

      • "+host.processor_speed" means prefer workers with higher cpu speeds

      • "+host.cpus" means prefer workers with higher total cpu slots

     

    Requirements
    Worker requirements needed to be met for job to run on that Worker (comma-separated, expression-based). Click 'Browse' to choose from a list of Host Order Options.

    Requirements is a way to tell the workers that this job needs specific requirements to be met in order to run. The drop-down menu allows a choice of OS:

    • "winnt" will fill the field with "host.os=winnt" which means only run on Windows based workers

    • "linux" will fill the field with "host.os=linux" which means only run on Linux based workers

    • "osx" will fill the field with "host.os=osx" which means only run on OSX based workers

    Some other options you can type directly: (is this all of them? )

    • "host.processors.avail.=4" means only run this job on workers that have 4 or more slots available

    • "host.processors.used=0" means only run this job on workers with 0 slots in use

    • "host.memory.avail=400" means only run this job on workers that have 400 memory available

     

    Reservations
    Worker resources to reserve when running job (comma-separated, expression-based). Click 'Browse' to choose from a list of Reservation Options.

    Reservations is a way to tell the workers that this job will reserve the specific resources for this job.

    Menu items:

    • "host.processors" this will fill the field with "host.processors=X" which means reserve X slots on the worker while running this job

    • "host.memory" this will fill the field with "host.memory=X" which means only reserve X memory on the worker while running this job

    Other options:

     

    Restrictions
    Restrict job to run only on specified clusters ("||"-separated) [+ means all below, * means at that level]. Click 'Browse' to choose from a list of Restrictions Options.

    Restrictions is a way to tell the workers that this job can only run on specific clusters

    Examples:

    • submit a job that will run only in /farm:

      "qbsub -cluster /root -restriction /root"

       

    • submit a job that will prefer to run in /farm/nuke, but could run in any host in /farm or in the first level below /farm

      "qbsub -cluster /root/a -restriction '/root or /root/*'"


    • submit a job that will prefer to run in /farm/nuke/workstations, but could run in any host at any level at /farm or below

      "qbsub -cluster /root/a/workstations -restriction '/root or /root/+' hostname"

     

    See Also