Skip to main content
Log in

The Price of Resiliency: a Case Study on Sorting with Memory Faults

  • Published:
Algorithmica Aims and scope Submit manuscript

Abstract

We address the problem of sorting in the presence of faults that may arbitrarily corrupt memory locations, and investigate the impact of memory faults both on the correctness and on the running times of mergesort-based algorithms. To achieve this goal, we develop a software testbed that simulates different fault injection strategies, and perform a thorough experimental study using a combination of several fault parameters. Our experiments give evidence that simple-minded approaches to this problem are largely impractical, while the design of more sophisticated resilient algorithms seems really worth the effort. Another contribution of our computational study is a carefully engineered implementation of a resilient sorting algorithm, which appears robust to different memory fault patterns.

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. Anderson, R., Kuhn, M.: Tamper resistance—a cautionary note. In: Proc. 2nd Usenix Workshop on Electronic Commerce, pp. 1–11 (1996)

  2. Anderson, R., Kuhn, M.: Low cost attacks on tamper resistant devices. In: Proc. International Workshop on Security Protocols, pp. 125–136 (1997)

  3. Aslam, J.A., Dhagat, A.: Searching in the presence of linearly bounded errors. In: Proc. 23rd STOC, pp. 486–493 (1991)

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

    Article  MATH  MathSciNet  Google Scholar 

  5. 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)

  6. Bentley, J., Sedgewick, R.: Quicksort is optimal. Invited talk at Stanford University, January 2002. Slides available at the URL http://www.cs.princeton.edu/~rs/talks/QuicksortIsOptimal.pdf

  7. 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. Springer, Berlin (2003)

    Google Scholar 

  8. Boneh, D., DeMillo, R.A., Lipton, R.J.: On the importance of checking cryptographic protocols for faults. In: Proc. EUROCRYPT, pp. 37–51 (1997)

  9. Borgstrom, R.S., Rao Kosaraju, S.:  Comparison based search in the presence of errors. In: Proc. 25th STOC, pp. 130–136 (1993)

  10. Brodal, G.S., Fagerberg, R., Finocchi, I., Grandoni, F., Italiano, G.F., Jørgensen, A.G., Moruz, G., Mølhave, T.: Optimal resilient dynamic dictionaries. In: Proc. 15th Annual European Symposium on Algorithms (ESA’07), pp. 347–358 (2007)

  11. 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)

  12. 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 

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

    Article  Google Scholar 

  14. 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)

  15. Estivill-Castro, V., Wood, D.: A survey of adaptive sorting algorithms. ACM Comput. Surv. 24, 441–476 (1992)

    Article  Google Scholar 

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

    Article  MATH  MathSciNet  Google Scholar 

  17. 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)

  18. Finocchi, I., Italiano, G.F.: Sorting and searching in faulty memories. Algorithmica 52(3), 309–332 (2008). Preliminary version in Proc. 36th ACM STOC, pp. 101–110 (2004)

    Article  MATH  MathSciNet  Google Scholar 

  19. Finocchi, I., Grandoni, F., Italiano, G.F.: Designing reliable algorithms in unreliable memories. Comput. Sci. Rev. 1(2), 77–87 (2007)

    Article  Google Scholar 

  20. 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. Springer, Berlin (2006). To appear in Theor. Comput. Sci.

    Google Scholar 

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

  22. Govindavajhala, S., Appel, A.W.: Using memory errors to attack a virtual machine. In: Proc. IEEE Symposium on Security and Privacy, pp. 154–165 (2003)

  23. Henzinger, M.: The past, present and future of web search engines. Invited talk. In: 31st ICALP (2004)

  24. 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)

  25. Jørgensen, A.G., Moruz, G., Mølhave, T.: Priority queues resilient to memory faults. In: Proc. 10th Workshop on Algorithms and Data Structures (WADS’07), pp. 127–138 (2007)

  26. 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 

  27. Kopetz, H.: Mitigation of transient faults at the system level—the TTA approach. In: Proc. 2nd Workshop on System Effects of Logic Soft Errors (2006)

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

    Article  Google Scholar 

  29. 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 

  30. 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 

  31. Lu, C., Reed, D.A.: Assessing fault sensitivity in MPI applications. In: Proc. 2004 ACM/IEEE Conf. on Supercomputing (SC’04), p. 37 (2004)

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

  33. Panzer-Steindel, B.: Data integrity. Available at http://indico.cern.ch/getFile.py/access?contribId=3&sessionId=0&resId=1&materialId=paper&confId=13797, April 2007

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

    Article  MATH  MathSciNet  Google Scholar 

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

    Article  MATH  MathSciNet  Google Scholar 

  36. Pinheiro, E., Weber, W., Barroso, L.A.: Failure trends in large disk drive populations. In: Proc. 5th USENIX Conference on File and Storage Technologies (2007)

  37. Ravikumar, B.: A fault-tolerant merge sorting algorithm. In: Proc. 8th COCOON. LNCS, vol. 2387, pp. 440–447. Springer, Berlin (2002)

    Google Scholar 

  38. Reed, D.A., Lu, C., Mendes, C.L.: Reliability challenges in large systems. Future Gener. Comput. Syst. 22(3), 293–302 (2006)

    Article  Google Scholar 

  39. Saha, G.K.: Software based fault tolerance: a survey. Ubiquity 7(25), 1 (2006)

    Google Scholar 

  40. 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. Springer, Berlin (2002)

    Chapter  Google Scholar 

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

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

    Google Scholar 

  43. 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 

  44. Xu, J., Chen, S., Kalbarczyk, Z., Iyer, R.K.: An experimental study of security vulnerabilities caused by errors. In: Proc. International Conference on Dependable Systems and Networks, pp. 421–430 (2001)

  45. 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 MAINSTREAM: (“Algorithms for Massive Information Structures and Data Streams”). A preliminary version of this work was presented at the 14th Annual European Symposium on Algorithms (ESA’06).

Rights and permissions

Reprints and permissions

About this article

Cite this article

Ferraro-Petrillo, U., Finocchi, I. & Italiano, G.F. The Price of Resiliency: a Case Study on Sorting with Memory Faults. Algorithmica 53, 597–620 (2009). https://doi.org/10.1007/s00453-008-9264-1

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00453-008-9264-1

Keywords

Navigation