Skip to main content

Resilient Algorithms and Data Structures

  • Conference paper
Algorithms and Complexity (CIAC 2010)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 6078))

Included in the following conference series:

Abstract

Modern memory devices may suffer from faults, where some bits may arbitrarily flip and corrupt the values of the affected memory cells. The appearance of such faults may seriously compromise the correctness and performance of computations. In recent years, many algorithms for computing in the presence of memory faults have been introduced in the literature: in particular, an algorithm or a data structure is called resilient if it is able to work correctly on the set of uncorrupted values. In this invited talk I will survey recent work on resilient algorithms and data structures.

This work has been partially supported by the 7th Framework Programme of the EU (Network of Excellence “EuroNF: Anticipating the Network of the Future - From Theory to Design”) and by MIUR, the Italian Ministry of Education, University and Research, under Project AlgoDEEP.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Abadi, M., Budiu, M., Erlingsson, U., Ligatti, J.: Control-flow integrity. In: Proc. 12th ACM Conference on Computer and Communications Security, pp. 340–353 (2005)

    Google Scholar 

  2. Anderson, R., Kuhn, M.: Tamper resistance – a cautionary note. In: Proc. 2nd Usenix Workshop on Electronic Commerce, pp. 1–11 (1996)

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

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

    Article  MathSciNet  MATH  Google Scholar 

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

  7. Bar-El, H., Choukri, H., Naccache, D., Tunstall, M., Whelan, C.: The Sorcerers Apprentice Guide to Fault Attacks. Proceedings of the IEEE 94(2), 370–382 (2006)

    Article  Google Scholar 

  8. Baumann, R.: Soft errors in advanced computer systems. IEEE Design and Test of Computers 22(3), 258–266 (2005)

    Article  Google Scholar 

  9. Bentley, J., Sedgewick, R.: Quicksort is optimal. Stanford University (January 2002) (invited talk), http://www.cs.princeton.edu/~rs/talks/QuicksortIsOptimal.pdf

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

    Chapter  Google Scholar 

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

  12. Boneh, D., DeMillo, R.A., Lipton, R.J.: On the importance of checking cryptographic protocols for faults. In: Fumy, W. (ed.) EUROCRYPT 1997. LNCS, vol. 1233, pp. 37–51. Springer, Heidelberg (1997)

    Chapter  Google Scholar 

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

    Google Scholar 

  14. Boyer, R., Moore., S.: MJRTY — A fast majority vote algorithm. In: Automated Reasoning: Essays in Honor of Woody Bledsoe, pp. 105–118 (1991)

    Google Scholar 

  15. 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: Arge, L., Hoffmann, M., Welzl, E. (eds.) ESA 2007. LNCS, vol. 4698, pp. 347–358. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  16. Brodal, G.S., Jørgensen, A.G., Moruz, G., Mølhave, T.: Optimal Counting in the Presence of Memory Faults. In: Dong, Y., Du, D.-Z., Ibarra, O. (eds.) ISAAC 2009. LNCS, vol. 5878, pp. 842–851. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  17. Brodal, G.S., Jørgensen, A.G., Mølhave, T.: Fault tolerant external memory algorithms. In: Dehne, F., Gavrilova, M., Sack, J.-R., Tóth, C.D. (eds.) WADS 2009. LNCS, vol. 5664, pp. 411–422. Springer, Heidelberg (2009)

    Google Scholar 

  18. Caminiti, S., Finocchi, I., Fusco, E.G.: Resilient dynamic programming. (2010) (manuscript)

    Google Scholar 

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

    Chapter  Google Scholar 

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

    Chapter  Google Scholar 

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

    MathSciNet  MATH  Google Scholar 

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

    Article  Google Scholar 

  23. Constantinescu, C.: Trends and challenges in VLSI circuit reliability. IEEE micro 23(4), 14–19 (2003)

    Article  Google Scholar 

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

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

    Article  Google Scholar 

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

    Article  MathSciNet  MATH  Google Scholar 

  27. Ferraro-Petrillo, U., Finocchi, I., Italiano, G.F.: The Price of Resiliency: a Case Study on Sorting with Memory Faults. Algorithmica 53(4), 597–620 (2009)

    Article  MathSciNet  MATH  Google Scholar 

  28. Ferraro-Petrillo, U., Finocchi, I., Italiano, G.F.: Experimental Study of Resilient Algorithms and Data Structures. In: Proc. 4th International Symposium on Experimental Algorithms (SEA 2010), Ischia, Italy, May 20-22 (2010) (invited talk)

    Google Scholar 

  29. Ferraro-Petrillo, U., Grandoni, F., Italiano, G.F.: Data Structures Resilient to Memory Faults: An Experimental Study of Dictionaries. In: Proc. 4th International Symposium on Experimental Algorithms (SEA 2010), Ischia, Italy, May 20-22 (2010)

    Google Scholar 

  30. Finocchi, I., Grandoni, F., Italiano, G.F.: Designing reliable algorithms in unreliable memories. Computer Science Review 1(2), 77–87 (2007)

    Article  MATH  Google Scholar 

  31. Finocchi, I., Grandoni, F., Italiano, G.F.: Optimal sorting and searching in the presence of memory faults. Theor. Comput. Sci. 410(44), 4457–4470 (2009)

    Article  MathSciNet  MATH  Google Scholar 

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

    Google Scholar 

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

    Article  MathSciNet  MATH  Google Scholar 

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

    Google Scholar 

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

    Article  Google Scholar 

  36. Henzinger, M.: The past, present and future of Web Search Engines. In: Díaz, J., Karhumäki, J., Lepistö, A., Sannella, D. (eds.) ICALP 2004. LNCS, vol. 3142, p. 3. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  37. Henzinger, M.R.: Combinatorial algorithms for web search engines - three success stories. In: ACM-SIAM Symposium on Discrete Algorithms (SODA) (2007) (invited talk)

    Google Scholar 

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

    Chapter  Google Scholar 

  39. Jørgensen, A.G., Moruz, G., Mølhave, T.: Priority queues resilient to memory faults. In: Dehne, F., Sack, J.-R., Zeh, N. (eds.) WADS 2007. LNCS, vol. 4619, pp. 127–138. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  40. Huang, K.H., Abraham, J.A.: Algorithm-based fault tolerance for matrix operations. IEEE Transactions on Computers 33, 518–528 (1984)

    Article  MATH  Google Scholar 

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

    Article  MathSciNet  MATH  Google Scholar 

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

    Google Scholar 

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

    Article  Google Scholar 

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

    Article  MathSciNet  MATH  Google Scholar 

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

    Article  MATH  Google Scholar 

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

    Google Scholar 

  47. May, T.C., Woods, M.H.: Alpha-Particle-Induced Soft Errors In Dynamic Memories. IEEE Trans. Elect. Dev. 26(2) (1979)

    Google Scholar 

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

  49. Novark, G., Berger, E.D., Zorn, B.G.: Exterminator: Automatically correcting memory errors with high probability. Communications of the ACM 51(12), 87–95 (2008)

    Article  Google Scholar 

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

  51. Pelc, A.: Searching with known error probability. Theoretical Computer Science 63, 185–202 (1989)

    Article  MathSciNet  MATH  Google Scholar 

  52. Pelc, A.: Searching games with errors: Fifty years of coping with liars. Theoret. Comp. Sci. 270, 71–109 (2002)

    Article  MathSciNet  MATH  Google Scholar 

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

    Google Scholar 

  54. Pradhan, D.K.: Fault-tolerant computer system design. Prentice-Hall, Inc., Englewood Cliffs (1996)

    Google Scholar 

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

    Chapter  Google Scholar 

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

  57. Rela, M.Z., Madeira, H., Silva, J.G.: Experimental evaluation of the fail-silent behaviour in programs with consistency checks. In: Proc. 26th Annual International Symposium on Fault-Tolerant Computing, pp. 394–403 (1996)

    Google Scholar 

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

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

    Google Scholar 

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

    Chapter  Google Scholar 

  61. Taber, A., Normand, E.: Single event upset in avionics. IEEE Transactions on Nuclear Science 40(2), 120–126 (1993)

    Article  Google Scholar 

  62. Ulam, S.M.: Adventures of a mathematician. Scribners, New York (1977)

    Google Scholar 

  63. Tezzaron Semiconductor. Soft Errors in Electronic Memory – A White Paper (January 2004), http://www.tezzaron.com/about/papers/soft_errors_1_1_secure.pdf

  64. Van de Goor, A.J.: Testing semiconductor memories: Theory and practice. ComTex Publishing, Gouda (1998)

    Google Scholar 

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

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

    Google Scholar 

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

    Article  MathSciNet  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2010 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Italiano, G.F. (2010). Resilient Algorithms and Data Structures. In: Calamoneri, T., Diaz, J. (eds) Algorithms and Complexity. CIAC 2010. Lecture Notes in Computer Science, vol 6078. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-13073-1_3

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-13073-1_3

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-13072-4

  • Online ISBN: 978-3-642-13073-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics