Optimal Resilient Sorting and Searching in the Presence of Memory Faults

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


We investigate the problem of reliable computation in the presence of faults that may arbitrarily corrupt memory locations. In this framework, we consider the problems of sorting and searching in optimal time while tolerating the largest possible number of memory faults. In particular, we design an O(nlogn) time sorting algorithm that can optimally tolerate up to \(O(\sqrt{n\log n}\,)\) memory faults. In the special case of integer sorting, we present an algorithm with linear expected running time that can tolerate \(O(\sqrt{n}\,)\) faults. We also present a randomized searching algorithm that can optimally tolerate up to O(logn) memory faults in O(logn) expected time, and an almost optimal deterministic searching algorithm that can tolerate O((logn)1 − ε) faults, for any small positive constant ε, in O(logn) worst-case time. All these results improve over previous bounds.


Input Sequence Sorting Algorithm Expected Time Small Positive Constant Safety Check 
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.
    Assaf, S., Upfal, E.: Fault-tolerant sorting networks. SIAM J. Discrete Math. 4(4), 472–480 (1991)MATHCrossRefMathSciNetGoogle Scholar
  2. 2.
    Aumann, Y., Bender, M.A.: Fault-tolerant data structures. In: Proc. 37th IEEE Symp. on Foundations of Computer Science, pp. 580–589 (1996)Google Scholar
  3. 3.
    Borgstrom, R.S., Kosaraju, S.R.: Comparison based search in the presence of errors. In: Proc. 25th ACM Symp. on Theory of Computing, pp. 130–136 (1993)Google Scholar
  4. 4.
    Boyer, R., Moore., S.: MJRTY - A fast majority vote algorithm. University of Texas Tech. Report (1982)Google Scholar
  5. 5.
    Chlebus, B.S., Gasieniec, L., Pelc, A.: Deterministic computations on a PRAM with static processor and memory faults. Fund. Informaticae 55, 285–306 (2003)MATHMathSciNetGoogle Scholar
  6. 6.
    Feige, U., Raghavan, P., Peleg, D., Upfal, E.: Computing with noisy information. SIAM Journal on Computing 23, 1001–1018 (1994)MATHCrossRefMathSciNetGoogle Scholar
  7. 7.
    Finocchi, I., Italiano, G.F.: Sorting and searching in the presence of memory faults (without redundancy). In: Proc. 36th ACM Symp. on Theory of Computing, pp. 101–110 (2004)Google Scholar
  8. 8.
    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
  9. 9.
    Henzinger, M.: The past, present and future of Web Search Engines. In: 31st Int. Coll. Automata, Languages and Programming, pp. 12–16 (2004)Google Scholar
  10. 10.
    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)MATHCrossRefMathSciNetGoogle Scholar
  11. 11.
    Pelc, A.: Searching games with errors: Fifty years of coping with liars. Theoretical Computer Science 270, 71–109 (2002)MATHCrossRefMathSciNetGoogle Scholar
  12. 12.
    Skorobogatov, S., Anderson, R.: Optical fault induction attacks. In: Proc. 4th Int. Workshop on Cryptographic Hardware and Embedded Systems, pp. 2–12 (2002)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

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