Abstract
Soft errors, a form of transient errors that cause bit flips in memory and other hardware components, are a growing concern for embedded systems as technology scales down. While hardware-based approaches to detect/correct soft errors are important, software-based techniques can be much more flexible. One simple software-based strategy would be full duplication of computations and data, and comparing the results of the corresponding original and duplicate computations. However, while the performance overhead of this strategy can be hidden during execution if there are idle hardware resources, the memory demand increase due to data duplication can be dramatic, particularly for array-based applications that process large amounts of data.
Focusing on array-based embedded computing, this paper presents a memory space conscious loop iteration duplication approach that can reduce memory requirements of full duplication (of array data), without decreasing the level of reliability the latter provides. Our “in-place duplication” approach reuses the memory locations from the same array to store the duplicates of the elements of a given array. Consequently, the memory overhead brought by the duplicates can be reduced. Further, we extend this approach to incorporate “global duplication”, which reuses memory locations from other arrays to store duplicates of the elements of a given array. This paper also discusses how our approach operates under a memory size constraint. The experimental results from our implementation show that the proposed approach is successful in reducing memory requirements of the full duplication scheme for twelve array-based applications.
Access provided by Autonomous University of Puebla. Download to read the full chapter text
Chapter PDF
Similar content being viewed by others
Keywords
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.
References
Allen, R., Kennedy, K.: Automatic translation of FORTRAN programs to vector form. ACM Transactions on Programming Languages and Systems 9(4), 491–542 (1987)
Audet, D., Masson, S., Savaria, Y.: Reducing fault sensitivity of microprocessor-based systems by modifying workload structure. In: Proc. IEEE International Symposium in Defect and Fault Tolerant in VLSI Systems (1998)
Benso, A., Chiusano, S., Prinetto, P., Tagliaferri, L.: A C/C++ source-to-source compiler for dependable applications. In: Proc. International Conference on Dependable Systems and Networks, June 2000, pp. 71–78 (2000)
Catthoor, F., Danckaert, K., Kulkarni, C., Brockmeyer, E., Kjeldsberg, P.G., Achteren, T.V., Omnes, T.: Data Access and Storage Management for Embedded Programmable Processors. Kluwer Academic Publishers, Dordrecht (2002)
Gong, C., Melhem, R., Gupta, R.: Compiler assisted fault detection for distributed memory systems. In: Proc. 1994 Scalable High Performance Computing Conference, Knoxville, TN (1994)
Gong, C., Melhem, R., Gupta, R.: Loop transformations for fault detection in regular loops on massively parallel systems. IEEE Transaction on Parallel and Distributed Systems 7(12), 1238–1249 (1996)
Huang, K.H., Abraham, J.A.: Algorithm-based fault tolerance for matrix operations. IEEE Transactions on Computers C-33, 518–528 (1984)
Lefebvre, V., Feautrier, P.: Automatic storage management for parallel programs. Research Report PRiSM 97/8, France (1997)
Nicolescu, B., Velazco, R.: Detecting soft errors by a purely software approach: method, tools and experimental results. In: Proc. Design, Automation and Test in Europe Conference and Exhibition, Munich, Germany (March 2003)
Oh, N., McCluskey, E.J.: Error detection by selective procedure call duplication for low energy consumption. IEEE Transactions on Reliability 51(4), 392–402 (2002)
Pugh, W., Wonnacott, D.: An exact method for analysis of value-based array data dependences. In: Proc. the 6th International Workshop on Languages and Compilers for Parallel Computing (1993)
Rebaudengo, M., Sonza Reorda, M., Violante, M., Cheynet, P., Nicolescu, B., Velazco, R.: System safety through automatic high-level code transformations: an experimental evaluation. In: Proc. IEEE Design Automation and Testing in Europe, Munich, Germany, March 13-16 (2001)
Roy-Chowdhury, A.: Manual and compiler assisted methods for generating error detecting parallel programs. Ph.D thesis, Department of Electrical and Computer Engineering, University of Illinois at Urbana-Champaign (1996)
Shirvani, P.P., Saxena, N., McCluskey, E.J.: Software-implemented EDAC protection against SEUs. IEEE Transaction on Reliability 49(3), 273–284 (2000)
Song, Y., Xu, R., Wang, C., Li, Z.: Data locality enhancement by memory reduction. In: Proc. the 15th ACM International Conference on Supercomputing (June 2001)
Srinivasan, G.R.: Modeling the cosmic-ray-induced soft-error rate in integrated circuits: an overview. IBM Journal of Research and Development 40(1), 77–89 (1996)
Strout, M., Carter, L., Ferrante, J., Simon, B.: Schedule-independent storage mapping in loops. In: Proc. ACM International Conference on Architectural Support for Programming Languages and Operating Systems (October 1998)
Unnikrishnan, P., Chen, G., Kandemir, M., Karakoy, M., Kolcu, I.: Loop transformations for reducing data space requirements of resource-constrained applications. In: Proc. International Static Analysis Symposium, June 11-13 (2003)
Wilde, D., Rajopadhye, S.: Memory reuse analysis in the polyhedral model. In: Parallel Processing Letters (1997)
Wilson, R., et al.: SUIF: An infrastructure for research on parallelizing and optimizing compilers. SIGPLAN Notices 29(12), 31–37 (1994)
Wolf, M.E., Lam, M.S.: A data locality optimizing algorithm. In: Proc. ACM SIGPLAN Conference on Programming Language Design and Implementation, June 1991, pp. 30–44 (1991)
Wolfe, M.J.: High Performance Compilers for Parallel Computing. Addison-Wesley Publishing Company, Reading (1996)
Zeigler, J.F.: Terrestrial cosmic rays. IBM Journal of Research and Development 40(1), 19–39 (1996)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Chen, G., Kandemir, M., Karakoy, M. (2005). Memory Space Conscious Loop Iteration Duplication for Reliable Execution. In: Hankin, C., Siveroni, I. (eds) Static Analysis. SAS 2005. Lecture Notes in Computer Science, vol 3672. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11547662_6
Download citation
DOI: https://doi.org/10.1007/11547662_6
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-28584-7
Online ISBN: 978-3-540-31971-9
eBook Packages: Computer ScienceComputer Science (R0)