Skip to main content

Advertisement

Log in

Sorting and Searching in Faulty Memories

  • Published:
Algorithmica Aims and scope Submit manuscript

Abstract

In this paper we investigate the design and analysis of algorithms resilient to memory faults. We focus on algorithms that, despite the corruption of some memory values during their execution, are nevertheless able to produce a correct output at least on the set of uncorrupted values. In this framework, we consider two fundamental problems: sorting and searching. In particular, we prove that any O(nlog n) comparison-based sorting algorithm can tolerate the corruption of at most O((nlog n)1/2) keys. Furthermore, we present one comparison-based sorting algorithm with optimal space and running time that is resilient to O((nlog n)1/3) memory faults. We also prove polylogarithmic lower and upper bounds on resilient searching.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Aho, A., Hopcroft, J.E., Ullman, J.D.: The Design and Analysis of Computer Algorithms. Addison–Wesley, Reading (1974)

    MATH  Google Scholar 

  2. Aslam, J.A., Dhagat, A.: Searching in the presence of linearly bounded errors. In: Proc. 23rd ACM Symp. on Theory of Computing (STOC’91), pp. 486–493, 1991

  3. Assaf, S., Upfal, E.: Fault-tolerant sorting networks. SIAM J. Discrete Math. 4(4), 472–480 (1991)

    Article  MATH  MathSciNet  Google Scholar 

  4. Aumann, Y., Bender, M.A.: Fault-tolerant data structures. In: Proc. 37th IEEE Symp. on Foundations of Computer Science (FOCS’96), pp. 580–589, 1996

  5. Blömer, J., Seifert, J.-P.: Fault based cryptanalysis of the advanced encryption standard (AES). In: Proc. 7th International Conference on Financial Cryptography (FC’03). LNCS vol. 2742, pp. 162–181, 2003

  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’93), pp. 130–136, 1993

  7. Chen, P.M., Lee, E.L., Gibson, G.A., Katz, R.H., Patterson, D.A.: RAID: high-performance, reliable secondary storage. ACM Comput. Surv. 26(2), 145–185 (1994)

    Article  Google Scholar 

  8. Chlebus, B.S., Gambin, A., Indyk, P.: PRAM computations resilient to memory faults. In: Proc. 2nd Annual European Symp. on Algorithms (ESA’94). LNCS vol. 855, pp. 401–412, 1994

  9. Chlebus, B.S., Gambin, A., Indyk, P.: Shared-memory simulations on a faulty-memory DMM. In: Proc. 23rd International Colloquium on Automata, Languages and Programming (ICALP’96), pp. 586–597, 1996

  10. Chlebus, B.S., Gasieniec, L., Pelc, A.: Deterministic computations on a PRAM with static processor and memory faults. Fundam. Inform. 55(3–4), 285–306 (2003)

    MATH  MathSciNet  Google Scholar 

  11. Cook, C.R., Kim, D.J.: Best sorting algorithms for nearly sorted lists. Commun. ACM 23, 620–624 (1980)

    Article  Google Scholar 

  12. Dhagat, A., Gacs, P., Winkler, P.: On playing “twenty questions” with a liar. In: Proc. 3rd ACM-SIAM Symp. on Discrete Algorithms (SODA’92), pp. 16–22, 1992

  13. Farach-Colton, M.: Personal communication (January 2002)

  14. Feige, U., Raghavan, P., Peleg, D., Upfal, E.: Computing with noisy information. SIAM J. Comput. 23, 1001–1018 (1994)

    Article  MATH  MathSciNet  Google Scholar 

  15. Ferraro Petrillo, U., Finocchi, I., Italiano, G.F.: The price of resiliency: a case study on sorting with memory faults. In: Proc. 14th Annual European Symposium on Algorithms (ESA’06), pp. 768–779, 2006

  16. 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’04), pp. 101–110, 2004

  17. Finocchi, I., Grandoni, F., Italiano, G.F.: Optimal sorting and searching in the presence of memory faults. In: Proc. 33rd ICALP. LNCS vol. 4051, pp. 286–298, 2006

  18. Finocchi, I., Grandoni, F., Italiano, G.F.: Resilient search trees. In: Proc. 18th ACM-SIAM Symposium on Discrete Algorithms (SODA 2007), pp. 547–553, 2007

  19. Hamdioui, S., Al-Ars, Z., Van de Goor, J., Rodgers, M.: Dynamic faults in random-access-memories: concept, faults models and tests. J. Electron. Test. Theory Appl. 19, 195–205 (2003)

    Article  Google Scholar 

  20. Henzinger, M.: The past, present and future of web search engines. Invited talk. In: 1st Int. Coll. Automata, Languages and Programming, Turku, Finland, 12–16 July 2004

  21. Indyk, P.: On word-level parallelism in fault-tolerant computing. In: Proc. 13th Annual Symp. on Theoretical Aspects of Computer Science (STACS’96), pp. 193–204, 1996

  22. Kleitman, D.J., Meyer, A.R., Rivest, R.L., Spencer, J., Winklmann, K.: Coping with errors in binary search procedures. J. Comput. Syst. Sci. 20, 396–404 (1980)

    Article  MATH  Google Scholar 

  23. Lakshmanan, K.B., Ravikumar, B., Ganesan, K.: Coping with erroneous information while sorting. IEEE Trans. Comput. 40(9), 1081–1084 (1991)

    Article  Google Scholar 

  24. Leighton, T., Ma, Y.: Tight bounds on the size of fault-tolerant merging and sorting networks with destructive faults. SIAM J. Comput. 29(1), 258–273 (1999)

    Article  MATH  MathSciNet  Google Scholar 

  25. Leighton, T., Ma, Y., Plaxton, C.G.: Breaking the Θ(nlog 2 n) barrier for sorting with faults. J. Comput. Syst. Sci. 54, 265–304 (1997)

    Article  MATH  MathSciNet  Google Scholar 

  26. May, T.C., Woods, M.H.: Alpha-particle-induced soft errors in dynamic memories. IEEE Trans. Elect. Dev. 26(2) (1979)

  27. Mehlhorn, K., Näher, S.: LEDA: A Platform for Combinatorial and Geometric Computing. Cambridge University Press, Cambridge (1999)

    MATH  Google Scholar 

  28. Muthukrishnan, S.: On optimal strategies for searching in the presence of errors. In: Proc. 5th ACM-SIAM Symp. on Discrete Algorithms (SODA’94), pp. 680–689, 1994

  29. Pelc, A.: Searching with known error probability. Theor. Comput. Sci. 63, 185–202 (1989)

    Article  MATH  MathSciNet  Google Scholar 

  30. Pelc, A.: Searching games with errors: fifty years of coping with liars. Theor. Comput. Sci. 270, 71–109 (2002)

    Article  MATH  MathSciNet  Google Scholar 

  31. Plauger, P.J., Stepanov, A.A., Lee, M., Musser, D.R.: The C++ Standard Template Library. Prentice Hall, New York (2000)

    Google Scholar 

  32. Quisquater, J.J., Samyde, D.: Eddy current for magnetic analysis with active sensor. In: Proc. International Conference on Research in SmartCards (E-Smart’02), pp. 185–194, 2002

  33. Ravikumar, B.: A fault-tolerant merge sorting algorithm. In: Proc. 8th Annual Int. Conf. on Computing and Combinatorics (COCOON’02). LNCS vol. 2387, pp. 440–447, 2002

  34. Rényi, A.: A Diary on Information Theory. Wiley, New York (1994) Original publication: Napló az Információelméletröl. Gondolat, Budapest (1976)

    Google Scholar 

  35. Skorobogatov, S., Anderson, R.: Optical fault induction attacks. In: Proc. 4th International Workshop on Cryptographic Hardware and Embedded Systems (CHES’02). LNCS vol. 2523, pp. 2–12, 2002

  36. Tezzaron Semiconductor. Soft errors in electronic memory—a white paper, URL:http://www.tezzaron.com/about/papers/Papers.htm, January 2004

  37. Ulam, S.M.: Adventures of a Mathematician. Scribners, New York (1977)

    Google Scholar 

  38. Van de Goor, A.J.: Testing Semiconductor Memories: Theory and Practice. ComTex Publishing, Gouda (1998)

    Google Scholar 

  39. Yao, A.C., Yao, F.F.: On fault-tolerant networks for sorting. SIAM J. Comput. 14, 120–128 (1985)

    Article  MATH  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Irene Finocchi.

Additional information

This work has been partially supported by the Sixth Framework Programme of the EU under Contract Number 507613 (Network of Excellence “EuroNGI: Designing and Engineering of the Next Generation Internet”) and by MIUR, the Italian Ministry of Education, University and Research, under Project ALGO-NEXT (“Algorithms for the Next Generation Internet and Web: Methodologies, Design and Experiments”). A preliminary version of this work was presented at the 36th ACM Symposium on Theory of Computing (STOC’04) .

Rights and permissions

Reprints and permissions

About this article

Cite this article

Finocchi, I., Italiano, G.F. Sorting and Searching in Faulty Memories. Algorithmica 52, 309–332 (2008). https://doi.org/10.1007/s00453-007-9088-4

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00453-007-9088-4

Keywords

Navigation