Managing Performance of Aging Applications Via Synchronized Replica Rejuvenation

  • Artur Andrzejak
  • Monika Moser
  • Luis Silva
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4785)


We investigate the problem of ensuring and maximizing performance guarantees for applications suffering software aging. Our focus is the optimization of the minimum and average performance of such applications in virtualized and non-virtualized scenario. The key technique is to use a set of simultaneously active application replica and to optimize their rejuvenation schedules. We derive an analytical method for maximizing the minimum “any-time” performance for certain cases and propose a heuristic method for maximization of minimum and average performance for all others. To evaluate our method we perform extensive studies on two applications: aging profiles of Apache Axis 1.3 and the aging data of the TPC-W benchmark instrumented with a memory leak injector. The results show that our approach is a practical way to ensure uninterrupted availability and optimize performance for even strongly aging applications.


Virtual Machine Software Aging Minimum Performance Heuristic Optimization Aging Application 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. 1.
    Avritzer, A., Weyuker, E.: Monitoring smothly degrading systems for increased dependability. Empirical Software Engineering 2(1), 59–77 (1997)CrossRefGoogle Scholar
  2. 2.
    Castelli, V., Harper, R., Heidelberg, P., Hunter, S., Trivedi, K., Vaidyanathan, K., Zeggert, W.: Proactive management of software aging. IBM Journal Research & Development 45 (2001)Google Scholar
  3. 3.
    Garg, S., van Moorsel, A., Vaidyanathan, K., Trivedi, K.: A methodology for detection and estimation of software aging. In: 9th International Symposium on Software Reliability Engineering, pp. 282–292 (1998)Google Scholar
  4. 4.
    Vaidyanathan, K., Trivedi, K.S.: A measurement-based model for estimation of resource exhaustion in operational software systems. In: 10th IEEE International Symposium on Software Reliability Engineering, pp. 84–93. IEEE Computer Society Press, Los Alamitos (1999)Google Scholar
  5. 5.
    Vaidyanathan, K., Trivedi, K.S.: A comprehensive model for software rejuvenation. IEEE Trans. Dependanble and Secure Computing 2, 1–14 (2005)CrossRefGoogle Scholar
  6. 6.
    Brown, A.B., Patterson, D.A.: Embracing failure: A case for recovery-oriented computing. In: High Performance Transaction Processing Symposium (2001)Google Scholar
  7. 7.
    Silva, L.M., Alonso, J., Silva, P., Torres, J., Andrzejak, A.: Using virtualization to improve software rejuvenation. In: IEEE International Symposium on Network Computing and Applications, IEEE Computer Society Press, Los Alamitos (2007)Google Scholar
  8. 8.
    Andrzejak, A., Silva, L.: Deterministic models of software aging and optimal rejuvenation schedules. In: 10th IFIP/IEEE Symposium on Integrated Management, IEEE Computer Society Press, Los Alamitos (2007)Google Scholar
  9. 9.
    Huang, Y., Kintala, C., Kolettis, N., Fulton, N.: Software rejuvenation: Analysis, module and applications. In: FTCS-25 (1995)Google Scholar
  10. 10.
    Dohi, T., Goseva-Popstojanova, K., Trivedi, K.S.: Statistical non-parametric algorithms to estimate the optimal software rejuvenation schedule. In: Pacific Rim International Symp. Dependable Computing, pp. 77–84 (2000)Google Scholar
  11. 11.
    Garg, S., Puliafito, A., Telek, M., Trivedi, K.S.: Analysis of preventive maintenance in transactions based software systems. IEEE Transactions on Computers 47, 96–107 (1998)CrossRefGoogle Scholar
  12. 12.
    Candea, G., Kiciman, E., Zhang, S., Fox, A.: Jagr: An autonomous self-recovering application server. In: 5th Int Workshop on Active Middleware Services (2003)Google Scholar
  13. 13.
    Chakravorty, S., Mendes, C.L., Kalé, L.V.: Proactive fault tolerance in MPI applications via task migration. In: 13th HiPC (2006)Google Scholar
  14. 14.
    Douglis, F., Ousterhout, J.K.: Transparent process migration: Design alternatives and the sprite implementation. Software — Practice and Experience 21, 757–785 (1991)CrossRefGoogle Scholar
  15. 15.
    Stellner, G.: Cocheck: Checkpointing and process migration for MPI. In: 10th IPPS 1996, pp. 526–531 (1996)Google Scholar
  16. 16.
    Nagarajan, A., Mueller, F., Engelmann, C., Scott, S.: Proactive fault tolerance for HPC with xen virtualization. In: ICS 2007 (2007)Google Scholar
  17. 17.
    Man, K.F., Tang, K.S., Kwong, S.: Genetic Algorithms: Concepts and Designs. Springer, Heidelberg (1999)CrossRefzbMATHGoogle Scholar
  18. 18.
    Manjhi, A.: TPC-W in Java on Tomcat and MySQL. Carnegie Mellon University (2005)Google Scholar
  19. 19.
    Gross, K., Bhardwai, V., Bickford, R.: Proactive detection of software aging mechanisms in performance critical computers. In: 27th Anual IEEE/NASA Software Engineering Symposium (2002)Google Scholar

Copyright information

© IFIP International Federation for Information Processing 2007

Authors and Affiliations

  • Artur Andrzejak
    • 1
  • Monika Moser
    • 1
  • Luis Silva
    • 2
  1. 1.Zuse Institute Berlin (ZIB), Takustraße 7, 14195 BerlinGermany
  2. 2.Dep. Engenharia Informática, Univ. CoimbraPortugal

Personalised recommendations