23 votos

¿Cómo evitan los ordenadores los errores de cálculo?

Si un transistor falla y causa que toda la computación sea incorrecta, ¿cómo verifica una computadora si es correcta? Mi única suposición es que lo hace varias veces en diferentes unidades. Intenté buscar información en línea pero realmente no sé qué buscar y, dado que los programas complejos pasan por miles de millones de ciclos, mi intuición me dice que hay una forma de prevenir errores de cálculo.

Estoy buscando una lista de puntos de partida donde pueda comenzar a aprender campos, términos y libros de texto cercanos; no tengo muchos conocimientos en este campo, pero he cursado quantum 1 y 2 y tengo conocimientos generales sobre ingeniería eléctrica, incluyendo lógica de primer orden.

1voto

fraxinus Puntos 69

En las computadoras modernas de propósito general, lo principal para prevenir la mayoría de los errores computacionales es la profunda complejidad de múltiples capas del software moderno de propósito general.

Una torre de naipes como esta es profundamente sensible a la corrupción de datos: cada circuito y cada rutina básica se ejercitan en múltiples roles, muchas veces por segundo. Por ejemplo, un solo bit en la memoria podría ser un puntero, parte de algún dato o un indicador de máquina de estado en cualquier momento particular.

Si por alguna razón, un solo bit en la memoria cambia de estado de vez en cuando, tarde o temprano cambia de manera que hace que alguna estructura de datos importante sea auto inconsistente. Esto termina sirviendo al usuario con una de las diversas "pantallas de la muerte".

Una computadora así naturalmente se considera poco confiable y está sujeta a reparación o disposición.

La misma "presión de selección" generalmente se aplica a la capa básica del sistema operativo y a las rutinas básicas de la biblioteca de software (por ejemplo, planificador de procesos, asignación de memoria, controladores de dispositivos, sistemas de archivos, entre otros).

Las cosas que son golpeadas cientos y miles de veces por segundo en diversos casos de uso (incluyendo múltiples casos límite) son o sensatas y consistentes, o fallarán de manera evidente.

0voto

gnasher729 Puntos 111

En tu computadora personal o de trabajo: Obtén una computadora de una empresa confiable que no construya hardware que funcione por encima de las especificaciones para ser un uno por ciento más rápida que la competencia y se vuelva inestable. (Actualmente Intel tiene muchos problemas con los fabricantes de placas base que superan intencionalmente las especificaciones de diseño, y luego obtienes una computadora que funciona bien durante una hora pero no más tiempo). Asegúrate de tener un enfriamiento adecuado, incluido alejar la computadora de los radiadores en tu hogar. No hay picos de voltaje ni similares. No hay imanes súper potentes pegados al estuche. Si tu techo tiene filtraciones, arréglalo. Mantén las bebidas calientes alejadas de tu computadora, y aún más las bebidas azucaradas. Obtén RAM y discos duros / SSD de un proveedor confiable. Simplemente son cosas de sentido común, y tu computadora funcionará perfectamente.

Un solo transistor que no funcione correctamente muy probablemente no tendrá ningún efecto o hará que tu computadora se bloquee. Digamos que mueves una dirección de 64 bits de un registro A a un registro B. Cambiar un solo bit en esa dirección durante el movimiento - si la dirección se está utilizando - tiene una buena probabilidad de bloquear tu computadora. Y un bloqueo significa sin errores computacionales :-(

(Una vez trabajé en un lugar donde de 7 computadoras, cuatro tenían RAM incorrecta suministrada. El efecto era que todo funcionaba bien mientras seguías trabajando; si te levantabas, tomabas una taza de café y volvías cinco minutos después, se bloqueaba tan pronto como tocabas el teclado. Fue bastante molesto y requirió mucho tiempo, pero no causó problemas reales).

Pero para este tipo de máquinas, los errores se previenen utilizando piezas de calidad con tasas de falla muy, muy bajas por parte del fabricante y proporcionando un entorno adecuado para la computadora desde tu lado. Hay otras respuestas en caso de que esto no sea suficiente.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X