Resilient Quicksort and Selection

  • Maxim Babenko
  • Ivan Pouzyrevsky
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7353)


We consider the problem of sorting a sequence of n keys in a RAM-like environment where memory faults are possible. An algorithm is said to be δ-resilient if it can tolerate up to δ memory faults during its execution. A resilient sorting algorithm must produce a sequence where every pair of uncorrupted keys is ordered correctly. Finocchi, Grandoni, and Italiano devised a δ-resilient deterministic mergesort algorithm that runs in O(n logn + δ 2) time. We present a δ-resilient randomized algorithm (based on quicksort) that runs in \(O(n \log n + \delta \sqrt{n \log n})\) expected time and its deterministic variation that runs in \(O(n \log n + \delta \sqrt{n} \, \log n)\) worst-case time. This improves the previous known result for \(\delta > \sqrt{n} \, \log n\).

Our deterministric sorting relies on the notion of an approximate k-th order statistic. For this auxiliary problem, we devise a deterministic algorithm that runs in \(O(n + \delta \sqrt{n})\) time and produces a key (either corrupted or not) whose order rank differs from k by at most O(δ).


Sorting Algorithm Deterministic Variation Recursion Tree Memory Fault Sorting Problem 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Boyer, R.S., Moore, J.S.: MJRTY - A Fast Majority Vote Algorithm (1982)Google Scholar
  2. 2.
    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)CrossRefGoogle Scholar
  3. 3.
    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)CrossRefGoogle Scholar
  4. 4.
    Brodal, G.S., Jørgensen, A.G., Moruz, G., Mølhave, T.: 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)CrossRefGoogle Scholar
  5. 5.
    Cormen, T.H., Leiserson, C.E., Rivest, R.L., Stein, C.: Introduction to Algorithms, 2nd revised edn. The MIT Press (2001)Google Scholar
  6. 6.
    Dor, D.: Selection Algorithms. Ph.D. thesis, Tel-Aviv University (1995)Google Scholar
  7. 7.
    Ferraro-Petrillo, U., Finocchi, I., Italiano, G.: Experimental Study of Resilient Algorithms and Data Structures. In: Festa, P. (ed.) SEA 2010. LNCS, vol. 6049, pp. 1–12. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  8. 8.
    Ferraro-Petrillo, U., Grandoni, F., Italiano, G.: Data Structures Resilient to Memory Faults: An Experimental Study of Dictionaries. In: Festa, P. (ed.) SEA 2010. LNCS, vol. 6049, pp. 398–410. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  9. 9.
    Finocchi, I., Grandoni, F., Italiano, G.: Designing reliable algorithms in unreliable memories. Computer Science Review 1(2), 77–87 (2007)CrossRefGoogle Scholar
  10. 10.
    Finocchi, I., Grandoni, F., Italiano, G.F.: Resilient search trees. In: Proc. SODA 2007, pp. 547–553. Society for Industrial and Applied Mathematics (2007)Google Scholar
  11. 11.
    Finocchi, I., Grandoni, F., Italiano, G.F.: Optimal resilient sorting and searching in the presence of memory faults. Theor. Comput. Sci. 410, 4457–4470 (2009)MathSciNetzbMATHCrossRefGoogle Scholar
  12. 12.
    Finocchi, I., Italiano, G.F.: Sorting and searching in the presence of memory faults (without redundancy). In: Proc. STOC 2004, pp. 101–110. ACM (2004)Google Scholar
  13. 13.
    Hamdioui, S., Ars, Z.A., Van De Goor, A.J., Rodgers, M.: Dynamic Faults in Random-Access-Memories: Concept, Fault Models and Tests. J. Electron. Test. 19, 195–205 (2003)CrossRefGoogle Scholar
  14. 14.
    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)CrossRefGoogle Scholar
  15. 15.
    Li, X., Huang, M.C., Shen, K., Chu, L.: A realistic evaluation of memory hardware errors and software system susceptibility. In: Proc. USENIX 2010. USENIX Association (2010)Google Scholar
  16. 16.
    May, T.C., Woods, M.H.: Alpha-particle-induced soft errors in dynamic memories. IEEE Transactions on Electron Devices 26(1), 2–9 (1979)CrossRefGoogle Scholar
  17. 17.
    Ferraro-Petrillo, U., Finocchi, I., Italiano, G.F.: The Price of Resiliency: A Case Study on Sorting with Memory Faults. In: Azar, Y., Erlebach, T. (eds.) ESA 2006. LNCS, vol. 4168, pp. 768–779. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  18. 18.
    Schroeder, B., Gibson, G.A.: A large-scale study of failures in high-performance computing systems. In: DSN 2006: Proceedings of the International Conference on Dependable Systems and Networks (DSN 2006), pp. 249–258. IEEE Computer Society, Los Alamitos (2006)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Maxim Babenko
    • 1
    • 2
  • Ivan Pouzyrevsky
    • 1
    • 2
  1. 1.Moscow State UniversityRussia
  2. 2.YandexRussia

Personalised recommendations