¿Hay alguna aplicación de aprendizaje automático en un RTOS y viceversa?

En un sentido importante, un sistema operativo y un RTOS (y otro software) pueden “aprender” (pero generalmente no en el sentido de que el “aprendizaje automático” se usa popularmente). No muchos de ellos aprenden mucho, pero algunos están diseñados específicamente para aprender; según la experiencia, estos adaptan sus algoritmos u otras propiedades de varias maneras.

Una de las adaptaciones más útiles es que el RTOS observe que sus tareas de aplicación no son lo suficientemente oportunas de acuerdo con los criterios de optimización (por ejemplo, el sistema está sobrecargado) y luego cambia su algoritmo de programación de tareas. Por ejemplo, puede cambiar de un algoritmo que hace programaciones muy óptimas pero el algoritmo consume demasiado tiempo de procesador, a un algoritmo menos óptimo que deja más tiempo de procesador para las tareas de la aplicación. O puede imponer una política de control de admisión de solicitud de servicio más estricta (de acuerdo con las preferencias de los usuarios) para eliminar la sobrecarga.

Otra adaptación útil basada en el aprendizaje de lo que está sucediendo es cambiar de control de concurrencia optimista a pesimista de entidades compartidas si hay demasiados abortos.

Si el software de comunicación OS / RTOS / red observa que hay demasiados errores transitorios, podría reducir el tamaño del paquete de comunicación o aumentarlo si el ancho de banda de la ruta es demasiado limitado.

Puede reducir las comunicaciones entre las réplicas de datos de tolerancia a fallas al relajar las restricciones de consistencia de la réplica.

Por otro lado, los RTOS que se usan en contextos de baja latencia (como muchos pero no todos), existe el problema de que las técnicas comunes de ML son computacionalmente exigentes. Si el ML se realiza durante la operación del sistema, su latencia probablemente será un factor crítico en el RTOS y la puntualidad del sistema en tiempo real. Incluso las técnicas de ML que enfatizan la velocidad (latencia más baja), a menudo son incompatibles con las restricciones en tiempo real que están en términos de plazos de tareas (las técnicas de ML no entienden ni cumplen con los plazos).

Los casos con los que estoy familiarizado que incorporan ML en los sistemas informáticos en tiempo real lo hacen principalmente en los niveles de aplicación, a diferencia de los RTOS.

Debido a la velocidad computacional, RTOS y la computación en tiempo real ya no se usan tanto como antes. Dicho esto, siguen siendo bastante útiles en contextos especializados. No sé mucho sobre el comercio de alta velocidad y alta frecuencia (mercados bursátiles), pero sospecho que ambos se usan allí.

Lo divertido es pensar en formas de resolver problemas combinando tecnologías. ¿Tiene una idea para una aplicación que permita que un sistema con ambos haga algo que los sistemas actuales no pueden, o un sistema que pueda superar a los sistemas existentes que no incorporan ambos? ¿O tiene una idea de cómo ML puede usarse para manejar restricciones dentro de un RTOS, o cómo un RTOS puede usar restricciones para mejorar ML?