¿Qué hay de cierto en la Ley de Murphy?



RSS

Tostada cayendo al revés por la Ley de Murphy
O los que nos dedicamos a las TI somos los mayores gafes de la historia de la humanidad o algo debe haber de cierto en la Ley de Murphy para que, una vez tras otra, la tostada se nos caiga al suelo por el lado de la mantequilla.

Lo primero de todo, y a pesar de haber servido para iniciar, aclarar que en la Ley de Murphy nunca hizo referencia al famoso caso de la tostada, aunque sirve muy bien para ilustrar su fundamento.
La Ley de Murphy, obviamente nunca demostrada más allá de la empírica, fue descrita hace 61 años por Eduard Murphy, un ingeniero de la Fuerza Aérea de los Estados Unidos, y su enunciado más o menos literal es el siguiente: Si algo puede salir mal, saldrá mal.

Hace unas semanas, en El mainframe frente a sí mismo hablábamos sobre la probabilidad de que dos nodos de un clúster dejaran de funcionar a la vez. Un colega me preguntó si había estudios sobre eso y aunque no los he encontrado, ahí van algunas ideas.


¿Qué dice la estadística?

Uno de los mayores apoyos para hacer célebre la Ley ha sido el generalizado desconocimiento de la estadística. Si formulásemos la siguiente pregunta:
¿A cuántas personas hay que reunir en una sala para conseguir una probabilidad del 50% de que al menos dos cumplan años el mismo día?
Es muy probable que una de las respuestas más repetida fuese 182,5 por ser el número de días del año dividido entre dos. Probablemente habría otras más o menos variopintas como dividir 50 entre 365 o planteamientos similares, pero seguramente todas estarían muy lejos de la respuesta real.

Reuniendo a tan solo 23 personas se consigue una probabilidad ya algo superior al 50% de que entre ellas al menos dos cumplan años el mismo día. Es decir, reuniendo a 23 personas es más probable que dos cumplan años el mismo día frente a que todos tengan su cumpleaños un día diferente. Si aumentamos a  41 personas la probabilidad es ya superior al 90% y con 63 personas es ya casi total, 99%. Es decir, a partir de 63 personas es ya casi imposible que todos tengan una fecha de cumpleaños diferente.

Distribución de la probabilidad. Ley de Murphy

Llevando este mismo esquema a las TI podríamos observar que si tuviéramos, por ejemplo, una infraestructura de almacenamiento formada por 63 discos o más trabajando en paralelo y la vida útil máxima de cada disco fuera de un año tendríamos una probabilidad superior al 99% de que hubiera días en los que se rompiesen dos o más discos simultáneamente. La fórmula matemática que permite esta construcción es la siguiente:
Probabilidad de coincidir en el cumpleaños
donde 365 es el número de días del año, n el número de personas que hay en la sala y P la probabilidad
 de que al menos dos cumplan años el mismo día.


Cabina de discos
Afortunadamente, la vida útil de un disco es superior al año. Supongamos, por ejemplo, que la vida útil máxima de los discos de una cabina fuese de doce años. Es decir, tenemos la certeza absoluta de que ningún disco llegará a sobrevivir a los doce años (algo razonable, por otra parte).

Podríamos entonces afirmar que todos los discos tendrán su particular cumpleaños (el día que se rompen) en el intervalo de días [1, 365x12] (obviemos los bisiestos por simplificar).

En ese caso, tendremos una probabilidad del 50% de que habrá un día en el que se rompan dos discos cuando la cabina tenga más de 79 discos. Sorprendente ¿no? La intuición, sin duda, dice lo contrario.


Pero aún hay más

La distribución de cumpleaños de personas tomadas al azar es razonablemente aleatoria. Digo razonablemente porque hay quien dice que la probabilidad aumenta meses después de una victoria del  Athletic en Champions o, en los años '70 y '80,  tras ganar el festival de la OTI. Pero dejando eso de lado, la distribución de los cumpleaños es una variable con una distribución suficientemente estocástica.

Sin embargo, la distribución de roturas de los elementos electrónicos y sobre todo mecánicos no es tan aleatoria. Vista en su conjunto sigue una distribución aleatoria pero la probabilidad aumenta con el tiempo. Es decir, es más probable que se rompan más discos en el sexto año de vida que en el primero lo que hace que la probabilidad de roturas concurrentes aumente dado que la mayor parte de las roturas se concentrarán en un espacio de tiempo más reducido al final de la vida útil. Por tanto, atención a alargar las infraestructuras mucho más allá del tiempo recomendado por los fabricantes. Es cierto que el fabricante tendrá una querencia innata a querer renovar cuanto antes (lógicamente, más ventas) pero algo de razón puede tener si se estira demasiado.


Pero sigue habiendo más

Cuando un disco se rompe se está obligando a sus compañeros de viaje a realizar un trabajo extra, dado que la carga se mantiene pero el número de discos para atenderla es menor. Por tanto, la probabilidad vuelve a aumentar dado que ante la rotura de un disco el resto de elementos de la cabina se someten a un mayor número de operaciones de I/O lo que, sin duda, implica mayor número de movimientos de cabeza que, a su vez, implica mayor calentamiento y más probabilidad de fallo.


