los números simples que hacen colapsar a muchas computadoras - lanacion

9
E l 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. Miércoles 13 de mayo de 2015 | 00:46 Los números simples que hacen colapsar a muchas computadoras Cuando un contador supera el límite de 2.147.483.647, muchos sistemas sufren un problema lógico que afectó a lanzamientos de cohetes, satélites y hasta al medidor de visitas del reproductor de videos de YouTube

Upload: pablo-guglielmino

Post on 13-Jul-2016

16 views

Category:

Documents


4 download

DESCRIPTION

El colapso de las maquinas

TRANSCRIPT

Page 1: Los Números Simples Que Hacen Colapsar a Muchas Computadoras - Lanacion

13/5/2015 Los números simples que hacen colapsar a muchas computadoras lanacion.com

http://www.lanacion.com.ar/1792188elnumerosimplequehacecolapsarlascomputadoras 1/9

E l martes 4 de junio de 1996 se recordará por siempre como un día oscuropara la Agencia Espacial Europea (AEA). El primer vuelo no tripulado delcohete 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. Seestima que la explosión significó una pérdida de US$ 370 millones.

Miércoles 13 de mayo de 2015 | 00:46

Los números simples que hacen colapsar amuchas computadorasCuando un contador supera el límite de 2.147.483.647, muchos sistemas sufrenun problema lógico que afectó a lanzamientos de cohetes, satélites y hasta almedidor de visitas del reproductor de videos de YouTube

Page 2: Los Números Simples Que Hacen Colapsar a Muchas Computadoras - Lanacion

13/5/2015 Los números simples que hacen colapsar a muchas computadoras lanacion.com

http://www.lanacion.com.ar/1792188elnumerosimplequehacecolapsarlascomputadoras 2/9

¿Qué pasó? No hubo falla mecánica ni acto de sabotaje. No: el lanzamientoterminó en desastre gracias a un simple error de software. Una computadorasuperada por la matemática: esencialmente, porque se vio abrumada por unnúmero más grande de lo que se esperaba.

¿Cómo es posible que una computadora quedara aturdida por números? Puesresulta que tales errores son responsables de una serie de desastres y percancesen años recientes, que han terminado en la destrucción de cohetes, el extravío denaves espaciales y el lanzamiento de misiles fuera de objetivo.

¿Qué los provoca y cómo ocurren?

Imagínate que tratas de representar el valor de, digamos, 105.350 kilómetros enun odómetro con un valor máximo de 99.999. El contador volverá al valor de00.000 y contará a partir de ahí hasta 5349, el saldo restante.

Esta es la misma especie de inexactitud que condenó al fracaso el lanzamientodel 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 grandespara el sistema de almacenamiento interno del programa que los está usando, loque puede ocasionar el mal funcionamiento.

LANZAMIENTO FALLIDO

Page 3: Los Números Simples Que Hacen Colapsar a Muchas Computadoras - Lanacion

13/5/2015 Los números simples que hacen colapsar a muchas computadoras lanacion.com

http://www.lanacion.com.ar/1792188elnumerosimplequehacecolapsarlascomputadoras 3/9

La investigación del incidente del Ariane encontró que un proceso que habíaquedado en el software de una generación anterior de cohetes, el Ariane 4, habíacapturado una lectura inesperadamente alta de la velocidad lateral del nuevo ymás rápido vehículo.

El software del Ariane 5 no pudo manejar esa cifra. Una secuencia deautodestrucción se inició. Un par de segundos después, el cohete era historia.

Esta clase de problemas surge con una frecuencia sorprendente. Se sospechaque la razón por la cual la Nasa perdió contacto con la sonda espacial DeepImpact en 2013 fue que llegó a un límite de enteros.

Hace poco se informó que el Boeing 787 puede estar afectado por un problemasimilar.

La unidad de control que maneja la distribución de energía a los motores de lanave entran en modo de respaldo automáticamente y apagan los motores si sela deja encendida por más de 248 días.

El Ariane 5 siguió funcionandoparcialmente con software de unageneración anterior, que no pudo con lavelocidad del modelo más nuevo.

Page 4: Los Números Simples Que Hacen Colapsar a Muchas Computadoras - Lanacion

