Facebook presentó el mecanismo TMO, que permite ahorrar entre un 20% y un 32% de memoria en los servidores.

Los ingenieros de Facebook (prohibido en RF) publicaron un informe sobre la implementación el año pasado de la tecnología TMO (Transparent Memory Offloading), que permite ahorrar significativamente memoria RAM en servidores al desplazar datos secundarios no requeridos para realizar tareas a dispositivos de almacenamiento más económicos, como unidades NVMe SSD. Según Facebook, la aplicación de TMO permite ahorrar entre el 20 y el 32% de RAM en cada servidor. La solución está diseñada para ser utilizada en infraestructuras donde las aplicaciones se ejecutan en contenedores aislados. Los componentes de TMO que funcionan del lado del núcleo ya están incluidos en el núcleo de Linux.

Del lado del núcleo de Linux, el funcionamiento de la tecnología se asegura a través del subsistema PSI (Pressure Stall Information), disponible desde la versión 4.20. PSI ya se está utilizando en varios manejadores de escasez de memoria y permite analizar información sobre el tiempo de espera para obtener diversos recursos (CPU, memoria, entrada/salida). Con la ayuda de PSI, los manejadores en el espacio de usuario pueden evaluar de manera más precisa el nivel de carga del sistema y la naturaleza de la desaceleración del rendimiento, lo que permite identificar desviaciones en una etapa muy temprana, cuando aún no afectan notablemente el rendimiento.

En el espacio de usuario, el funcionamiento de TMO está asegurado por el componente Senpai, que a través de cgroup2 ajusta dinámicamente el límite de memoria para los contenedores de aplicaciones basándose en los datos obtenidos de PSI. Senpai analiza señales de inicio de escasez de recursos a través de PSI, evalúa la sensibilidad de las aplicaciones a la desaceleración de acceso a la memoria e intenta determinar el tamaño mínimo de memoria necesario para el contenedor, en el que los datos requeridos para su funcionamiento permanecen en RAM, mientras que los datos auxiliares, que están en la caché de archivos o que no se utilizan directamente en ese momento, son desplazados al área de intercambio.

Facebook presentó el mecanismo TMO, que permite ahorrar entre un 20% y un 32% de memoria en los servidores.

Así, la esencia de TMO es mantener los procesos en una estricta dieta en términos de consumo de memoria, forzando el traslado a la sección de paginación de las páginas de memoria no utilizadas, cuyo desalojo no afecta significativamente el rendimiento (por ejemplo, páginas con código que se utiliza solo durante la inicialización y datos utilizados una sola vez en la caché del disco). A diferencia del desalojo de información a la sección de paginación en respuesta a la falta de memoria, en TMO los datos se desalojan en función de una previsión proactiva.

Uno de los criterios para el desalojo es la ausencia de acceso a una página de memoria durante 5 minutos. Tales páginas se denominan frías (cold memory page) y, en promedio, constituyen alrededor del 35% de la memoria de las aplicaciones (dependiendo del tipo de aplicación, el rango varía del 19% al 65%). En el desalojo, se tiene en cuenta la actividad relacionada con las páginas de memoria anónimas (memoria asignada por la aplicación) y la memoria utilizada para la caché de archivos (asignada por el núcleo). En algunas aplicaciones, el consumo principal está relacionado con la memoria anónima, pero en otras, la caché de archivos también tiene un gran impacto. Para evitar un desequilibrio en el desalojo de memoria a la caché, TMO aplica un nuevo algoritmo de paginación que desalojará las páginas anónimas y las páginas relacionadas con la caché de archivos de manera proporcional.

El desalojo de páginas poco utilizadas a una memoria más lenta no afecta significativamente el rendimiento, pero permite reducir considerablemente los costos de hardware. Los datos se desalojan a unidades SSD o a un área comprimida de paginación en la memoria RAM. En términos de costo por byte de datos, el uso de NVMe SSD es hasta 10 veces más barato que la compresión en la memoria RAM.

Facebook presentó el mecanismo TMO, que permite ahorrar entre un 20% y un 32% de memoria en los servidores.


Fuente: opennet.ru
Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster