**2.6. Stochastic Petri nets**

Petri nets [17] are a classic tool for modeling and analyzing discrete event systems which are too complex to be described by automata or queueing models. Time (stochastic delays) and probabilistic choices are essential aspects for a performance evaluation model. We adopt the usual association of delays and weights with transitions [11] in this paper, and adopt the extended stochastic Petri net definition similar to [9]:

Let *SPN*= (*P*, *T*, *I*,*O*, *H*, Π, *G*, *M*0, *Atts*) be a stochastic Petri net, where


#### 12 Petri Nets 324 Petri Nets – Manufacturing and Computer Science A Petri Net-Based Approach to the Quantification of Data Center Dependability <sup>13</sup>


can be classified as simulation and mathematical models. However, this does not mean that mathematical models cannot be simulated. Indeed, many mathematical models, besides being analytically tractable, may also be evaluated by simulation. Mathematical models can be

A Petri Net-Based Approach to the Quanti cation of Data Center Dependability 325

Dependability metrics (e.g., availability, reliability and downtime) might be calculated either by using RBD or SPN (to mention only the models adopted in this work). RBDs allow to one represent component networks and provide closed-form equations, so the results are usually obtained faster than using SPN simulation. Nevertheless, when faced with representing maintenance policies and redundant mechanisms, particularly those based on dynamic redundancy methods, such models experience drawbacks concerning the thorough handling of failures and repairing dependencies. On the other hand, state-based methods can easily consider those dependencies, so allowing the representation of complex redundant mechanisms as well as sophisticated maintenance policies. However, they suffer from the state-space explosion. Some of those formalism allow both numerical analysis and stochastic

If one is interested in calculating the availability (*A*) of given device or system, he/she might need either the uptime and downtime or the time to failure (*TTF*) and time to repair (*TTR*). Considering that the uptime and downtime are not available, the later option is the mean. If the evaluator needs only the mean value, the metrics commonly adopted are Mean Time to Failure (*MTTF*) and Mean Time To Repair (*MTTR*) (other central values might also be adopted). However, if one is also interested in the availability variation, the standard deviation of time to failure (*sd*(*TTF*)), and the respective standard deviation of time to repair

The availability (*A*) is obtained by steady-state analysis or simulation, and the following

Through transient analysis or simulation, the reliability (*R*) is obtained, and, then, the *MTTF*

 ∞ 0

Considering a given period *t*, *R*(*t*) is the probability that the time to failure is greater than or equal to t. Regarding exponential failure distributions, reliability is computed as follows:

> − *t* 0 *λ*(*t* � )*dt*�

0

<sup>−</sup> *dR*(*t*)

*dt tdt* <sup>=</sup>

*MTTF* <sup>+</sup> *MTTR* (1)

 ∞ 0

*<sup>t</sup>*<sup>2</sup> *<sup>f</sup>*(*t*)*dt* − (*MTTF*)<sup>2</sup> (3)

*R*(*t*)*dt* (2)

(4)

*<sup>A</sup>* <sup>=</sup> *MTTF*

can be calculated as well as the standard deviation of the Time To Failure (*TTF*):

*t f*(*t*)*dt* =

*<sup>R</sup>*(*t*) = *exp*

*sd*(*TTF*) = <sup>∞</sup>

characterized as being either state-based or non-state-based.

simulation, and SPN is one of the most prominent models of such class.

(*sd*(*TTR*)) allow one the estimate the availability variation.

*MTTF* =

) is the instantaneous failure rate.

where *λ*(*t*�

equation expresses the relation concerning *MTTF* and *MTTR*:

 ∞ 0


In many circumstances, it might be suitable to represent the initial marking as a mapping from the set of places to natural numbers (*m*<sup>0</sup> : *P* → **N**), where *m*0(*pi*) denotes the initial marking of place *pi*. *m*(*pi*) denotes a reachable marking (reachable state) of place *pi*. In this work, the notation #*pi* has also been adopted for representing *m*(*pi*).
