Beruflich Dokumente
Kultur Dokumente
2. Cálculo de disponibilidad 8
2.1. Reducción serie/paralelo . . . . . . . . . . . . . . . . . . . . . . . 9
2.2. Factorización . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.3. Cadenas de Markov . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.3.1. Transiciones conjuntas . . . . . . . . . . . . . . . . . . . . 14
2.4. Simulación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.5. Combinación de modelos . . . . . . . . . . . . . . . . . . . . . . . 19
2
1. Confiabilidad y disponibilidad
1.1. Introducción
Consideremos los sistemas que pueden estar en dos estados: en servicio y
fuera de servicio (online y offline respectivamente). La confiabilidad y dispo-
nibilidad de un sistema tal, son medidas relacionadas a la probabilidad que el
sistema se encuentre en servicio. Estos conceptos estan ı́ntimamente relaciona-
dos y algunas veces se los confunde. Por ello consideramos pertinente incluir
una definición precisa de ambos términos.
3
Figura 2: Estado de un sistema en función del tiempo.
1
λF =
MTTF
1
µR =
MTTR
4
Ası́ la disponibilidad instantánea puede caracterizarse como:
µR λF
A(t) = + e−(µR +λF )t
λR + λF µR + λF
A = lı́m A(t)
t→∞
µR
=
µR + λF
MTTF
=
MTTF + MTTR
MTTF
= (1)
M T BF
5
Figura 3: Nodos en un grafo de disponibilidad
6
Ejemplo 1
Supongamos que queremos modelar una red de fibra óptica que posee dos
tramos de fibra F1 y F2 unidos por un sitio S1 con algun equipo óptico. El
esquema del sistema se muestra a continuación:
Para que exista servicio entre el origen y el destino es necesario que los tres
componentes se encuentren en servicio. Por lo tanto, un grafo de disponibili-
dad que modela este sistema consiste en un conjunto de tres arcos en serie. A
continuación se representa el grafo con las disponibilidades de cada componente:
Ejemplo 2
Supongamos ahora que agregamos redundancia a la red anterior entre el sitio
S1 y el destino, incorporando dos tramos de fibra optica F3 y F4 comunicadas
por un sitio S2 como se muestra a continuación:
Existen ahora dos posibles configuraciones que dan servicio al sistema entre
el origen y el destino. Cuando F1 , S1 y F2 están en servicio, y cuando F1 , S1 ,
F3 , S2 y F4 están en servicio. Ası́ un grafo de disponibilidad que representa esta
situación es el siguiente:
7
Ejemplo 3
Supongamos ahora que agregamos aún más redundancia, incorporando un
tramo de fibra óptica F5 entre el origen y el sitio S2 , como se muestra a conti-
nuación:
Notar que el componente F3 se modela en el grafo como dos arcos. Este caso es
imposible de representar por un grafo que no contenga al menos un componente
representando por más de un arco.
2. Cálculo de disponibilidad
Proponemos cuatro modelos para dar solución al problema de calcular la
disponibilidad de un sistema: reducción serie/paralelo [1, 2], factorización [3],
cadenas de Markov [1, 2] y simulación [1, 2]. Los modelos resuelven el problema
de la posible dependencia entre los caminos que caracterizan el estado de servicio
del sistema. Además, se incluyen caracterı́sticas que permiten modelar algunas
de las condiciones especı́ficas y relajar algunas de las condiciones mencionadas
en la sección anterior.
Los modelos de cadenas de Markov y simulación incorporan la posibilidad de
considerar componentes cuyos eventos de reparación son conjuntos en lugar de
independientes. Esto permite modelar la posibilidad de reparar simultáneamente
todo el equipamiento que se encuentra en un mismo lugar fı́sico. El modelo de
simulación permite incorporar eventos discretos que desplazan la ocurrencia de
eventos de falla. Esto permite modelar por ejemplo la presencia de un banco de
baterı́as que retrasan la caı́da de servicio por ausencia de energı́a de lı́nea.
8
Los modelos toman como entrada una representación del sistema como un
grafo de disponibilidad (según se describe más abajo) y los nodos origen y des-
tino entre los cuales se desea calcular la disponibilidad. El modelo de reducción
serie/paralelo no siempre encuentra una solución final, pero puede devolver un
grafo reducido que modela el sistema. El resto de los modelos siempre encuentra
un resultado definitivo.
Los tres atributos temporales deben respetar una base de tiempo común.
En el caso de componentes representados en el grafo por más de un arco, es
necesario que todos los atributos tengan los mismos valores.
9
Un conjunto de N arcos únicos en paralelo pueden ser remplazados por
un único elemento cuya disponibilidad es uno menos la multiplicación de las
no-disponibilidades individuales:
N
Y
Aparalelo = 1 − (1 − Ai ) (4)
i=1
2. Por cada nodo de grado dos, con un predecesor y un sucesor que son arcos
únicos, que no sea el nodo origen o el nodo destino remplazar sus arcos
adyacentes por un único arco cuya disponibilidad es la multiplicación de
los arcos remplazados, como indica la ecuación 3.
3. Por cada par de nodos que posean más de un arco único que los conecte,
remplazar dichos arcos por un único arco cuya disponibilidad responde a
la formula 4.
Ejemplo 1
10
Ejemplo 2
2.2. Factorización
Sean:
11
Ejemplo 3
12
Aplicar la factorización sobre grafos requiere una transformación del mismo,
que computacionalmente puede ser costosa. Para disminuir esta carga se puede
realizar un proceso análogo sobre una expresión booleana equivalente al grafo.
Cada camino dentro del grafo que caracteriza el estado en servicio del sis-
tema puede representarse como la expresión booleana que es la conjunción de
de variables proposicionales, cada una de las cuales representa a cada arco. La
disjunción de expresiones de este estilo representa al conjunto de todos los ca-
minos. La expresion booleana final representa entonces las condiciones para que
el sistema este en servicio.
En una expresión booleana, el reemplazo de la disponibilidad de un com-
ponente por un valor, es simplemente el reemplazo sintáctico de la variable
proposicional que lo representa por tal valor. Esto representa una clara ventaja
por sobre la sustitución en grafos. Mas aún, solo es necesario calcular la expre-
sión booleana para los caminos que no contienen ciclos. Un camino con ciclos
no aporta más disponibilidad que aquel camino que no los contiene.
Se propone entonces el siguiente procedimiento para resolver el problema de
disponibilidad mediante factorización:
13
Por tratarse de una cadena de Markov, se cumple que:
π(t) = π(u)P(t − u)
d π(t)
= π(t)Q
dt
donde las componentes qij de Q satisfacen:
πQ = 0 πe = 1
Estas últimas dos ecuaciones son las que nos permiten encontrar π. Para la
construcción de Q se toman las siguientes aproximaciones:
Pij (∆t)
qij ≈ i 6= j
∆t
Pii (∆t) − 1
qii ≈
∆t
Se interpreta entonces qij como la tasa con la que se pasa de la configuración
i a la configuración j, y −qii la tasa con la que se pasa de la configuración i
a cualquier otra. Los valores qij pueden entonces ser calculados en base a los
λ = 1/M T T F y µ = 1/M T T R de cada componente, dependiendo de que se
trate de una transición de falla o de reparación respectivamente.
14
ellos. Un componente puede pertenecer a diferentes grupos, y si se existiera una
configuración con múltiples tasas de reparación conjunta, prevalece la menor.
La configuración destino de la transición de reparación conjunta es aquella en la
que sólo cambian los estados de los componentes del grupo cuyo estado inicial
es fuera de servicio.
Un grupo puede incorporar múltiples componentes, y la tasa de reparación
conjunta dependerá de los que están fuera de servicio. Supongamos que el grupo
3 tiene 3 elementos {c0 , c1 , c2 } y cada uno tiene una tasa de reparación simple
{µ0 , µ1 , µ2 }. El grupo tiene aociado el parámetro α3 . Existen entonces cuatro
casos de reparación conjunta y para cada uno de ellos se calcula la tasa conjunta
como una función de las tasas de reparación intervinientes. La siguiente tabla
resume esta información, donde con 0 se indica que el componente (o sistema)
está fuera de servicio, y con 1 que está en servicio:
origen c0 c1 c2 destino c0 c1 c2 µconjunta
1 0 0 0 8 1 1 1 f (α3 , µ0 , µ1 , µ2 )
2 0 0 1 8 1 1 1 f (α3 , µ0 , µ1 )
3 0 1 0 8 1 1 1 f (α3 , µ0 , µ2 )
5 1 0 0 8 1 1 1 f (α3 , µ1 , µ2 )
La función f (α, µi , ...) depende del tipo de interacción. Proponemos una
función que depende de la mı́nima de las tasas y α es una penalidad que varı́a
entre 0 y 1 asociada al grupo:
f (α, {µi }) = α Min{µi } (5)
Ejemplo 4
Supongamos que queremos calcular la disponibilidad de un sitio que cuenta
con un equipo óptico OLT, energı́a electrica de lı́nea PWR LINE y un generador
PWR GENERATOR, de manera que estos dos últimos pueden ser reparados en
forma conjunta. El sistema se representa a continuación:
15
Configuración no PT PG OT Sistema
1 0 0 0 0
2 0 0 1 0
3 0 1 0 0
4 0 1 1 1
5 1 0 0 0
6 1 0 1 1
7 1 1 0 0
8 1 1 1 1
Las transiciones entre las configuraciones incluyen las transiciones simples y la
transición conjunta que refleja la reparación conjunta µconjunta de PWR LINE
y PWR GENERATOR. Esta transción se calcula con la ecuación 5:
µconjunta = α Min{µP G , µP T } = αµP T
Las transiciones entre configuraciones se grafican en el siguiente diagrama, donde
se identifica µconjunta con color celeste.
16
donde
q11 = −(µOT + µP G + µP T + αµP T ) q22 = −(λOT + µP G + µP T + αµP T )
q33 = −(λP G + µOT + µP T ) q44 = −(λP G + λOT + µP T )
q55 = −(λP T + µOT + µP G ) q66 = −(λP T + λOT + µP G )
q77 = −(λP T + λP G + µOT ) q88 = −(λP T + λP G + λOT )
Resolviendo X
πQ = 0 , πi = 1
i
se obtiene la disponibilidad A como:
A = π8 + π6 + π4 = 0,988729
2.4. Simulación
Este modelo consiste en una simulación por eventos discretos, donde cada
componente genera eventos de falla y de reparación. Cada evento es un cambio
en el estado individual del componente. El tiempo del próximo evento (ya sea de
falla o de reparación) se determina de forma aleatoria siguiendo una distribución,
que puede ser exponencial o cualquier distribución que se ajuste a los datos
estadı́sticos. Sin embargo dado que los datos con los que se cuenta son los valores
de MTTF y MTTR individuales se restringen las distribuciones a la exponencial
y a la de Weibull.
En cada evento se evalúa el estado general del sistema. A partir de la repre-
sentación del sistema por el grafo de disponibilidad es posible determinar cómo
el estado de cada uno de los componentes redunda en el estado de servicio del
sistema. Ası́ es posible llevar cuenta de la cantidad de tiempo tservicio en que el
sistema se encuentra en servicio. Una vez finalizada la simulación luego de un
tiempo tsimulado , se puede obtener el valor de la disponibilidad como:
tservicio
A=
tsimulado
Es posible simular además ciertos desplazamientos temporales de tipo deter-
minı́sitico. Si el componente i tiene asociado un delay t, cada evento de falla se
posterga t unidades de tiempo. Además, si el componente i pertenece a un grupo
de reparación conjunta, un evento para su reparación no solo cambia su estado
sino tambien cambia el estado de cualquier otro componente perteneciente al
grupo que se encuentre fuera de servicio.
El fin de la simulación queda determinado por la convergencia del valor de
disponibilidad calculado dentro de un intervalo de confianza.
El modelo de simulación puede resumirse en el siguiente procedimiento:
Cada componetne genera eventos de falla y reparación según una distri-
bución que toma como parámetros su MTTF y MTTR.
En cada evento se evalúa el estado de servicio del sistema.
Se lleva registro del tiempo total de servicio.
Cuando la disponibilidad lı́mite queda dentro del intervalo de confianza,
la simulación finaliza.
17
Ejemplo 5
Supongamos que queremos modelar un sitio que cuenta con un equipo óptico
OLT, energı́a eléctrica de lı́nea PWR LINE y un equipo de baterias BAT para
soportar fallas de energı́a. A continuación mostramos un esquema del sitio, los
valores de MTTF y MTTR de los componentes y el correspondiente como grafo
de disponibilidad.
18
2.5. Combinación de modelos
Supongamos que tenemos una red de fibra óptica que en el origen posee
un sitio S3 como el descripto en el ejemplo 4, en el destino un sitio S4 como
el del ejemplo 5, y uniendo a ambos una red como la del ejemplo 3. Podemos
utilizar el modelo de Markov para resolver la disponibilidad de S3 y el modelo
de simulación para el sitio S4 . Una vez conocidas su disponibilidades lı́mite,
podemos calcular la disponiblidad de todo el sistema utilizando el modelo de
factorización, como se muestra a continuación:
19
av from composition(components, method, repair param=None, sim time=None,
error bound=None): Calcula la disponibilidad lı́mite para el sistema de-
terminado por components. El parámetro components es una lista de listas
de tuplas de tres elementos. Cada tupla almacena el tiempo medio entre
fallas, el tiempo medio entre reparaciones y el delay de un componente.
Los tuplas que conforman una lista, representan componentes que son re-
dundantes, y que se consideran en paralelo. Cada lista de components se
considera en serie. El método utilizado para el cómputo está dado por
method que debe ser una de las constantes definidas mas arriba.
El parámetro repair param es el parámetro de reparación conjunta (que
sólo se utiliza si se define cómo modelo de cómputo las cadenas de Markov).
Los parámetros sim time y error bound sólo se utilizan con el modelo de
simulación. Si se especifica sim time y error bound, la simulación se corre
hasta que el valor computado converge con error menor a error bound,
evaluado cada un perı́odo proporcional a sim time. Si error bound no
se especifica, la simulación se corre exactamente durante el perı́odo de
tiempo dado por sim time. Si ninguno de los dos parámetros se especifica,
la simulación corre por un perı́odo predeterminado. sim time debe estar
expresado en unidades coherentes con los tiempos medios entre fallas y los
tiempos medios entre reparaciones.
av from topology(topology, results, source, target, paths=None):
Calcula la disponibilidad lı́mite de una topologı́a dada por topology, entre
el componente source y el componente target, utilizando para el cálculo
los caminos especificados en paths. El modelo utilizado para el computo
es el de factorización, y para ello, results asigna a cada componente su
disponibilidad lı́mite. La topologı́a y los resultados se obtienen con los
métodos built-in de FOPNet descriptos mas abajo. Los caminos dados
por paths deben ser caminos mı́nimos. Cada camino es una lista de los
nombres de los componentes que lo componen.
compute min paths(topology, source, target): Calcula la lista de ca-
minos mı́nimos en topology desde source hasta target. Cada camino es
una lista de los nombres de los componentes que lo componen.
20
3.1. Ejemplos
A continuación mostramos el código de una función, cuyo propósito es mo-
delar la disponibilidad de un sitio que cuenta con dos lı́neas de energı́a idénticas
y un generador, operando en paralelo como proveedores de energı́a; dos equipos
de aire acondicionado idénticos operando en paralelo; y un equipo óptico de co-
municaciones. La disponibilidad se calcula por el método de simulación, hasta
conseguir una convergencia con un error menor a 0.0001.
def site():
components = []
components.append(energy)
components.append(conditioned_air)
components.append(optic_equipment)
topology = get_topology()
results = get_results()
21
Referencias
[1] R. Sahner, K. S. Trivedi, A. Puliafito, Performance and Reliability Analisys
of Computer Systems, Springer Science+Business Media, LLC, 1st edition,
ISBN 978-1-4613-6005-6.
22