Estoy intentando construir un modelo matemático de la disponibilidad de un archivo en un sistema de archivos distribuido. Publiqué esta pregunta en MathOverflow, pero esto también podría clasificarse como una pregunta de CS, así que le doy una oportunidad aquí también.Cálculo de la probabilidad de falla del sistema en una red distribuida
El sistema funciona así: un nodo almacena un archivo (codificado usando códigos de borrado) en los nodos remotos r * b, donde r es el factor de replicación yb es una constante entera. Los archivos con código de borrado tienen la propiedad de que el archivo puede restaurarse si al menos b de los nodos remotos están disponibles y devuelve su parte del archivo.
El enfoque más simple para esto es suponer que todos los nodos remotos son independientes entre sí y tienen la misma disponibilidad p. Con estos supuestos la disponibilidad de un archivo sigue la distribución binomial, es decir Binomial distribution http://bit.ly/dyJwwE
Por desgracia, estas dos suposiciones pueden introducir un error no neligible, como lo demuestra el presente trabajo: http://deim.urv.cat/~lluis.pamies/uploads/Main/icpp09-paper.pdf.
Una forma de superar la suposición de que todos los nodos tienen la misma disponibilidad es calcular la probabilidad de cada posible combinación de nodo disponible/no disponible y tomar la suma de todos estos resultados (que es más o menos lo que sugieren en el documento anterior, más formalmente de lo que acabo de describir). Puede ver este enfoque como un árbol binario con profundidad r * b y cada permiso es una combinación posible de nodos disponibles/no disponibles. La disponibilidad del archivo es la misma que la probabilidad de que llegue a un permiso con> = b nodos disponibles. Este enfoque es más correcto pero tiene un costo computacional de Ordo http://bit.ly/cEZcAP. Además, no se trata de asumir la independencia del nodo.
¿Tienen alguna idea de una buena aproximación que introduce menos errores que la distribución binomial-aproximación pero con un mejor costo computacional que http://bit.ly/d52MM9 http://bit.ly/cEZcAP?
Puede suponer que los datos de disponibilidad de cada nodo son un conjunto de tuplas que consisten en (measurement-date, node measuring, node being measured, succes/failure-bit)
. Con estos datos, podría, por ejemplo, calcular la correlación de la disponibilidad entre los nodos y la varianza de disponibilidad.
¿Qué quiere decir "node independence"? ¿Está hablando de un gráfico que representa la red de nodos y las fallas de ciertos nodos clave pueden dividir el gráfico en subredes distintas desde el punto de vista topológico que no pueden comunicarse entre sí? ¿O asume la posibilidad de que las fallas de nodos individuales también puedan causar la falla de otros nodos (por ejemplo, porque pueden ser máquinas virtuales ubicadas en la misma máquina física)? Sin aclarar la naturaleza de la correlación, es imposible sugerir ningún modelo. – user8472
Como seguimiento de la pregunta anterior, es importante especificar si la reconstrucción del archivo es posible (leer: significativo) si hay una copia disponible en una subred de nodos capaces de comunicarse entre sí. O si necesita acceso desde un "nodo raíz" a una subred de al menos b nodos para restaurar el archivo en cuestión. – user8472
El último párrafo introduce 'measurement-date' como una propiedad adicional. Esto introduce una escala de tiempo en el sistema, donde anteriormente se suponía que el sistema era estático. Anteriormente, un nodo estaba vivo (probabilidad 'p') o muerto (probabilidad' 1-p'). Con una escala de tiempo, el sistema puede dejar de ser estático y un cierto tiempo medio entre fallas (para cambiar los nodos 'vivos' a 'muertos') y el tiempo medio entre reparaciones (el reverso) puede volverse significativo. Si tiene esta situación, la probabilidad de restaurar un archivo depende del tiempo. – user8472