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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Avizienis, A.: The Methodology of N-version Programming. In: Lyu, M. (ed.) Software Fault Tolerance. John Wiley & Sons, Chichester (1995)
Azadmanesh, M.H., Kieckhafer, R.M.: Exploiting Omissive Faults in Synchronous Approximate Agreement. IEEE Trans. Computers 49(10), 1031–1042 (2000)
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)
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)
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)
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)
Rabin, M.O.: Probabilistic Automata. Information and Control 6(3), 230–245 (1963)
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)
Sahner, R., Trivedi, K., Puliafito, A.: Performance and Reliability Analysis of Computer Systems. Kluwer Academic Publishers, Dordrecht (1996)
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)
Thambidurai, P., Park, Y.-K.: Interactive Consistency with Multiple Failure Modes. In: Proc. 7th Symp. on Reliable Distributed Systems, pp. 93–100 (1988)
Nguyen-Tuong, A., Evans, D., Knight, J.C., Cox, B., Davidson, J.W.: Security through Redundant Data Diversity. In: Proc. DSN 2008 (2008)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)