Experimental Study of Resilient Algorithms and Data Structures

Large and inexpensive 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, several algorithms for computing in the presence of memory faults have been introduced in the literature: in particular, we say that an algorithm or a data structure is resilient if it is able to work correctly on the set of uncorrupted values. In this invited talk, we contribute carefully engineered implementations of recent resilient algorithms and data structures and report the main results of a preliminary experimental evaluation of our implementations.

[1]  Frank Thomson Leighton,et al.  Tight Bounds on the Size of Fault-Tolerant Merging and Sorting Networks with Destructive Faults , 1999, SIAM J. Comput..

[2]  Jean-Pierre Seifert,et al.  Fault Based Cryptanalysis of the Advanced Encryption Standard (AES) , 2003, Financial Cryptography.

[3]  S. Rao Kosaraju,et al.  Comparison-based search in the presence of errors , 1993, STOC.

[4]  Peter Winkler,et al.  On playing “Twenty Questions” with a liar , 1992, SODA '92.

[5]  Markus G. Kuhn,et al.  Tamper resistance: a cautionary note , 1996 .

[6]  Robin Milner,et al.  On Observing Nondeterminism and Concurrency , 1980, ICALP.

[7]  Joel H. Spencer,et al.  Coping with Errors in Binary Search Procedures , 1980, J. Comput. Syst. Sci..

[8]  A. J. van de Goor,et al.  Testing Semiconductor Memories: Theory and Practice , 1998 .

[9]  Richard J. Lipton,et al.  On the Importance of Checking Cryptographic Protocols for Faults (Extended Abstract) , 1997, EUROCRYPT.

[10]  J. von Neumann,et al.  Probabilistic Logic and the Synthesis of Reliable Organisms from Unreliable Components , 1956 .

[11]  Andrew W. Appel,et al.  Using memory errors to attack a virtual machine , 2003, 2003 Symposium on Security and Privacy, 2003..

[12]  Jacob A. Abraham,et al.  Algorithm-Based Fault Tolerance for Matrix Operations , 1984, IEEE Transactions on Computers.

[13]  Fabrizio Grandoni,et al.  Optimal Resilient Dynamic Dictionaries , 2007, ESA.

[14]  Andrzej PELC,et al.  Searching with Known Error Probability , 1989, Theor. Comput. Sci..

[15]  Ravishankar K. Iyer,et al.  An experimental study of security vulnerabilities caused by errors , 2001, 2001 International Conference on Dependable Systems and Networks.

[16]  Niklaus Wirth,et al.  Algorithms and Data Structures , 1989, Lecture Notes in Computer Science.

[17]  Javed A. Aslam,et al.  Searching in the presence of linearly bounded errors , 1991, STOC '91.

[18]  Donald E. Knuth,et al.  Sorting and Searching , 1973 .

[19]  Michael Hoffmann,et al.  Algorithms - ESA 2007, 15th Annual European Symposium, Eilat, Israel, October 8-10, 2007, Proceedings , 2007, ESA.

[20]  Allan Grønlund Jørgensen,et al.  Counting in the Presence of Memory Faults , 2009, ISAAC.

[21]  Goutam Kumar Saha,et al.  Software Based Fault Tolerance – a Survey , 2006 .

[22]  Piotr Indyk,et al.  On Word-Level Parallelism in Fault-Tolerant Computing , 1996, STACS.

[23]  Zaid Al-Ars,et al.  Dynamic Faults in Random-Access-Memories: Concept, Fault Models and Tests , 2003, J. Electron. Test..

[24]  Christof Paar,et al.  Cryptographic Hardware and Embedded Systems - CHES 2002 , 2003, Lecture Notes in Computer Science.

[25]  Allan Grønlund Jørgensen,et al.  Priority Queues Resilient to Memory Faults , 2007, WADS.

[26]  Bala Ravikumar,et al.  Coping with Erroneous Information while Sorting , 1991, IEEE Trans. Computers.

[27]  Andrzej Pelc,et al.  Deterministic Computations on a PRAM with Static Processor and Memory Faults , 2002, Fundam. Informaticae.

[28]  Michael A. Bender,et al.  Fault tolerant data structures , 1996, Proceedings of 37th Conference on Foundations of Computer Science.

[29]  Fabrizio Grandoni,et al.  Designing reliable algorithms in unreliable memories , 2007, Comput. Sci. Rev..

[30]  Eli Upfal,et al.  Fault Tolerant Sorting Networks , 1991, SIAM J. Discret. Math..

[31]  Eli Upfal,et al.  Computing with Noisy Information , 1994, SIAM J. Comput..

[32]  Bala Ravikumar,et al.  A Fault-Tolerant Merge Sorting Algorithm , 2002, COCOON.

[33]  Robert S. Boyer,et al.  MJRTY: A Fast Majority Vote Algorithm , 1991, Automated Reasoning: Essays in Honor of Woody Bledsoe.

[34]  Charng-Da Lu,et al.  Assessing Fault Sensitivity in MPI Applications , 2004, Proceedings of the ACM/IEEE SC2004 Conference.

[35]  Allan Grønlund Jørgensen,et al.  Fault Tolerant External Memory Algorithms , 2009, WADS.

[36]  Piotr Indyk,et al.  Shared-Memory Simulations on a Faulty-Memory DMM , 1996, ICALP.

[37]  Fabrizio Grandoni,et al.  Resilient dictionaries , 2009, TALG.

[38]  Ross J. Anderson,et al.  Optical Fault Induction Attacks , 2002, CHES.

[39]  Fabrizio Grandoni,et al.  Optimal resilient sorting and searching in the presence of memory faults , 2006 .

[40]  Andrzej Pelc,et al.  Searching games with errors - fifty years of coping with liars , 2002, Theor. Comput. Sci..

[41]  Monika Henzinger Combinatorial algorithms for web search engines: three success stories , 2007, SODA '07.

[42]  Monika Henzinger The Past, Present, and Future of Web Search Engines p , 2004, ICALP.

[43]  T. May,et al.  Alpha-particle-induced soft errors in dynamic memories , 1979, IEEE Transactions on Electron Devices.

[44]  Umberto Ferraro Petrillo,et al.  The Price of Resiliency: a Case Study on Sorting with Memory Faults , 2008, Algorithmica.

[45]  Andrew Chi-Chih Yao,et al.  On Fault-Tolerant Networks for Sorting , 1985, SIAM J. Comput..

[46]  Charng-Da Lu,et al.  Reliability challenges in large systems , 2006, Future Gener. Comput. Syst..

[47]  Walter Fumy,et al.  Advances in Cryptology — EUROCRYPT ’97 , 2001, Lecture Notes in Computer Science.

[48]  Giuseppe F. Italiano,et al.  Sorting and Searching in Faulty Memories , 2008, Algorithmica.

[49]  Markus G. Kuhn,et al.  Low Cost Attacks on Tamper Resistant Devices , 1997, Security Protocols Workshop.

[50]  Fabrizio Grandoni,et al.  Resilient search trees , 2007, SODA '07.

[51]  C. Greg Plaxton,et al.  Breaking the Theta (n log² n) Barrier for Sorting with Faults , 1997, J. Comput. Syst. Sci..

[52]  Fabrizio Grandoni,et al.  Data Structures Resilient to Memory Faults: An Experimental Study of Dictionaries , 2010, SEA.