Machine learning en linux kernel: implementacion de un predictor de migraciones forzadas en schedulers multicore - Pinto Larrea, Mauricio Jorge (2024)
Si bien el Completely Fair Scheduler (CFS) de Linux es capaz de proporcionar equidad entre procesos y de manejar la ubicación y migración de estos a través de un load balancer, existen trabajos previos que proponen la integración de Machine Learning (ML) como una herramienta potencial para refinar las decisiones del kernel. En este trabajo, se analiza un caso específico de migración de tareas, donde algunas son migradas forzosamente entre cores. Este escenario es subóptimo especialmente cuando, por condiciones específicas, se migra una tarea que se encuentra “caliente” en cache. Como solución a este problema proponemos el uso de ML de manera similar al trabajo [1] con el fin de predecir incidencias de migraciones forzadas. Para esto implementamos un sistema capaz de recolectar datos de migraciones en llamadas a la función can_migrate_task () y utilizamos estos datos para (i) entrenar modelos de ML, (ii) realizar inferencias en espacio de kernel y (iii) configurar el modelo en tiempo real a través de LibML, una librería que permite hacer uso de redes neuronales de manera híbrida (espacio de usuario y kernel). Los experimentos realizados con modelos entrenados para la predicción de migraciones forzadas muestran que es posible predecir este escenario en espacio de kernel con alta precisión alcanzando alrededor del 97 % de exactitud en promedio para todas las cargas de trabajo utilizadas. Adicionalmente, esta implementación no impacta significativamente el performance del kernel, teniendo el kernel modificado un promedio de tiempos de ejecución 2.3 % menor al del original.