Designing Reliable Algorithms in Unreliable Memories

  • Irene Finocchi
  • Fabrizio Grandoni
  • Giuseppe F. Italiano
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3669)


Some of today’s applications run on computer platforms with large and inexpensive memories, which are also error-prone. Unfortunately, the appearance of even very few memory faults may jeopardize the correctness of the computational results. An algorithm is resilient to memory faults if, despite the corruption of some memory values before or during its execution, it is nevertheless able to get a correct output at least on the set of uncorrupted values. In this paper we will survey some recent work on reliable computation in the presence of memory faults.


Memory Location Advance Encryption Standard Sorting Algorithm Soft Error Computer Platform 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Aslam, J.A., Dhagat, A.: Searching in the presence of linearly bounded errors. In: Proc. 23rd ACM Symp. on Theory of Computing (STOC 1991), pp. 486–493 (1991)Google Scholar
  2. 2.
    Assaf, S., Upfal, E.: Fault-tolerant sorting networks. SIAM J. Discrete Math. 4(4), 472–480 (1991)zbMATHCrossRefMathSciNetGoogle Scholar
  3. 3.
    Aumann, Y., Bender, M.A.: Fault-tolerant data structures. In: Proc. 37th IEEE Symp. on Foundations of Computer Science (FOCS 1996), pp. 580–589 (1996)Google Scholar
  4. 4.
    Blömer, J., Seifert, J.-P.: Fault based cryptanalysis of the Advanced Encryption Standard (AES). In: Wright, R.N. (ed.) FC 2003. LNCS, vol. 2742, pp. 162–181. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  5. 5.
    Blum, M., Evans, W., Gemmell, P., Kannan, S., Naor, M: Checking the correctness of memories. In: Proc. 32th IEEE Symp. on Foundations of Computer Science, FOCS 1991 (1991)Google Scholar
  6. 6.
    Borgstrom, R.S., Rao Kosaraju, S.: Comparison based search in the presence of errors. In: Proc. 25th ACM Symp. on Theory of Computing (STOC 1993), pp. 130–136 (1993)Google Scholar
  7. 7.
    Chen, P.M., Lee, E.L., Gibson, G.A., Katz, R.H., Patterson, D.A.: RAID: High-performance, reliable secondary storage. ACM Computing Surveys 26(2), 145–185 (1994)CrossRefGoogle Scholar
  8. 8.
    Chlebus, B.S., Gambin, A., Indyk, P.: PRAM computations resilient to memory faults. In: van Leeuwen, J. (ed.) ESA 1994. LNCS, vol. 855, pp. 401–412. Springer, Heidelberg (1994)CrossRefGoogle Scholar
  9. 9.
    Chlebus, B.S., Gambin, A., Indyk, P.: Shared-memory simulations on a faulty-memory DMM. In: Meyer auf der Heide, F., Monien, B. (eds.) ICALP 1996. LNCS, vol. 1099, pp. 586–597. Springer, Heidelberg (1996)Google Scholar
  10. 10.
    Chlebus, B.S., Gasieniec, L., Pelc, A.: Deterministic computations on a PRAM with static processor and memory faults. Fundamenta Informaticae 55(3-4), 285–306 (2003)zbMATHMathSciNetGoogle Scholar
  11. 11.
    Dhagat, A., Gacs, P., Winkler, P.: On playing “twenty questions” with a liar. In: Proc. 3rd ACM-SIAM Symp. on Discrete Algorithms (SODA 1992), pp. 16–22 (1992)Google Scholar
  12. 12.
    Feige, U., Raghavan, P., Peleg, D., Upfal, E.: Computing with noisy information. SIAM Journal on Computing 23, 1001–1018 (1994)zbMATHCrossRefMathSciNetGoogle Scholar
  13. 13.
    Finocchi, I., Grandoni, F., Italiano, G.F.: Optimal resilient sorting and searching in the presence of memory faults. Manuscript (2005)Google Scholar
  14. 14.
    Finocchi, I., Italiano, G.F.: Sorting and searching in the presence of memory faults (without redundancy). In: Proc. 36th ACM Symposium on Theory of Computing (STOC 2004), pp. 101–110 (2004)Google Scholar
  15. 15.
    Hamdioui, S., Al-Ars, Z., Van de Goor, J., Rodgers, M.: Dynamic faults in Random-Access-Memories: Concept, faults models and tests. Journal of Electronic Testing: Theory and Applications 19, 195–205 (2003)CrossRefGoogle Scholar
  16. 16.
    Henzinger, M.: The past, present and future of Web Search Engines. Invited talk. In: 31st Int. Coll. Automata, Languages and Programming, Turku, Finland, July 12-16 (2004)Google Scholar
  17. 17.
    Indyk, P.: On word-level parallelism in fault-tolerant computing. In: Puech, C., Reischuk, R. (eds.) STACS 1996. LNCS, vol. 1046, pp. 193–204. Springer, Heidelberg (1996)Google Scholar
  18. 18.
    Katz, R.H., Patterson, D.A., Gibson, G.A.: Disk system architectures for high performance computing. Proceedings of the IEEE 77(12), 1842–1858 (1989)CrossRefGoogle Scholar
  19. 19.
    Kleitman, D.J., Meyer, A.R., Rivest, R.L., Spencer, J., Winklmann, K.: Coping with errors in binary search procedures. Journal of Computer and System Sciences 20, 396–404 (1980)zbMATHCrossRefMathSciNetGoogle Scholar
  20. 20.
    Lakshmanan, K.B., Ravikumar, B., Ganesan, K.: Coping with erroneous information while sorting. IEEE Trans. on Computers 40(9), 1081–1084 (1991)CrossRefGoogle Scholar
  21. 21.
    Leighton, T., Ma, Y.: Tight bounds on the size of fault-tolerant merging and sorting networks with destructive faults. SIAM Journal on Computing 29(1), 258–273 (1999)zbMATHCrossRefMathSciNetGoogle Scholar
  22. 22.
    Leighton, T., Ma, Y., Plaxton, C.G.: Breaking the Θ(nlog2 n) barrier for sorting with faults. Journal of Computer and System Sciences 54, 265–304 (1997)zbMATHCrossRefMathSciNetGoogle Scholar
  23. 23.
    May, T.C., Woods, M.H.: Alpha-Particle-Induced Soft Error. Dynamic Memories. IEEE Trans. Elect. Dev., 26(2) (1979)Google Scholar
  24. 24.
    Muthukrishnan, S.: On optimal strategies for searching in the presence of errors. In: Proc. 5th ACM-SIAM Symp. on Discrete Algorithms (SODA 1994), pp. 680–689 (1994)Google Scholar
  25. 25.
    Pelc, A.: Searching with known error probability. Theoretical Computer Science 63, 185–202 (1989)zbMATHCrossRefMathSciNetGoogle Scholar
  26. 26.
    Pelc, A.: Searching games with errors: Fifty years of coping with liars. Theoretical Computer Science 270, 71–109 (2002)zbMATHCrossRefMathSciNetGoogle Scholar
  27. 27.
    Ravikumar, B.: A fault-tolerant merge sorting algorithm. In: Ibarra, O.H., Zhang, L. (eds.) COCOON 2002. LNCS, vol. 2387, pp. 440–447. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  28. 28.
    Rényi, A.: A diary on information theory. J. Wiley and Sons, Chichester (1994); Original publication: Napló az információelméletröl, Gondolat, Budapest (1976)Google Scholar
  29. 29.
    Skorobogatov, S., Anderson, R.: Optical fault induction attacks. In: Kaliski Jr., B.S., Koç, Ç.K., Paar, C. (eds.) CHES 2002. LNCS, vol. 2523, pp. 2–12. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  30. 30.
    Tezzaron Semiconductor. Soft errors in electronic memory - a white paper (January 2004),
  31. 31.
    Ulam, S.M.: Adventures of a mathematician. Scribners, New York (1977)Google Scholar
  32. 32.
    Van de Goor, A.J.: Testing semiconductor memories: Theory and practice. ComTex Publishing, Gouda (1998)Google Scholar
  33. 33.
    Von Neumann, J.: Probabilistic logics and the synthesis of reliable organisms from unreliable components. In: Shannon, C., McCarty, J. (eds.) Automata Studies, pp. 43–98. Princeton University Press, Princeton (1956)Google Scholar
  34. 34.
    Yao, A.C., Yao, F.F.: On fault-tolerant networks for sorting. SIAM Journal on Computing 14, 120–128 (1985)zbMATHCrossRefMathSciNetGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Irene Finocchi
    • 1
  • Fabrizio Grandoni
    • 1
  • Giuseppe F. Italiano
    • 2
  1. 1.Dipartimento di InformaticaUniversità di Roma “La Sapienza”RomaItaly
  2. 2.Dipartimento di Informatica, Sistemi e ProduzioneUniversità di Roma “Tor Vergata”RomaItaly

Personalised recommendations