Linux proporciona a los desarrolladores e ingenieros una forma de "ajustar" su funcionamiento, proporcionando miles de parámetros individuales que pueden ajustar la forma en que el kernel de código abierto gestiona los recursos. Este tipo de ajuste puede mejorar el rendimiento más rápidamente sin tener que volver a compilar el kernel, pero sigue siendo una tarea desafiante, incluso para los programadores de software libre más expertos.
El ajuste del kernel es una tarea extremadamente desafiante, por lo que hay intentos de utilizar inteligencia artificial para realizar este trabajo en lugar de desarrolladores humanos. La empresa de tecnología china ByteDance anunció recientemente los resultados de las pruebas de autoajuste del kernel de Linux, una solución basada en inteligencia artificial que libera a los ingenieros humanos para tomar mejores decisiones de ajuste mediante el análisis de datos históricos, una tarea que los humanos normalmente encontrarían desafiante.
Lograr un rendimiento óptimo de Linux mediante el ajuste es un proceso que requiere mucho tiempo y una amplia experimentación por parte de los expertos en Linux. Diferentes cargas de trabajo requieren diferentes métodos de ajuste para diferentes conjuntos de parámetros del kernel. El desarrollador de ByteDance, Cong Wang, mencionó que ajustar manualmente el kernel de Linux para "cientos" de cargas de trabajo diferentes es casi imposible en centros de datos a gran escala como los que utiliza la empresa.
Si bien existen herramientas diseñadas para simplificar el ajuste del kernel, proporcionan un tipo específico de optimización. El enfoque de ByteDance tiene como objetivo lanzar la primera solución automatizada en el espacio de ajuste del kernel: una tecnología que puede cubrir todos los parámetros de ajuste de Linux con una mínima inversión en ingeniería.
El equipo de Wang presta especial atención a la optimización del sistema de gestión de memoria de Linux. Al emplear algoritmos de aprendizaje automático, como la optimización bayesiana, la empresa descubrió que el ajuste automatizado de parámetros puede lograr mejores resultados que los que suelen lograr la mayoría de los ingenieros del kernel de Linux.
La herramienta de ajuste automático de ByteDance está diseñada para ajustar automáticamente la configuración interna de Linux en función de cargas de trabajo y configuraciones de hardware específicas. Los núcleos se ajustan dinámicamente para garantizar un rendimiento óptimo en cada situación, resolviendo la antigua necesidad de ajustar manualmente los núcleos para cada instancia informática.
En la mayoría de los casos, los ajustes automáticos basados en inteligencia artificial de Wang y sus colegas parecieron ser efectivos. Según ByteDance, los algoritmos de aprendizaje automático pueden optimizar dinámicamente el sistema monitoreando el rendimiento central en tiempo real y mejorar la eficiencia optimizando el uso de recursos. El sistema de IA también tiene una interfaz fácil de usar, lo que permite a los usuarios con conocimientos técnicos limitados beneficiarse de un núcleo más utilizable. Al mismo tiempo, los usuarios avanzados pueden personalizar los parámetros de ajuste automático.
ByteDance afirma que los algoritmos de aprendizaje automático pueden reducir el uso de memoria de una aplicación en un 30% u optimizar la latencia de la red HTTP en servidores NGINX, lo que resulta en una mejora del 12% en el rendimiento de la red con respecto a los ajustes manuales. En escenarios de centros de datos y computación en la nube, estas mejoras pueden generar importantes ahorros de costos y un rendimiento optimizado. Los desarrolladores admiten que el autoajuste del kernel a través del aprendizaje automático no funcionará en todos los casos, pero esperan que sea cada vez más necesario.
Visite la documentación para obtener más información:
https://lpc.events/event/17/contributions/1520/attachments/1152/2582/Linux%20Kernel%20Autotuning.pdf