Versions Compared

    Key

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

    Qube!'s reservation system is important for correct management of host resources. This is accomplished with the relationship between reservations and resources. Each host has a list of resources including system resources such as memory and number of processors. It also includes user-specified resources. Resources are integer based and automatically decrement/increment upon acceptance of a job.

    ...

    The format of this string is:
    type.name=quantity,[type.name=quantity…]

    Examples

    reserves Reserves 200MB of memory on the host
    % qbsub --reservations "host.memory=200" set

    reserves Reserves at least 1 processor and up to all processors on a host
    % qbsub --reservations "host.processors=1+" set

    reserves Reserves from 1 to 20 processors on a single host
    % qbsub --reservations "host.processors=1-20" set

    reserves Reserves a global resource called maya.
    % qbsub --reservations "global.maya=1" "maya -batch -render ...."

    "host.processors=1+(QB_RESERVATION_INFINITY)
    Dispatch to a worker with at least 1 open slot, then occupy all currently open slots.
    (general form is host.processors=N+, where N is a positive integer)

    ...

    Info

    New in Qube! 6.5

    Qube! 6.5 allows for a more "dynamic" evaluation of the "host.processors=1+" or "host.processors=4-8" style of reservations.

    A "1+" reservation used to mean "all the slots", but there was no way to know how many slots it was allocated; there could be a 2-slot job already running on an 8-slot worker, and then the 1+ would just assume that it was getting all 8 slots and the worker would be over-scheduled for as long as both the 2-slot and the 1+ job were running at the same time.

    With Qube! 6.5, the reservations as evaluated on each worker at the time the job instance starts on the particular worker. So in the above example, the 2-slot job has already been allocated 2 worker slots, and when the 1+ instance starts, it's allocated the remaining 6 slots.

    ...