13/5/2015 Los números simples que hacen colapsar a muchas computadoras lanacion.com

http://www.lanacion.com.ar/1792188elnumerosimplequehacecolapsarlascomputadoras 4/9

Hipotéticamente, los motores podrían apagarse de repente incluso en mitad de unvuelo. Aunque se han dado a conocer muy pocos detalles la Autoridad Federalde Aviación (FAA, por sus siglas en inglés) y Boeing declinaron la oportunidad dedar su opinión para este artículo, algunos observadores aficionados handestacado que 248 días (contados en centésimas de segundos) equivalen alnú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 puedealmacenarse en un registro de 32 bits, usado por muchas computadoras.

LÍMITE INTRIGANTE

Los números son infinitos, así que ¿por qué escoger un espacio dealmacenamiento tan limitado?

La respuesta es que, tradicionalmente, las computadoras han exigido eficienciapara todo. El espacio que se usaba para almacenar información solía ser mucho

Las computadoras demandan eficiencia para todo. Pero a veces es difícil anticipar losproblemas a futuro.

Page 5: Los Números Simples Que Hacen Colapsar a Muchas Computadoras - Lanacion

13/5/2015 Los números simples que hacen colapsar a muchas computadoras lanacion.com

http://www.lanacion.com.ar/1792188elnumerosimplequehacecolapsarlascomputadoras 5/9

más costoso de lo que es ahora y procesar valores más grandes tomaba mástiempo.

Si te mantenías dentro de ciertos límites, el software funcionaba mejor. Lossistemas 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 nosiempre son percibidas como problemáticas de antemano.

"Tenemos que reconocer que con el software siempre manejamos una realidadaproximada", explica Bill Scherlis, un experto de la Carnegie Mellon University."Siempre hay una negociación entre el costo de lograr una representación másexacta y el beneficio de la eficiencia".

El matemático Douglas Arnold, de la Universidad de Minnesota, incluye elincidente del Ariane 5 en una página web titulada Algunos desastres atribuibles amala computación numérica.

Arnold también resalta un caso de 1991 en el que un misil Patriot falló en suintento de interceptar un ataque de misiles Scud iraquíes contra unas barracas delejército estadounidense durante la Guerra del Golfo.

En este caso, un error de desbordamiento causó que el sistema de defensa nopudiera seguir la trayectoria del misil Scud, que viajaba a una velocidad de

Un error de desbordamiento impidió queel sistema de defensa Patriot no pudierahacer seguimiento a un misil Scud en unincidente durante la Guerra del Golfo.

Page 6: Los Números Simples Que Hacen Colapsar a Muchas Computadoras - Lanacion

13/5/2015 Los números simples que hacen colapsar a muchas computadoras lanacion.com

http://www.lanacion.com.ar/1792188elnumerosimplequehacecolapsarlascomputadoras 6/9

1,7km/s, y en su lugar escaneara el espacio aéreo a más de 500 metros dedistancia del objetivo.

Como resultado, el Scud cayó sobre las barracas, con saldo de 28 soldadosmuertos y 98 personas heridas.

ERROR DE GANGNAM

No todos los problemas de desbordamiento son tan destructivos como estosejemplos, pero con frecuencia crean efectos inesperados.

Por ejemplo, en el videojuego Civilization, un error imprevisto ocasionó que elpacífico personaje de Gandhi se volviera hostil.

Cuando los jugadores escogían una cierta modalidad de juego, el valor quedefiní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 cadavez 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 lostiempos en YouTube, había "roto" el contador del sitio web. Aparentemente, elcontador había sido programado para llegar solo hasta 2.147.483.647 (de nuevo,el valor positivo máximo de un registro de 32 bits).

Resultó un buen truco publicitario para YouTube, que actualizó el contador. El

Psy rompió el contador de YouTube, quetuvo que ser actualizado.

Page 7: Los Números Simples Que Hacen Colapsar a Muchas Computadoras - Lanacion

13/5/2015 Los números simples que hacen colapsar a muchas computadoras lanacion.com

http://www.lanacion.com.ar/1792188elnumerosimplequehacecolapsarlascomputadoras 7/9

nuevo máximo está muy por arriba de los nueve cuatrillones.

