Versions Compared

    Key

    • This line was added.
    • This line was removed.
    • Formatting was changed.

    ...

    When a Worker has a restriction defined via its worker_restrictions value, it means only run jobs whose cluster value matches one of the clusters in that worker's restriction expression.  The worker won't accept jobs whose cluster doesn't match one of the clusters in the worker's restriction expression.

    Restrictions Syntax

    A restriction is really defined as a "filter" for hosts based upon information in the queuing algorithm; the values are one or more cluster names. In the priority/cluster queuing system, a user specifies the restrictions with a directory structure format:

    ...

    Tip

    The restriction value is actually evaluated as an expression, and multiple clusters are specified in a "this cluster OR that cluster OR the other cluster" type of string, with the " || " symbol to mean OR.

    Examples

    Job Restrictions

    DefinitionSyntax
    Submit a job that will have highest priority in /private and run only in /privateqbsub -cl /private -restr /private <cmd>
    Submit a job that will have highest priority in /private/very, but could run in any host in /private or in the first level below /privateqbsub -cl /private/very -restr '/private or /private/*' <cmd>
    Submit a job that will have highest priority in /private/very/deep, but could run in any host at any level at /private or below qbsub -cl /private/very/deep -restr '/private or /private/+' hostname

    Worker Restrictions

    DefinitionSyntax
    Define a host that will only run jobs in /private/very/deepworker_cluster = "/private/very/deep"
    worker_restrictions = "/private/very/deep"
    Define a host that will run jobs in any cluster at /private or 1 level below - done with the *worker_cluster = "/private"
    worker_restrictions = "/private or /private/*"
    Define a host that will only run jobs in /private/very or any level below - done with the +worker_cluster = "/private/very"
    worker_restrictions = "/private/very or /private/very/+"

    Job Restrictions

    DefinitionSyntax
    Submit a job that will have highest priority in /private and run only in /privateqbsub -cl /private -restr /private <cmd>
    Submit a job that will have highest priority in /private/very, but could run in any host in /private or in the first level below /privateqbsub -cl /private/very -restr '/private or /private/*' <cmd>
    Submit a job that will have highest priority in /private/very/deep, but could run in any host at any level at /private or below qbsub -cl /private/very/deep -restr '/private or /private/+' hostname