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.
Similar content being viewed by others
References
Anderson, R., Kuhn, M.: Tamper resistance—a cautionary note. In: Proc. 2nd Usenix Workshop on Electronic Commerce, pp. 1–11 (1996)
Anderson, R., Kuhn, M.: Low cost attacks on tamper resistant devices. In: Proc. International Workshop on Security Protocols, pp. 125–136 (1997)
Aslam, J.A., Dhagat, A.: Searching in the presence of linearly bounded errors. In: Proc. 23rd STOC, pp. 486–493 (1991)
Assaf, S., Upfal, E.: Fault-tolerant sorting networks. SIAM J. Discrete Math. 4(4), 472–480 (1991)
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)
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
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)
Boneh, D., DeMillo, R.A., Lipton, R.J.: On the importance of checking cryptographic protocols for faults. In: Proc. EUROCRYPT, pp. 37–51 (1997)
Borgstrom, R.S., Rao Kosaraju, S.: Comparison based search in the presence of errors. In: Proc. 25th STOC, pp. 130–136 (1993)
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)
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)
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)
Cook, C.R., Kim, D.J.: Best sorting algorithms for nearly sorted lists. Commun. ACM 23, 620–624 (1980)
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)
Estivill-Castro, V., Wood, D.: A survey of adaptive sorting algorithms. ACM Comput. Surv. 24, 441–476 (1992)
Feige, U., Raghavan, P., Peleg, D., Upfal, E.: Computing with noisy information. SIAM J. Comput. 23, 1001–1018 (1994)
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)
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)
Finocchi, I., Grandoni, F., Italiano, G.F.: Designing reliable algorithms in unreliable memories. Comput. Sci. Rev. 1(2), 77–87 (2007)
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.
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)
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)
Henzinger, M.: The past, present and future of web search engines. Invited talk. In: 31st ICALP (2004)
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)
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)
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)
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)
Lakshmanan, K.B., Ravikumar, B., Ganesan, K.: Coping with erroneous information while sorting. IEEE Trans. Comput. 40(9), 1081–1084 (1991)
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)
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)
Lu, C., Reed, D.A.: Assessing fault sensitivity in MPI applications. In: Proc. 2004 ACM/IEEE Conf. on Supercomputing (SC’04), p. 37 (2004)
May, T.C., Woods, M.H.: Alpha-particle-induced soft errors in dynamic memories. IEEE Trans. Electron Devices 26(2) (1979)
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
Pelc, A.: Searching with known error probability. Theor. Comput. Sci. 63, 185–202 (1989)
Pelc, A.: Searching games with errors: Fifty years of coping with liars. Theor. Comput. Sci. 270, 71–109 (2002)
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)
Ravikumar, B.: A fault-tolerant merge sorting algorithm. In: Proc. 8th COCOON. LNCS, vol. 2387, pp. 440–447. Springer, Berlin (2002)
Reed, D.A., Lu, C., Mendes, C.L.: Reliability challenges in large systems. Future Gener. Comput. Syst. 22(3), 293–302 (2006)
Saha, G.K.: Software based fault tolerance: a survey. Ubiquity 7(25), 1 (2006)
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)
Tezzaron Semiconductor. Soft errors in electronic memory—a white paper. URL: http://www.tezzaron.com/about/papers/Papers.htm, January 2004
Van de Goor, A.J.: Testing Semiconductor Memories: Theory and Practice. ComTex, Gouda (1998)
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)
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)
Yao, A.C., Yao, F.F.: On fault-tolerant networks for sorting. SIAM J. Comput. 14, 120–128 (1985)
Author information
Authors and Affiliations
Corresponding author
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
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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00453-008-9264-1