Abstract
The selection problem, where one wishes to locate the k th smallest element in an unsorted array of size n, is one of the basic problems studied in computer science. The main focus of this work is designing algorithms for solving the selection problem in the presence of memory faults.
Specifically, the computational model assumed here is a faulty variant of the RAM model (abbreviated as FRAM), which was introduced by Finocchi and Italiano [FI04].. In this model, the content of memory cells might get corrupted adversarially during the execution, and the algorithm cannot distinguish between corrupted cells and uncorrupted cells. The model assumes a constant number of reliable memory cells that never become corrupted, and an upper bound δ on the number of corruptions that may occur, which is given as an auxiliary input to the algorithm.
The main contribution of this work is a deterministic resilient selection algorithm with optimal O(n) worst-case running time. Interestingly, the running time does not depend on the number of faults, and the algorithm does not need to know δ. As part of the solution, several techniques that allow to sometimes use non-tail recursion algorithms in the FRAM model are developed. Notice that using recursive algorithms in this model is problematic, as the stack might be too large to fit in reliable memory.
The aforementioned resilient selection algorithm can be used to improve the complexity bounds for resilient k-d trees developed by Gieseke, Moruz and Vahrenhold [GMV10]. Specifically, the time complexity for constructing a k-d tree is improved from O(nlog2 n + δ 2) to O(n logn).
Besides the deterministic algorithm, a randomized resilient selection algorithm is developed, which is simpler than the deterministic one, and has O(n + α) expected time complexity and O(1) space complexity (i.e., is in-place). This algorithm is used to develop the first resilient sorting algorithm that is in-place and achieves optimal O(nlogn + αδ) expected running time.
A full version appears at http://arxiv.org/abs/1204.5229 . This work was supported in part by The Israel Science Foundation (grant #452/08), by a US-Israel BSF grant #2010418, and by the Citi Foundation.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Baumann, R.C.: Radiation-induced soft errors in advanced semiconductor technologies. IEEE Transactions on Device and Materials Reliability 5(3), 305–316 (2005)
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)
Blum, M., Floyd, R.W., Pratt, V.R., Rivest, R.L., Tarjan, R.E.: Time bounds for selection. J. Comput. Syst. Sci. 7(4), 448–461 (1973)
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)
Christiano, P., Demaine, E.D., Kishore, S.: Lossless Fault-Tolerant Data Structures with Additive Overhead. In: Dehne, F., Iacono, J., Sack, J.-R. (eds.) WADS 2011. LNCS, vol. 6844, pp. 243–254. Springer, Heidelberg (2011)
Caminiti, S., Finocchi, I., Fusco, E.G., Silvestri, F.: Dynamic programming in faulty memory hierarchies (cache-obliviously). In: Proceedings of FSTTCS, pp. 433–444 (2011)
Cormen, T.H., Leiserson, C.E., Rivest, R.L., Stein, C.: Introduction to Algorithms, 3rd edn. The MIT Press (2009)
Finocchi, I., Grandoni, F., Italiano, G.F.: Optimal resilient sorting and searching in the presence of memory faults. Theor. Comput. Sci. 410(44), 4457–4470 (2009)
Finocchi, I., Grandoni, F., Italiano, G.F.: Resilient dictionaries. ACM Transactions on Algorithms 6(1) (2009)
Finocchi, I., Italiano, G.F.: Sorting and searching in the presence of memory faults (without redundancy). In: Proceedings of STOC, pp. 101–110 (2004)
Gieseke, F., Moruz, G., Vahrenhold, J.: Resilient k-d trees: K-means in space revisited. In: Proceedings of ICDM, pp. 815–820 (2010)
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: Proceedings of USENIX, p. 6 (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)
Tezzaron Semiconductor. Soft errors in electronic memory - a white paper (2004), http://www.tezzaron.com/about/papers/soft_errors_1_1_secure.pdf
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
Kopelowitz, T., Talmon, N. (2012). Selection in the Presence of Memory Faults, with Applications to In-place Resilient Sorting. In: Chao, KM., Hsu, Ts., Lee, DT. (eds) Algorithms and Computation. ISAAC 2012. Lecture Notes in Computer Science, vol 7676. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-35261-4_58
Download citation
DOI: https://doi.org/10.1007/978-3-642-35261-4_58
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-35260-7
Online ISBN: 978-3-642-35261-4
eBook Packages: Computer ScienceComputer Science (R0)