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

Cómo funciona la asignación de recursos dinámicos

En esta sección se describe el proceso y los factores que utiliza poold para asignar recursos dinámicamente.

Acerca de los recursos disponibles

Los recursos disponibles se consideran todos los recursos disponibles para utilizar en el ámbito del proceso poold. El ámbito de control es como máximo una única instancia de Solaris.

En un sistema con zonas activas, el ámbito de una instancia de ejecución de poold está limitado a la zona global.

Determinación de recursos disponibles

Las agrupaciones de recursos abarcan todos los recursos del sistema que están disponibles para que las aplicaciones los consuman.

Para una única instancia de Solaris en ejecución, debe asignarse un recurso de un único tipo, como una CPU, a una sola partición. Puede haber una o más particiones para cada tipo de recurso. Cada partición contiene un conjunto de recursos único.

Por ejemplo, un equipo con cuatro CPU y dos conjuntos de procesadores puede tener la siguiente configuración:

pset 0: 0 1

pset 1: 2 3

donde 0, 1, 2 y 3 después de los dos puntos representan los ID de CPU. Tenga en cuenta que los dos conjuntos de procesadores representan las cuatro CPU.

El mismo equipo no puede tener la siguiente configuración:

pset 0: 0 1

pset 1: 1 2 3

No puede tener esta configuración porque la CPU 1 no puede aparecer en más de un pset a la vez.

No se puede acceder a los recursos desde una partición que no sea la partición a la que pertenecen.

Para conocer los recursos disponibles, poold interroga la configuración de las agrupaciones activas para buscar las particiones. Se resumen todos los recursos de todas las particiones para determinar la cantidad total de recursos disponibles para cada tipo de recurso que se controla.

Esta cantidad de recursos es la cifra básica que utiliza poold en sus operaciones. Sin embargo, esta cifra tiene restricciones que limitan la flexibilidad que tiene poold para realizar asignaciones. Para obtener información sobre las restricciones disponibles, consulte Restricciones de la configuración.

Identificación de recursos insuficientes

El ámbito de control para poold se define como el conjunto de recursos disponibles para los que poold tiene la responsabilidad principal de la administración y partición eficaces. No obstante, otros mecanismos que tienen permiso para manipular los recursos de este ámbito de control pueden seguir afectando a una configuración. Si debe colocar la partición fuera del control mientras poold está activo, poold intenta restaurar el control mediante la manipulación sensata de los recursos disponibles. Si poold no puede localizar los recursos adicionales dentro de su ámbito, el daemon registra información sobre los recursos insuficientes.

Determinación del uso de recursos

poold dedica la mayor parte del tiempo a observar el uso de los recursos en su ámbito de control. Esta supervisión se lleva a cabo para verificar que se cumplan los objetivos que dependen de la carga de trabajo.

Por ejemplo, para los conjuntos de procesadores, todas las mediciones se realizan en todos los procesadores de un conjunto. El uso de recursos muestra la proporción de tiempo que el recurso está en uso durante el intervalo de ejemplo. El uso del recurso se muestra como un porcentaje de 0 a 100.

Identificación de infracciones del control

Se utilizan las directivas que se describen en Objetivos y restricciones de configuración para detectar el fallo de enfoque de un sistema a la hora de cumplir sus objetivos. Estos objetivos están relacionados directamente con la carga de trabajo.

Una partición que no cumple los objetivos especificados por el usuario es una infracción de control. Los dos tipos de infracciones de control son la infracción síncrona y la infracción asíncrona.

Los siguientes eventos ocasiones infracciones de objetivos asíncronas:

Se da por sentado que las contribuciones de los objetivos que no están relacionados con la carga de trabajo permanecen constantes entre las evaluaciones de la función de objetivos. Los objetivos que no están relacionados con la carga de trabajo sólo se vuelven a evaluar cuando se desencadena una reevaluación mediante una de las infracciones asíncronas.

Determinación de la acción correctiva apropiada

Cuando el controlador de recursos determina que un consumidor de recursos tiene recursos insuficientes, la respuesta inicial es que el aumento de los recursos mejorará el rendimiento.

Se examinan y evalúan configuraciones alternativas que cumplan los objetivos especificados en la configuración para el ámbito de control.

Este proceso se perfecciona con el tiempo a medida que se supervisa el desplazamiento de los recursos y se evalúa la capacidad de respuesta de cada partición de recurso. Se consulta el historial de decisiones para eliminar las reconfiguraciones que no aportaron mejoras para conseguir la función del objetivo. Se utiliza otra información, como nombres de procesos y cantidades, para evaluar todavía más la importancia de los datos históricos.

Si el daemon no puede emprender las acciones correctivas, la condición se registra. Para obtener más información, consulte Información de registro de poold.