¿La ley de Murphy existe?

  • 0
  • 4 septiembre, 2015

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, 365×12] (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!

Fuente: http://www.tonsofit.com/2010/12/que-hay-de-cierto-en-la-ley-de-murphy.html

Sus comentarios siempre son bienvenidos. Porque todos creamos "Un surco en la sombra" y nos nutrimos de vuestras opiniones

Regístrate GRATIS y te lo mandaremos a tu E-MAIL ESTA ES TU OPORTUNIDAD
A %d blogueros les gusta esto:

Powered by themekiller.com