Skip to main content

An Adaptive N-Variant Software Architecture for Multi-Core Platforms: Models and Performance Analysis

  • Conference paper
Computational Science and Its Applications - ICCSA 2011 (ICCSA 2011)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 6783))

Included in the following conference series:

Abstract

This paper discusses the models and performance analysis for an adaptive software architecture, which supports multiple levels of fault detection, masking, and recovery through reconfiguration. The architecture starts with a formal requirement model defining multiple levels of functional capability and information assurance. The architecture includes a multi-layer design to implement the requirements using N-variant techniques. It also integrates a reconfiguration mechanism that uses lower layers to monitor higher layers, and if a fault is detected, it reconfigures a system to maintain essential services. We first provide a general reliability model (based on generalized stochastic Petri nets) for such a system with cross-monitoring for reconfiguration. Next, we define a probabilistic automaton-based model for behavioral modeling of the system. This model is especially suitable for modeling security problems induced by value faults. Whereas the Petri net allows for reliability modeling and reconfiguration, the performance analysis of the system is given via probabilistic model checking. The models are experimentally evaluated and compared. With the current widespread deployment of multi-core processors, one question in software engineering is how to effectively harness the parallel computing power provided by these processors. The architecture presented here allows us to explore the parallel computing power that otherwise may be wasted, and uses it to improve the dependability and survivability of a system, which is validated by our performance analysis.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Avizienis, A.: The Methodology of N-version Programming. In: Lyu, M. (ed.) Software Fault Tolerance. John Wiley & Sons, Chichester (1995)

    Google Scholar 

  2. Azadmanesh, M.H., Kieckhafer, R.M.: Exploiting Omissive Faults in Synchronous Approximate Agreement. IEEE Trans. Computers 49(10), 1031–1042 (2000)

    Article  MathSciNet  MATH  Google Scholar 

  3. Cox, B., Evans, D., Filipi, A., Rowanhill, J., Hu, W., Davidson, J., Knight, J., Nguyen-Tuong, A., Hiser, J.: N-Variant Systems: A Secretless Framework for Security through Diversity. In: Proc. 15th USENIX Security Symposium (2006)

    Google Scholar 

  4. Jeffery, C.M., Figueiredo, J.O.: Towards Byzantine Fault Tolerance in Many-core Computing Platforms. In: Proc. 13th IEEE International Symposium on Pacific Rim Dependable Computing (2007)

    Google Scholar 

  5. Kwiatkowska, M., Norman, G., Parker, D.: Probabilistic symbolic model checking with PRISM: A hybrid approach. International Journal on Software Tools for Technology Transfer (STTT) 6(2), 128–142 (2004)

    Article  MATH  Google Scholar 

  6. Laddaga, R., Robertson, P., Shrobe, H.: Introduction to Self-adaptive Software: Applications. In: Laddaga, R., Shrobe, H.E., Robertson, P. (eds.) IWSAS 2001. LNCS, vol. 2614, pp. 1–5. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  7. Rabin, M.O.: Probabilistic Automata. Information and Control 6(3), 230–245 (1963)

    Article  MathSciNet  MATH  Google Scholar 

  8. Salamat, B., Gal, A., Jackson, T., Manivannan, K., Wagner, G., Franz, M.: Multi-Variant Program Execution: Using Multi-Core Systems to Defuse Buffer-Overflow Vulnerabilities. In: Proc. CISIS 2008, pp. 843–848 (2008)

    Google Scholar 

  9. Sahner, R., Trivedi, K., Puliafito, A.: Performance and Reliability Analysis of Computer Systems. Kluwer Academic Publishers, Dordrecht (1996)

    Book  MATH  Google Scholar 

  10. Tan, L., Krings, A.: A Hierarchical Formal Framework for Adaptive N-variant Programs in Multi-core Systems. In: Proc. 9th Int’l Workshop on Assurance in Distributed Systems and Networks, ADSN 2010 (2010)

    Google Scholar 

  11. Thambidurai, P., Park, Y.-K.: Interactive Consistency with Multiple Failure Modes. In: Proc. 7th Symp. on Reliable Distributed Systems, pp. 93–100 (1988)

    Google Scholar 

  12. Nguyen-Tuong, A., Evans, D., Knight, J.C., Cox, B., Davidson, J.W.: Security through Redundant Data Diversity. In: Proc. DSN 2008 (2008)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2011 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Tan, L., Krings, A. (2011). An Adaptive N-Variant Software Architecture for Multi-Core Platforms: Models and Performance Analysis. In: Murgante, B., Gervasi, O., Iglesias, A., Taniar, D., Apduhan, B.O. (eds) Computational Science and Its Applications - ICCSA 2011. ICCSA 2011. Lecture Notes in Computer Science, vol 6783. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-21887-3_38

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-21887-3_38

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-21886-6

  • Online ISBN: 978-3-642-21887-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics