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 (meaning '1' and '99' are valid resource counts; 'a' and '4.5' are not) and automatically decrement/increment upon acceptance of a job. Reservations are used to reserve these resources prior to execution of a job. These resources are always numeric and are integer based. A resource can be defined either "discovered" by the system (eg, number of cores) or by the administratordefined by admins (eg, number of licenses).

    The user must know where whether the resource is located. Examples of this include global global or host-based (see global and host resources. The global resource is tracked in ). Global resources are tracked through the entire system. For example, it can be used to simulate the tracking of licenses. A host resource is local and specific per host.The format of this string isto each host, for example the number of cores.

    Resources are defined and reserved through this syntax:

    type.name=quantity[,type.name=quantity…]

    This appears on the Supervisor (for global resources, see supervisor_global_resources), on the host (for host-based resources, see worker_resources) and/or in the job submission UI in the reservations field.

    Quantity Syntax

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

    host.processors=1*   (QB_RESERVATION_ALL)
    Dispatch to a worker with at least N 1 open slots slot and no used slots (i.e. worker must be idle!), then occupy all currently open slots. The general form is host.processors=N*, where  N  is a positive integer.

    host.processors=all (QB_RESERVATION_ALL):
    Equivalent to host.processors=1*

    ...