System Administration Guide: Resource Management and Network Services

FSS and Processor Sets

The FSS can be used in conjunction with processor sets to provide more fine-grained controls over allocations of CPU resources among projects that run on each processor set than would be available with processor sets alone. The FSS scheduler treats processor sets as entirely independent partitions, with each processor set controlled independently as it applies to CPU allocations.

The CPU allocations of projects that run in one processor set are not affected by the CPU shares or activity of projects that run in another processor set because they are not competing for the same resources. Projects only compete with each other if they are running within the same processor set.

The number of shares that are allocated to a project is system wide. Regardless of which processor set it is running on, each portion of a project is given the same amount of shares.

When processor sets are used, project CPU allocations are calculated for active projects that run within each processor set, as shown in the following figure.

Figure 9–2 FSS Scheduler Share Calculation With Processor Sets

Graphic

Project partitions that run on different processor sets might have different CPU allocations. The CPU allocation for each project partition in a processor set depends only on the allocations of other projects that run on the same processor set.

The performance and availability of applications that run within the boundaries of their processor sets are not affected by the introduction of new processor sets. Nor are the applications affected by changes that are made to the share allocations of projects that run on other processor sets.

Empty processor sets (sets without processors in them) or processor sets without processes bound to them do not have any impact on the FSS scheduler behavior.

FSS and Processor Sets Examples

Assume that a server with eight CPUs is running several CPU-bound applications in projects A, B, and C. Project A is allocated one share, project B is allocated two shares, and project C is allocated three shares.

Project A is running only on processor set 1. Project B is running on processor sets 1 and 2. Project C is running on processor sets 1, 2, and 3. Assume that each project has enough processes to utilize all available CPU power. In this situation, there is always competition for CPU resources on each processor set.

Graphic

The total system-wide project CPU allocations on such a system are as follows:

Project A 

4% = (1/6 X 2/8)pset1

Project B 

28% = (2/6 X 2/8)pset1+ (2/5 * 4/8)pset2

Project C 

67% = (3/6 X 2/8)pset1+ (3/5 X 4/8)pset2+ (3/3 X 2/8)pset3

These percentages do not match the corresponding amounts of CPU shares that are given to projects. However, within each processor set, the per-project CPU allocation ratios are proportional to their respective shares.

On the same system without processor sets, the distribution of CPU resources would be different:

Project A 

16.66% = (1/6) 

Project B 

33.33% = (2/6) 

Project C 

50% = (3/6)