Uno de los centros de datos de Facebook en Prineville, Oregón. Imagen: Meta
Después de años de probar varios enfoques para detectar corrupciones silenciosas de datos (SDC), Meta ha esbozado su enfoque para resolver el problema del hardware.
Los SDC son errores de datos que no dejan ningún registro ni rastro en los registros del sistema. Las fuentes de SDC incluyen dependencias de ruta de datos, variación de temperatura y edad, entre otros factores de silicio. Dado que estos errores de datos son silenciosos, pueden pasar desapercibidos dentro de las cargas de trabajo y propagarse a través de varios servicios.
El error de datos puede afectar la memoria, el almacenamiento, las redes, así como las CPU de la computadora y causar pérdida y corrupción de datos.
Los ingenieros de Meta comenzaron a realizar pruebas hace tres años, ya que tenían dificultades para detectar los SDC una vez que los componentes ya habían entrado en una de sus flotas de centros de datos de producción.
«Nosotros [needed] nuevos enfoques de detección para preservar el estado de las aplicaciones y la resiliencia de la flota mediante la detección de los SDC y su mitigación a escala», dijo el ingeniero meta Harish Dattatraya Dixit en una publicación de blog.
Según las pruebas, Meta descubrió que su forma preferida de detectar SDC es usar pruebas fuera de producción y de ondulación.
La prueba fuera de producción es un método de detección de SDC que ocurre cuando las máquinas pasan por un evento de mantenimiento, como reinicios del sistema, actualizaciones del kernel y aprovisionamiento de host, entre otros. Este tipo de prueba se basa en estos eventos para permitir que las pruebas tengan tiempos de ejecución más largos, lo que permite una «naturaleza de detección más intrusiva».
Mientras tanto, las pruebas de ondulación se realizan mediante la ejecución de una detección silenciosa de errores junto con las cargas de trabajo activas. Esto se hace a través de pruebas paralelas con cargas de trabajo e inyectando patrones de bits con los resultados esperados de manera intermitente dentro de flotas y cargas de trabajo, lo que Meta descubrió que permitía una detección de SDC más rápida que las pruebas fuera de producción.
Este tipo más rápido de prueba «ondula» a través de la infraestructura de Meta, lo que permite tiempos de prueba que son 1000 veces más bajos que los tiempos de ejecución de prueba fuera de producción.
Sin embargo, los ingenieros de Meta observaron que las pruebas de ondulación solo podían detectar el 70 % de las corrupciones de datos de la flota, aunque pudieron detectarlas en 15 días. En comparación, las pruebas fuera de producción tardaron seis meses en detectar las mismas corrupciones junto con otras.
Al explicar estos beneficios y compensaciones, Dattatraya Dixit recomendó que las organizaciones con infraestructura a gran escala deberían usar ambos enfoques para detectar los SDC.
«Recomendamos usar y desplegar ambos en una flota a gran escala», dijo Dattatraya Dixit.
«Si bien la detección de SDC es un problema desafiante para las infraestructuras a gran escala, años de pruebas nos han demostrado que [out-of-production] y las pruebas de ondulación pueden proporcionar una solución novedosa para detectar SDC a escala lo más rápido posible».
Cuando los ingenieros de Meta usaron ambas pruebas para detectar los SDC, descubrieron que todos los SDC podían detectarse con el tiempo. Meta dijo que el 70 % de los SDC procedían de pruebas de ondulación después de 15 días, las pruebas fuera de producción detectaron hasta el 23 % de los SDC restantes en seis meses, mientras que el 7 % restante se encontró a través de repetidas instancias de ondulación dentro de sus flotas de centros de datos.
Para impulsar una mayor innovación en la detección de SDC, Meta también ha anunciado que otorgará cinco subvenciones, cada una con un valor de alrededor de $ 50,000, para que la academia cree propuestas de investigación en este campo de investigación.