3. el número increíblemente simple que hace colapsar las computadoras
DESCRIPTION
el numero increíble que colapse a los computadores y sistemas de software.TRANSCRIPT
![Page 1: 3. El Número Increíblemente Simple Que Hace Colapsar Las Computadoras](https://reader031.vdocumento.com/reader031/viewer/2022020311/577c79c31a28abe05493ecda/html5/thumbnails/1.jpg)
Página 1 de 7
El número increíblemente simple que hace
colapsar las computadoras
Por Chris Baraniuk - BBC
El martes 4 de junio de 1996 se recordará por siempre como un día oscuro
para la Agencia Espacial Europea (AEA).
El primer vuelo no tripulado del cohete Ariane 5, cargado con cuatro costosos
satélites científicos, se convirtió en una bola de fuego y humo 39 segundos
después de empezar.
Se estima que la explosión significó una pérdida de US$370 millones.
¿Qué pasó? No hubo falla mecánica ni acto de sabotaje. No: el lanzamiento
terminó en desastre gracias a un simple error de software. Una computadora
superada por la matemática: esencialmente, porque se vio abrumada por un
número más grande de lo que se esperaba.
¿Cómo es posible que una computadora quedara aturdida por números? Pues
resulta que tales errores son responsables de una serie de desastres y percances
en años recientes, que han terminado en la destrucción de cohetes, el extravío
de naves espaciales y el lanzamiento de misiles fuera de objetivo.
![Page 2: 3. El Número Increíblemente Simple Que Hace Colapsar Las Computadoras](https://reader031.vdocumento.com/reader031/viewer/2022020311/577c79c31a28abe05493ecda/html5/thumbnails/2.jpg)
Página 2 de 7
¿Qué los provoca y cómo ocurren?
Imagínate que tratas de representar el valor de, digamos, 105.350 kilómetros
en un odómetro con un valor máximo de 99.999.
El contador volverá al valor de 00.000 y contará a partir de ahí hasta 5.349, el
saldo restante.
Esta es la misma especie de
inexactitud que condenó al fracaso
el lanzamiento del Ariane en 1996.
Más técnicamente, se le llama
"desbordamiento de entero"
(integer overflow, en inglés).
Significa que los números son
demasiado grandes para el sistema
de almacenamiento, lo que puede
ocasionar el mal funcionamiento.
Lanzamiento fallido
La investigación del incidente del Ariane encontró que un proceso que había
quedado en el software de una generación anterior de cohetes, el Ariane 4,
había capturado una lectura inesperadamente alta de la velocidad lateral del
nuevo y más rápido vehículo.
El Ariane 5 siguió funcionando parcialmente con software de una generación
anterior, que no pudo con la velocidad del modelo más nuevo.
El software del Ariane 5 no pudo manejar esa cifra. Una secuencia de
autodestrucción se inició. Un par de segundos después, el cohete era historia.
Esta clase de problemas surge con una frecuencia sorprendente. Se sospecha
que la razón por la cual la Nasa perdió contacto con la sonda espacial Deep
Impact en 2013 fue que llegó a un límite de enteros.
Hace poco se informó que el Boing 787 puede estar afectado por un problema
similar.
![Page 3: 3. El Número Increíblemente Simple Que Hace Colapsar Las Computadoras](https://reader031.vdocumento.com/reader031/viewer/2022020311/577c79c31a28abe05493ecda/html5/thumbnails/3.jpg)
Página 3 de 7
La unidad de control que maneja la distribución de energía a los motores de la
nave entran en modo de respaldo automáticamente –y apagan los motores- si
se la deja encendida por más de 248 días.
Hipotéticamente, los motores podrían apagarse de repente incluso en mitad de
un vuelo. Aunque se han dado a conocer muy pocos detalles –la Autoridad
Federal de Aviación (FAA, por sus siglas en inglés) y Boeing declinaron la
oportunidad de dar su opinión para este artículo-, algunos observadores
aficionados han destacado que 248 días (contados en centésimas de segundos)
equivalen al número 2.147.483.647, lo cual es muy significativo.
¿Y por qué? Sucede que 2.147.483.647 es el valor positivo máximo que puede
almacenarse en un procesador de 32 bits, comúnmente instalado en muchos
sistemas de computación.
Límite intrigante
Los números son infinitos, así que ¿por qué escoger un almacenamiento tan
limitado?
La respuesta es que, tradicionalmente, las computadoras han exigido
eficiencia para todo. El espacio que se usaba para almacenar información solía
ser mucho más costoso de lo que es ahora y procesar valores más grandes
tomaba más tiempo.
Las computadoras demandan eficiencia para todo. Pero a veces es difícil
anticipar los problemas a futuro.
Si te mantenías dentro de ciertos límites, el software funcionaba mejor. Los
sistemas de dirección de un cohete hacen muchas cuentas críticas muy rápido,
así que cualquier número de sobra realmente importa.
El problema con eso es que, como demostró el Ariane 5, tales limitaciones no
siempre son percibidas como problemáticas de antemano.
"Tenemos que reconocer que con el software siempre manejamos una realidad
aproximada", explica Bill Scherlis, un experto de la Carnegie Mellon
University. "Siempre hay una negociación entre el costo de lograr una
representación más exacta y el beneficio de la eficiencia".
![Page 4: 3. El Número Increíblemente Simple Que Hace Colapsar Las Computadoras](https://reader031.vdocumento.com/reader031/viewer/2022020311/577c79c31a28abe05493ecda/html5/thumbnails/4.jpg)
Página 4 de 7
El matemático Douglas Arnold, de la Universidad de Minnesota, incluye el
incidente del Ariane 5 en una página web titulada "Algunos desastres
atribuibles a mala computación numérica".
Arnold también resalta un caso de 1991 en el que un misil Patriot falló en su
intento de interceptar un ataque de misiles Scud iraquíes contra unas barracas
del ejército estadounidense durante la Guerra del Golfo.
Un error de desbordamiento impidió que el sistema de defensa Patriot no
pudiera hacer seguimiento a un misil Scud en un incidente durante la Guerra
del Golfo.
En este caso, un error de desbordamiento causó que el sistema de defensa no
pudiera seguir la trayectoria del misil Scud, que viajaba a una velocidad de
1,7km/s, y en su lugar escaneara el espacio aéreo a más de 500 metros de
distancia del objetivo.
Como resultado, el Scud cayó sobre las barracas, con saldo de 28 soldados
muertos y 98 personas heridas.
Error de Gangnam
No todos los problemas de desbordamiento son tan destructivos como estos
ejemplos, pero con frecuencia crean efectos inesperados.
Por ejemplo, en el videojuego Civilization, un error imprevisto ocasionó que
el pacífico personaje de Gandhi se volviera hostil.
Cuando los jugadores escogían una cierta modalidad de juego, el valor que
definía la agresividad de Gandhi se echaba para atrás hacia el cero, y de ahí
seguía retrocediendo hasta dar el valor máximo.
En consecuencia, Gandhi amenazaba a los jugadores con armas nucleares cada
vez que aparecía, lo que hizo reír a muchos de ellos.
En diciembre, se informó que Gangnam Style, el video más popular de todos
los tiempos en YouTube, había "roto" el contador del sitio web.
Aparentemente, el contador había sido programado para llegar solo hasta
2.147.483.647 (de nuevo, el valor positivo máximo de un procesador de 32
bits).
![Page 5: 3. El Número Increíblemente Simple Que Hace Colapsar Las Computadoras](https://reader031.vdocumento.com/reader031/viewer/2022020311/577c79c31a28abe05493ecda/html5/thumbnails/5.jpg)
Página 5 de 7
Resultó un buen truco publicitario para YouTube, que actualizó el contador.
El nuevo máximo está muy por arriba de los nueve cuatrillones.
Psy rompió el contador de YouTube, que tuvo que ser actualizado.
Con frecuencia es este tipo de supuesto, que inicialmente se piensa razonable,
lo que causa problemas más adelante.
El desbordamiento más sonado de la historia, que muchos recordarán, fue el
cacareado "error del milenio". Aunque generalmente se lo considera un fiasco,
el Y2K causó algunos dolores de cabeza.
Con el Y2K, el problema era más simple. ¿Qué pasa cuando uno registra los
años sólo con los últimos dos dígitos? 1900 se vuelve lo mismo que 2000.
Mucha gente se dio cuenta de que esto causaría confusión en los sistemas de
computación que almacenaban valores anuales de esta manera. Al final, no
cayeron aviones del cielo, pero hubo algunas consecuencias interesantes.
Por ejemplo, el equipo de detección de radiación de la localidad japonesa de
Ishikawa colapsó a medianoche; 150 máquinas de apuestas de un hipódromo
de Delaware fallaron, y varios sitios web dieron como nueva fecha "1 de enero
de 19100".
Doce años después, en un incidente similar, una mujer sueca de 1905 de
nombre Anna Eriksson recibió una carta que la invitaba a comenzar en el
jardín de infantes porque el software había sido diseñado para contactar a los
individuos nacidos en "07" (2007, no 1907).
La incapacidad para reconocer correctamente el año llevó a que millones de
tarjetas de débito y crédito no pudieran usarse en Alemania el día de Año
Nuevo de 2010.
El año 2038
Hace unos 15 años, al programador William Porquet se le ocurrió pensar por
anticipado en otra fecha crucial: las 3.14.07 de la mañana, GMT, del martes
19 de enero de 2038.
¿Qué sorpresa nos reservan los números para el año 2038?
![Page 6: 3. El Número Increíblemente Simple Que Hace Colapsar Las Computadoras](https://reader031.vdocumento.com/reader031/viewer/2022020311/577c79c31a28abe05493ecda/html5/thumbnails/6.jpg)
Página 6 de 7
Ese será el momento en que el número de segundos que habrán pasado desde
el 1 de enero de 1970 excederá el valor máximo de muchos registros de fecha
y hora de muchos computadores hoy.
Como en el caso del error del milenio, si no nos preparamos podemos terminar
en colapso.
"Escribí por primera vez sobre el asunto en 1999", comenta Porquet. "Adquirí
el dominio 2038.org, primero como una travesura. Pero luego me di cuenta de
que hay algunos problemas reales".
A Porquet le preocupan partes viejas de software a las que nadie presta ya
atención en redes bien establecidas. Cuántas de ellas seguirán operando en 23
años y qué consecuencias tendrá eso es algo que nadie sabe.
"Muchos sistemas de computación -señala Porquet- podrían fallar en forma
predecible. Pero lo harán de modos impredecibles".
Error en el tiempo
Markus Kuhn, un científico de computación de la Universidad de Cambridge,
explica que los errores relacionados con la fecha crean interés porque sus
consecuencias son impredecibles, pero también porque "no son inesperados",
y la gente puede especular sobre lo que puede pasar cuando el día temido
amanezca.
Kuhn piensa que el problema de 2038 será menos significativo que el Y2K
porque el error del milenio preparó a la industria de la computación para hacer
las correcciones necesarias.
Los expertos esperan que hayamos aprendido las lecciones del Y2K.
De hecho, ese es el plan de William Porquet. "Espero que sea algo que me
saque de un semi retiro por una gran cantidad de dinero", dice medio en serio,
medio en broma.
Para Kuhn, el problema interesante no es el error de desbordamiento en sí,
sino otro que ocurrirá el próximo mes de junio.
El año 2015 será un segundo más largo que 2014 gracias a una medida tomada
para corregir la discrepancia entre el tiempo astronómico (el que se basa en el
![Page 7: 3. El Número Increíblemente Simple Que Hace Colapsar Las Computadoras](https://reader031.vdocumento.com/reader031/viewer/2022020311/577c79c31a28abe05493ecda/html5/thumbnails/7.jpg)
Página 7 de 7
movimiento de rotación de la Tierra) y el tiempo atómico (el método más
exacto de medición del tiempo).
La última vez que eso pasó fue 2012, y ocasionó el colapso de muchas
computadoras. Afortunadamente, dice Kuhn, esta vez estaremos mejor
preparados.
Parece que, sin importar lo que hagamos, ciertos números y cálculos siempre
van a confundir a las computadoras, causando errores o cosas peores.
"Hemos aprendido mucho de la experiencia del Y2K y otros eventos
similares", dice Scherlis. "Pero en realidad siempre estamos haciendo
aproximaciones y teniendo que hacer negociaciones en el terreno de la
ingeniería. Eso nos acompañará para siempre".