Con frecuencia es este tipo de supuesto, que inicialmente se piensa razonable, loque causa problemas más adelante.

El desbordamiento más sonado de la historia, que muchos recordarán, fue elcacareado "error del milenio". Aunque generalmente se lo considera un fiasco, elY2K causó algunos dolores de cabeza.

Con el Y2K, el problema era más simple. ¿Qué pasa cuando uno registra los añossó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 decomputación que almacenaban valores anuales de esta manera. Al final, nocayeron aviones del cielo, pero hubo algunas consecuencias interesantes.

Por ejemplo, el equipo de detección de radiación de la localidad japonesa deIshikawa colapsó a medianoche; 150 máquinas de apuestas de un hipódromo deDelaware fallaron, y varios sitios web dieron como nueva fecha "1 de enero de19100".

Doce años después, en un incidente similar, una mujer sueca de 105 años denombre Anna Eriksson recibió una carta que la invitaba a comenzar en el jardín deinfantes porque el software había sido diseñado para contactar a los individuosnacidos en "07" (2007, no 1907).

La incapacidad para reconocer correctamente el año llevó a que millones detarjetas de débito y crédito no pudieran usarse en Alemania el día de Año Nuevode 2010.

EL AÑO 2038Hace unos 15 años, al programador William Porquet se le ocurrió pensar poranticipado en otra fecha crucial: las 3.14.07 de la mañana, GMT, del martes 19 deenero de 2038.

Ese será el momento en que el número de segundos que habrán pasado desde el1 de enero de 1970 excederá el valor máximo de muchos registros de fecha yhora de muchos computadoras modernas.

Page 8: Los Números Simples Que Hacen Colapsar a Muchas Computadoras - Lanacion

13/5/2015 Los números simples que hacen colapsar a muchas computadoras lanacion.com

http://www.lanacion.com.ar/1792188elnumerosimplequehacecolapsarlascomputadoras 8/9

Como en el caso del error del milenio, si no nos preparamos podemos terminar encolapso.

"Escribí por primera vez sobre el asunto en 1999", comenta Porquet. "Adquirí eldominio 2038.org, primero como una travesura. Pero luego me di cuenta de quehay algunos problemas reales".

A Porquet le preocupan partes viejas de software a las que nadie presta yaatención en redes bien establecidas. Cuántas de ellas seguirán operando en 23años y qué consecuencias tendrá eso es algo que nadie sabe.

"Muchos sistemas de computación señala Porquet podrían fallar en formapredecible. Pero lo harán de modos impredecibles".

ERROR EN EL TIEMPOMarkus Kuhn, un científico de computación de la Universidad de Cambridge,explica que los errores relacionados con la fecha crean interés porque susconsecuencias son impredecibles, pero también porque "no son inesperados", y la

¿Qué sorpresa nos reservan los números para el año 2038?.

Page 9: Los Números Simples Que Hacen Colapsar a Muchas Computadoras - Lanacion

13/5/2015 Los números simples que hacen colapsar a muchas computadoras lanacion.com

http://www.lanacion.com.ar/1792188elnumerosimplequehacecolapsarlascomputadoras 9/9

lanacion.com | Tecnología

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 porqueel error del milenio preparó a la industria de la computación para hacer lascorrecciones necesarias.

De hecho, ese es el plan de William Porquet. "Espero que sea algo que me saquede un semi retiro por una gran cantidad de dinero", dice medio en serio, medio enbroma.

Para Kuhn, el problema interesante no es el error de desbordamiento en sí, sinootro que ocurrirá el próximo mes de junio.

El año 2015 será un segundo más largo que 2014 gracias a una medida tomadapara corregir la discrepancia entre el tiempo astronómico (el que se basa en elmovimiento de rotación de la Tierra) y el tiempo atómico (el método más exacto demedición del tiempo).

La última vez que eso pasó fue 2012, y ocasionó el colapso de muchascomputadoras. Afortunadamente, dice Kuhn, esta vez estaremos mejorpreparados.

Parece que, sin importar lo que hagamos, ciertos números y cálculos siempre vana 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 yteniendo que hacer negociaciones en el terreno de la ingeniería. Eso nosacompañará para siempre". .