What Happens When a Request is Received
processes (includingthose belonging to the system) will be killed if the system
runs out of swap space.
7.4.3 Time Slicing
Time slicing is enabledon a partition by setting its timeslice attribute; values of
15–120 seconds are recommended. If a timeslice is set, the Partition Manager
evaluates the list of requests periodically.The list of requests is still sorted by priority
but requests of the same priority are sorted on the number of time slices since they were
last scheduled (rather than the submission time). When the system has requests for
more CPUs than are available, the schedulersuspends requests at the end of each time
slice so that others can use the CPUs.
When setting upa system for time slicing, it is important to set memory limits that
ensure that all jobs remain resident in memory. System performance will bepoor if time
slicing between large jobs causes paging. The ratio of memory limit to memorysize
controls how many requests can progress concurrently. For example, on a node with 4
CPUs and 4GB of memory,setting a memory limit of 512MB will allow twojobs to be
time sliced without paging.
The scheduler processes resource requests as it receives them. It tries tofit new
requests to free CPUs. If no CPUs are available the request blocks, at least until the next
time slice.
7.4.4 Suspend and Resume
The allocation of CPUs to a request can be suspended using rcontrol. Doing this
reduces the CPU usage counts for the user and project, enabling other jobs to start.
Either the user or administrator can resumethe allocation at a latertime. Toresume
the jobs, the CPUs are reallocated unless doing so would exceed a CPUusage limit. In
this case, the request is marked as blocked and CPUs will only be allocated and the
jobs restarted when sufficient CPUs become available. Note that requests that are
suspended by the administrator cannot beresumed by their owner.
7.4.5 Idle Time
The amount of time that the resources allocated to a request can remain idlecan be
constrained by using rcontrol to set an idle timer (see also Section 10.2.3). By default,
no timer is set. If an idle timer is set, it starts timing as soon as the resource has been
allocated. It is stopped if the request is suspended and restarted when the request is
resumed. If the idle timeout expires the CPUs are deallocated.
7-6 RMS Scheduling