Nota: esta respuesta no se trata de física, sino de errores de memoria silenciosa con módulos de memoria no ECC. Algunos de los errores pueden provenir del espacio exterior y otros, del espacio interior del escritorio.
Hay varios estudios de fallas de memoria ECC en grandes granjas de servidores como clústeres CERN y centros de datos de Google. El hardware de clase de servidor con ECC puede detectar y corregir todos los errores de un solo bit, y detectar muchos errores de varios bits.
Podemos suponer que hay muchas computadoras de escritorio que no son ECC (y teléfonos inteligentes móviles que no son ECC). Si verificamos en los documentos las tasas de error corregibles por ECC (bits de bits únicos), podemos conocer la tasa de corrupción de memoria silenciosa en la memoria no ECC.
Entonces, si el programa tiene un gran conjunto de datos (varios GB), o tiene una alta velocidad de lectura o escritura de memoria (GB / so más), y se ejecuta durante varias horas, entonces podemos esperar hasta varios cambios de bits silenciosos en el hardware del escritorio. Memtest no puede detectar esta tasa, y los módulos DRAM son buenos.
El clúster largo se ejecuta en miles de PC que no son ECC, como la computación de cuadrícula de Internet BOINC siempre tendrá errores de cambios de bits de memoria y también de errores silenciosos de disco y red.
Y para máquinas más grandes (10 miles de servidores) incluso con protección ECC contra errores de un solo bit, como vemos en el informe de Sandia 2012, puede haber cambios de doble bit todos los días, por lo que no tendrá la oportunidad de ejecutar paralelos de tamaño completo programa durante varios días (sin puntos de control regulares y reinicio desde el último punto de control correcto en caso de doble error). Las máquinas enormes también recibirán cambios de bits en sus cachés y registros de CPU (disparadores de chips tanto arquitectónicos como internos, por ejemplo, en la ruta de datos ALU), porque no todos están protegidos por ECC.
PD: Las cosas serán mucho peores si el módulo DRAM es malo. Por ejemplo, instalé una nueva DRAM en la computadora portátil, que murió varias semanas después. Comenzó a dar muchos errores de memoria. Lo que obtengo: la computadora portátil se cuelga, Linux se reinicia, ejecuta fsck, encuentra errores en el sistema de archivos raíz y dice que desea reiniciar después de corregir los errores. Pero en cada próximo reinicio (hice alrededor de 5-6 de ellos) todavía se encuentran errores en el sistema de archivos raíz.