Abstract
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(δ).
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Boyer, R.S., Moore, J.S.: MJRTY - A Fast Majority Vote Algorithm (1982)
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)
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)
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)
Cormen, T.H., Leiserson, C.E., Rivest, R.L., Stein, C.: Introduction to Algorithms, 2nd revised edn. The MIT Press (2001)
Dor, D.: Selection Algorithms. Ph.D. thesis, Tel-Aviv University (1995)
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)
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)
Finocchi, I., Grandoni, F., Italiano, G.: Designing reliable algorithms in unreliable memories. Computer Science Review 1(2), 77–87 (2007)
Finocchi, I., Grandoni, F., Italiano, G.F.: Resilient search trees. In: Proc. SODA 2007, pp. 547–553. Society for Industrial and Applied Mathematics (2007)
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)
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)
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)
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)
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)
May, T.C., Woods, M.H.: Alpha-particle-induced soft errors in dynamic memories. IEEE Transactions on Electron Devices 26(1), 2–9 (1979)
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)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2012 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Babenko, M., Pouzyrevsky, I. (2012). Resilient Quicksort and Selection. In: Hirsch, E.A., Karhumäki, J., Lepistö, A., Prilutskii, M. (eds) Computer Science – Theory and Applications. CSR 2012. Lecture Notes in Computer Science, vol 7353. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-30642-6_2
Download citation
DOI: https://doi.org/10.1007/978-3-642-30642-6_2
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-30641-9
Online ISBN: 978-3-642-30642-6
eBook Packages: Computer ScienceComputer Science (R0)