PEPS Project
User's Guide
Contact Us

Stochastic Automata Networks (SAN)

The use of Stochastic Automata Networks (SANs) is becoming increasingly important in performance modelling issues related to parallel and distributed computer systems. As such models become increasingly complex, so also does the complexity of the modelling process. Parallel and distributed systems are often viewed as collections of components that operate more or less independently, requiring only infrequent interaction such as synchronizing their actions, or operating at different rates depending on the state of parts of the overall system. This is exactly the viewpoint adopted by SANs. The components are modelled as individual stochastic automata that interact with each other. Furthermore, the state space explosion problem associated with Markov chain models is mitigated by the fact that the state transition matrix is not stored, nor even generated. Instead, it is represented by a number of much smaller matrices, one for each of the stochastic automata that constitute the system, and from these all relevent information may be determined without explicitly forming the global matrix. The implication is that a considerable saving in memory is effected by storing the matrix in this fashion. This saving is even enforced by the use of functions (of the current global state) as transition rates.

Generalized Tensor Algebra

We have proposed an extension of the regular tensor (or Kronecker) operators for matrices. This extension allows to use functions (of the current state of the SAN) as entries of the matrices. It has been shown that certain algebraic properties can be extended from the classical theory. These properties are used to design an efficient algorithm to compute the multiplication of a vector with a tensor-product structured matrix (with functions). The complexity of this operation is O(N log N) as compared to the complexity of the regular product N2.

Optimization and use of the vector tensor-product structured matrix

This algorithm can be optimized (special treatment of the diagonal, reordering of automata according to function profile, grouping of automata). As far as computation time is concerned, since the numerical methods used are iterative, it is important to keep both the number of iterations and the amount of computation per iteration to a minimum. The number of iterations needed to compute the solution to a required accuracy depends on the method chosen. It was shown how projection methods such as Arnoldi and GMRES could be used to substantially reduce the number of iterations needed when compared with the basic power method. Additionally, some results were also given concerning the development of preconditioning strategies that may be used to speed up the iterative process.