Advance reservations ensure access
to specific hosts or slots during specified times. During the time
that an advance reservation is active only users or groups associated
with the reservation have access to start new jobs on the reserved
hosts or slots.
Slot-based advance reservations
reserve a number of slots among a group of hosts. Host-based advance
reservations exclusively reserve a number of hosts, as specified by
the user. Each reserved host is reserved in its entirety.
Only LSF administrators or root can create or delete advance reservations. Any LSF user can view existing advance reservations.
Each
reservation consists of the number of job slots or hosts to reserve,
a list of candidate hosts for the reservation, a start time, an end
time, and an owner. You can also specify a resource requirement string
instead of or in addition to a list of hosts or slots.
When a reservation
becomes active, LSF attempts to run all jobs associated with the reservation.
By default, jobs running before the reservation became active continue
to run when the reservation becomes active. When a job associated
with the reservation is pending, LSF suspends all jobs not
associated with the reservation that are running on the required hosts.
During the time the reservation is active, only users or groups associated with the reservation have access to start new jobs on the reserved hosts. The reservation is active only within the time frame that is specified, and any given host may have several reservations in place, some of which may be active at the same time.
Jobs
are suspended only if advance reservation jobs require the slots or
hosts. Jobs using a reservation are subject to all job resource usage
limits, but any resources freed by suspending non-advance reservation
jobs are available for advance reservation jobs to use.
Reservations are typically closed. When a closed reservation expires, LSF kills jobs running in the reservation and allows any suspended jobs to run when the reservation becomes active.
Open advance reservations allow jobs to run even after the associated reservation expires. A job in the open advance reservation is only treated as an advance reservation job during the reservation window, after which it becomes a normal job. This prevents the job from being killed and makes sure that LSF does not prevent any previously suspended jobs from running or interfering with any existing scheduling policies.
Jobs running in a one-time, open reservation are detached from the reservation and suspended when the reservation expires, allowing them to be scheduled as regular jobs. Jobs submitted before the reservation became active are still suspended when the reservation becomes active. These are only resumed after the open reservation jobs finish.
Jobs running in a closed recurring reservation are killed when the reservation expires.
Jobs running in an open recurring reservation are suspended when the reservation expires, and remain pending until the reservation becomes active again to resume.
If a non-advance reservation job is submitted while the open reservation is active, it remains pending until the reservation expires. Any advance reservation jobs that were suspended and became normal jobs when the reservation expired are resumed first before dispatching the non-advance reservation job submitted while the reservation was active.
LSF treats advance reservation like other deadlines, such as dispatch windows or run windows; LSF does not schedule jobs that are likely to be suspended when a reservation becomes active. Jobs referencing the reservation are killed when the reservation expires.
If IGNORE_DEADLINE=Y, there is no effect on advance reservations. Jobs are always prevented from starting if there is a chance that they could encounter an advance reservation.
Reservations
can also be created for system maintenance. If a system reservation
is active, no other jobs can use the reserved slots or hosts, and LSF does
not dispatch jobs to the specified hosts while the reservation is
active.