Ejecución de múltiples colas utilizando las variables de entorno RT_MPC y RT_GRQ

El uso de múltiples colas aumenta la afinidad de las hebras del procesador, pero en una situación especial es aconsejable contrarrestar este efecto.

Normalmente, cuando sólo hay una cola de ejecución, una hebra que se ha activado (la hebra que se activa) por otra hebra en ejecución (la hebra activadora) puede utilizar inmediatamente la CPU en la que se ejecuta la hebra activadora. Cuando hay varias colas de ejecución, es posible que la hebra que se activa esté en la cola de ejecución de otra CPU que no pueda observar la hebra que se activa hasta la siguiente decisión de planificación. En este caso se puede producir un retraso de hasta 10 ms.

Es similar a los escenarios de releases anteriores de este sistema operativo que se pueden haber producido utilizando la opción bindprocessor. Si todas las CPU están constantemente ocupadas, y hay varias hebras interdependientes que se activan, se disponen de dos opciones.

  • La primera opción, que utiliza una cola de ejecución, es establecer la variable de entorno RT_GRQ=ON que fuerza el despacho de las hebras seleccionadas desvinculadas fuera de la cola de ejecución global.
  • Alternativamente, los usuarios pueden elegir la opción de kernel de tiempo real (escriba el mandato bosdebug -R on y después bosboot) y la variable de entorno RT_MPC=ON para los procesos seleccionados. Es esencial mantener un registro de rendimiento de los sistema para supervisar de cerca el impacto de cualquier ajuste que intenta.