Automated Deployment of Distributed Software Components with Fault Tolerance Guarantees

In this paper, an MILP-based methodology is presented that allows to optimize the deployment of a set of software components over a set of computing resources, with respect to fault tolerance and response times. The MILP model takes into account the reliability and performance parameters of hardware nodes and links, and optimizes a (configurable) trade-off between reliability and performance by replicating software components where necessary and finding an optimal deployment for them. The complete system can be modeled using UML component diagrams and activity diagrams, and an algorithm is presented to transform the UML model to the MILP model. The resulting deployment can then be fed back into the UML model. The applicability of the approach is demonstrated through a case study.

[1]  Filip De Turck,et al.  Design time deployment optimization for component based systems , 2007, ICSE 2007.

[2]  Marco Ajmone Marsan,et al.  A class of generalized stochastic Petri nets for the performance evaluation of multiprocessor systems , 1984, TOCS.

[3]  Simonetta Balsamo,et al.  Performance evaluation of UML software architectures with multiclass Queueing Network models , 2005, WOSP '05.

[4]  José Merseguer,et al.  Performance by unified model analysis (PUMA) , 2005, WOSP '05.

[5]  Salim Hariri,et al.  Reliability Optimization in the Design of Distributed Systems , 1985, IEEE Transactions on Software Engineering.

[6]  Swapna S. Gokhale,et al.  Exploring cost and reliability tradeoffs in architectural alternatives using a genetic algorithm , 1999, Proceedings 10th International Symposium on Software Reliability Engineering (Cat. No.PR00443).

[7]  Edward D. Lazowska,et al.  Quantitative system performance - computer system analysis using queueing network models , 1983, Int. CMG Conference.

[8]  Anukool Lakhina,et al.  BRITE: Universal Topology Generation from a User''s Perspective , 2001 .

[9]  Vijay Karamcheti,et al.  Optimal resource-aware deployment planning for component-based distributed applications , 2004, Proceedings. 13th IEEE International Symposium on High performance Distributed Computing, 2004..

[10]  Murray Woodside Tutorial introduction to layered modeling of software performance , 2002 .

[11]  Steven A. Demurjian,et al.  Two Optimization Techniques for Component-Based Systems Deployment , 2001, SEKE.

[12]  Vittorio Cortellessa,et al.  Automatic derivation of software performance models from CASE documents , 2001, Perform. Evaluation.