Guía de administración de sistemas: administración de recursos y contenedores de Oracle Solaris y zonas de Oracle Solaris

FSS y conjuntos de procesadores

FSS puede utilizarse junto con los conjuntos de procesadores para ofrecer controles más precisos para la asignación de recursos de la CPU a los proyectos que se ejecutan en cada conjunto de procesadores de los que habría disponibles únicamente con los conjuntos de procesadores. El programador FSS trata los conjuntos de procesadores como particiones completamente independientes, y cada conjunto de procesadores se controla de modo independiente con respecto a las asignaciones de la CPU.

Las asignaciones de la CPU de los proyectos que se ejecutan en un conjunto de procesadores no se ven afectadas por los recursos de la CPU o la actividad de los proyectos que se ejecutan en otro conjunto de procesadores porque los proyectos no compiten por los mismos recursos. Los proyectos sólo compiten entre sí si se ejecutan en el mismo conjunto de procesadores.

El número de recursos compartidos asignados a un proyecto se aplica a todo el sistema. Al margen del conjunto de procesadores en el que se ejecute, cada parte de un proyecto tiene asignada la misma cantidad de recursos compartidos.

Cuando se utilizan conjuntos de procesadores, las asignaciones de la CPU del proyecto se calculan para los proyectos activos que se ejecutan en cada conjunto de procesadores.

Las particiones de proyectos que se ejecutan en diferentes conjuntos de procesadores pueden tener diferentes asignaciones de la CPU. La asignación de CPU para cada partición de proyecto de un conjunto de procesadores depende únicamente de las asignaciones de otros proyectos que se ejecutan en el mismo conjunto de procesadores.

El rendimiento y la disponibilidad de las aplicaciones que se ejecutan dentro de los límites de sus conjuntos de procesadores no se ven afectados por la introducción de nuevos conjuntos de procesadores. Las aplicaciones tampoco se ven afectadas por los cambios realizados en las asignaciones de recursos compartidos de los proyectos que se ejecutan en otros conjuntos de procesadores.

Los conjuntos de procesadores vacíos (conjuntos que no contienen procesadores) o los conjuntos de procesadores que no tienen procesos vinculados no tienen ninguna repercusión en el comportamiento del programador FSS.

FSS y ejemplos de conjuntos de procesadores

Supongamos que un servidor con ocho CPU ejecuta varias aplicaciones vinculadas a CPU en los proyectos A, B y C. El proyecto A tiene asignado un recurso compartido, el proyecto B tiene asignados dos recursos compartidos y el proyecto C tiene asignados tres recursos compartidos.

El proyecto A sólo se está ejecutando en el conjunto de procesadores 1. El proyecto B se está ejecutando en el conjunto de procesadores 1 y 2. El proyecto C se está ejecutando en el conjunto de procesadores 1, 2 y 3. Se da por supuesto que cada proyecto tiene suficientes procesos para utilizar toda la energía de la CPU disponible. De este modo, cada conjunto de procesadores siempre compite por los recursos de la CPU.

El diagrama muestra las asignaciones de CPU totales del proyecto para el sistema en un servidor con ocho CPU que ejecuta varias aplicaciones vinculadas a la CPU en tres proyectos.

En la tabla siguiente se muestran las asignaciones de CPU totales del proyecto para un sistema de ese tipo.

Proyecto 

Asignación 

Proyecto A 

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

Proyecto B 

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

Proyecto C 

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

Estos porcentajes no coinciden con las cantidades correspondientes de recursos compartidos de la CPU que se asignan a los proyectos. Sin embargo, en cada conjunto de procesadores, la asignación de CPU por proyecto es proporcional a sus respectivos recursos compartidos.

En el mismo sistema sin conjuntos de procesadores, la distribución de los recursos compartidos de la CPU sería diferente, tal como se muestra en la tabla siguiente.

Proyecto 

Asignación 

Proyecto A 

16,66% = (1/6) 

Proyecto B 

33,33% = (2/6) 

Proyecto C 

50% = (3/6)