Un equipo de investigadores del MIT ha desarrollado un sistema que mejora la eficiencia de los centros de datos al equilibrar las cargas de trabajo. Este enfoque permite optimizar el rendimiento del hardware de almacenamiento flash.
Los dispositivos de almacenamiento se agrupan en red para compartir recursos entre múltiples aplicaciones. Sin embargo, a menudo, la capacidad de estos dispositivos permanece subutilizada debido a la variabilidad en su rendimiento.
Mejorando el rendimiento del almacenamiento
El nuevo sistema aborda tres fuentes principales de variabilidad en el rendimiento de los dispositivos de almacenamiento. A diferencia de los métodos tradicionales, que solo abordan una fuente a la vez, este sistema proporciona mejoras significativas en la velocidad.
Utiliza una arquitectura de dos niveles, donde un controlador central toma decisiones generales sobre las tareas de cada dispositivo. Los controladores locales se encargan de redirigir rápidamente los datos si un dispositivo está teniendo dificultades.
Este sistema se adapta en tiempo real a las cargas de trabajo cambiantes y no requiere hardware especializado. Durante las pruebas, se observó que casi duplicaba el rendimiento en tareas como el entrenamiento de modelos de IA y la compresión de imágenes.
Un enfoque innovador
La investigación fue liderada por Gohar Chaudhry, un estudiante de posgrado en ingeniería eléctrica y ciencias de la computación. Él y su equipo buscan maximizar la longevidad de los recursos costosos y con alto consumo de carbono.
El sistema, denominado Sandook, se basa en el significado de la palabra en urdu que se traduce como “caja”, simbolizando almacenamiento. Este software aborda tres formas de variabilidad que afectan el rendimiento de los SSD.
La primera fuente de variabilidad proviene de las diferencias en la antigüedad y el desgaste de los SSD. La segunda se debe a la interferencia entre operaciones de lectura y escritura en el mismo dispositivo, lo que puede ralentizar el rendimiento.
Optimización en tiempo real
El sistema de Sandook se basa en un programador global que optimiza la distribución de tareas y programadores locales que responden a eventos urgentes. Esto permite manejar la interferencia de lectura-escritura al rotar los SSD utilizados para estas operaciones.
Además, el sistema perfila el rendimiento típico de cada SSD, permitiendo detectar cuándo la recolección de basura está ralentizando las operaciones. En tales casos, reduce la carga de trabajo del SSD afectado.
Con esta estrategia, Sandook logró aumentar el rendimiento de aplicaciones entre un 12% y un 94% en comparación con métodos estáticos, mejorando también la utilización de la capacidad del SSD en un 23%.
Perspectivas futuras
Los investigadores planean incorporar nuevos protocolos de SSD que ofrezcan más control sobre la colocación de datos. También desean aprovechar la predictibilidad en cargas de trabajo de IA para mejorar la eficiencia de las operaciones.
La memoria flash es fundamental en las aplicaciones modernas de centros de datos, y este trabajo representa un avance significativo en el uso eficiente de estos recursos.
La investigación fue financiada en parte por la Fundación Nacional de Ciencias de EE. UU., la Agencia de Proyectos de Investigación Avanzada de Defensa y la Corporación de Investigación de Semiconductores.