Y, por si fuera poco, aún hay más

Trabajo en paralelo
Al día siguiente, el técnico de sistemas sustituye el disco averiado. En ese momento, sus compañeros (a los discos me refiero), muy solidarios ellos, le indican al nuevo disco que se ponga las 'pilas' cuanto antes para asumir su parte de trabajo. Pero para ello, los discos existentes, que ya tenían una carga extra, tienen que volver a someterse a un nuevo sobre-esfuerzo dado que deben seguir dando servicio al tiempo que reparten la carga (la información) de nuevo entre todos los discos existentes (los que había más el nuevo). Y con ello, nuevamente, vuelve a aumentar la probabilidad de fallo al verse sometidos a una carga de trabajo extra.


Conclusión

Todo lo aquí expuesto es válido para una cabina de discos, para un pool de switches de comunicaciones, para un clúster de varios nodos y, en general, para cualquier infraestructura que esté basada en más de un elemento. E incluso, en sistemas monoparentales será valido para sus discos, sus slots de memoria, sus ventiladores,...


Una probabilidad baja no implica que algo no pueda ocurrir
Pero también lo es para las aplicaciones. Obviamente, habrá que buscar los elementos que afectan a la distribución de la curva y tal vez la antigüedad de los programas no sea relevante como en el caso de las infraestructuras pero, sin duda, la probabilidad de que las cosas ocurran será en la inmensa mayoría de las ocasiones muy superior a la que la intuición y el sentido común parecen indicar.

La próxima vez que nos ocurra algo que achaquemos a Murphy deberemos pensar si realmente había pocas posibilidades de que eso sucediera.

Porque después de todo, y pese a los sesudos razonamientos matemáticos, ¡la Ley de Murphy existe!


www.tonsofit.com


RSS

9 comentarios

  1. 10ª Ley de Anderson: Nunca se rompe la pieza de la que tenemos recambio.

    ResponderEliminar
  2. Regla de Kettering: Si algo no funciona es por una razón distinta de la que creemos que no funciona.

    ResponderEliminar
  3. Ley de la perversidad de los objetos inanimados: Todo objeto inanimado, independientemente de su composición o configuración, puede producir en cualquier momento, de un modo totalmente inesperado y por razones que permanecerán siempre oscuras y misteriosas, actos perversos en contra de nuestros deseos y proyectos.

    ResponderEliminar
  4. Axioma de Allen: Si todo falla, lea las instrucciones.

    ResponderEliminar
  5. Yo tengo una duda sobre las últimas opciones, si cada vez ser me hace más dificil y costosa la lectura de tus posts ???? jajajajjaja
    Creo entender, pero mi comprensión se acaba difuminando al tiempo que los leo ... :-)
    Bueno, y más despues de unas cañas como hoy :-)
    jajajaj

    De tpodas formas, me gusta el post, pero entiende que a los tecnicos nos gusta achacar los problemas a la ley de murphy.

    ResponderEliminar
  6. Upssss, pues pueden pasar dos cosas. La primera es que las cañas efectivamente te hayan adormecido y segunda es que me sitúe en la primera o segunda opción. ;-))))

    Viendo la hora del comentario y que no he puesto ni un solo tecnicismo en todo el texto espero y confío que sea la primera. JJJ

    Ahora en serio, tú que te sabes todas las leyes de los geeks, ... esperaba que nos deleitases con alguna con gracia.

    ResponderEliminar
  7. Y para que no se diga, ahí dejo uno.

    Principio de las piezas pequeñas.
    La probabilidad de que una pieza se caiga de la mesa de trabajo varía inversamente con su tamaño y directamente con su importancia para completar el trabajo que estamos realizando.

    ResponderEliminar
  8. A ver, que hoy ya estoy más despierto-

    Ademas de las que podemos encontrar en esta web ... (http://www.calidoscopio.com/calidoscopio/principal36.htm)

    A mi me encanta la de

    Todo requiere más tiempo del que prevés. (Segundo corolario de Murphy)

    Típico para los consultores ;-)

    También me gusta lo de ..

    El 99% de las personas tiene más piernas que la media ;-)

    ResponderEliminar
  9. ¿Porque necesito algo que acabo de tirar a la basura después de haber estado ocupando el trastero durante años? ¿Porque cuando me cambio de carril este empieza a circular mas lento? ¿Porque cuando me sitúo en una caja para pagar se le atasca a alguien el pago con tarjeta? ¿Porque suena el teléfono cuando justo me meto al baño?

    ¿Esto solo me ocurre a mi? La respuesta es un dogma de fe y en mi experiencia constato que Murphy existe y esta muy presente en nuestras vidas.

    Una frase mas para apostillar la Ley de Gummidge: "La verdad depende de los conocimientos de quienes escuchan", y esta si que es una verdad muy grande.

    ResponderEliminar


Los contenidos de Tons of IT están sujetos a licencia Creative Commons Reconocimiento 3.0 salvo donde se indique lo contrario.