Project and Task Facilities

To optimize workload response, you must first be able to identify the workloads
that are running on the system you are analyzing. This information can be
difficult to obtain by using either a purely process-oriented or a user-oriented method
alone. In the Solaris system, you have two additional facilities that can be
used to separate and identify workloads: the project and the task. The project
provides a network-wide administrative identifier for related work. The task collects a
group of processes into a manageable entity that represents a workload component.

The controls specified in the project name service database are set on the
process, task, and project. Since process and task controls are inherited across
fork and settaskid system calls, all processes and tasks that are created within
the project inherit these controls. For information on these system calls, see the
fork(2) and settaskid(2) man pages.

Based on their project or task membership, running processes can be manipulated with
standard Solaris commands. The extended accounting facility can report on both process usage
and task usage, and tag each record with the governing project identifier. This
process enables offline workload analysis to be correlated with online monitoring. The project
identifier can be shared across multiple machines through the project name service database. Thus,
the resource consumption of related workloads that run on (or span) multiple machines
can ultimately be analyzed across all of the machines.