Most organizations that use SAS consist of a variety
of categories of users, with each category having its own needs and
expectations. For example, your organization might have these users:
SAS Enterprise Guide users
these users are usually
running interactive programs, and expect immediate results.
SAS Enterprise Miner users
these users might be
using multiple machines to train models.
SAS Web Report Studio users
these users might be
scheduling reports to run at a specified time.
SAS Risk Dimensions users
these users might be
running jobs at night.
Some users in your environment might be running jobs
that have a high priority. Other users might be running jobs that
require a large number of computing resources. A SAS grid environment
must be able to account for all of these different needs, priorities,
and workloads.
In order
to manage this type of environment, you must be able to control when
and where jobs can run in the grid. If your grid environment uses
Platform Suite for SAS, you can manage competing priorities and workloads
three ways:
-
Job slots. They let you control how many jobs can run
concurrently on each machine in the grid. This enables you to tune
the load that each machine in the grid can accept. For example, you
can assign a higher number of job slots to higher-capacity machines,
which specifies that those machines can process more jobs concurrently.
-
Queues. They let you control when jobs can run and
what computing resources are available to each job that is submitted
to the queue. You can create queues based on factors such as job size
or priority. You can also define job dispatch windows and run windows
for each queue. When you submit a job to a particular queue, the queue
settings determine when the job runs and what priority the job has
compared to other jobs that have been submitted to the grid. You can
also specify the number of job slots across the grid that a queue
can use. By combining the job-slot specification on the hosts and
queues, you can specify how work is distributed across the grid.
-
Partitions. They let you specify where jobs are run
on the grid. Partitions are defined and used by specifying resource
names on hosts and using matching resource names on jobs. The resource
names are specified on machines in the grid to indicate what type
of job each machine should run. When you submit jobs to the grid,
you can specify resource names to specify which machines should be
used to process the job.