Abstract
This paper introduces a new paradigm in the design of sorting algorithms, viz., fault tolerance. Fault tolerance is an important concept in modern day computing and design workflows must accommodate this need. In general, there are a number of avenues for faults to occur and techniques to address the same; this paper focusses on only one source of faulty behavior, viz., process termination. Process termination, as a cause of faulty behavior, is important from the perspective of various applications in real-time scheduling. In order to measure the effectiveness of a fault tolerant protocol, it is necessary to define a suitable metric and analyze the performance of the protocol with respect to that metric. We measure the “unsortedness” of an array, as characterized by the number of inversion pairs that remain when the sorting algorithm (process) terminates. This paper proposes a new algorithm for sorting called the Randomized QuickMergesort (RQMS) algorithm. RQMS has a higher degree of fault tolerance than either Randomized Quicksort (RQS) or Mergesort (MS), in that fewer inversion pairs remain when it terminates. Likewise, RQMS has a lower comparison overhead than RQS and is more space-efficient than MS. Our empirical analysis, which was conducted over a wide variety of distributions, conclusively establishes that RQMS is the algorithm of choice, when fault tolerance is paramount in the application.
Article PDF
Similar content being viewed by others
Avoid common mistakes on your manuscript.
References
Brodal, G.S., Fagerberg, R., Moruz, G.: On the adaptiveness of quicksort. In: ALENEX/ANALCO, pp. 130–140, Vancouver, 22 January 2005
Bistarelli, S., Gennari, R., Rossi, F.: Constraint propagation for soft constraints: generalization and termination conditions. In: International Conference on the Principles and Practice of Constraint Programming, pp. 83–97, Singapore, 18–21 September 2000
Bentley, J.L., Douglas McIlroy, M.: Engineering a sort function. Softw. Pract. Exp. 23(11), 1249–1265 (1993)
Clarke, E.M.: Automatic verification of sequential circuit designs. In: Agnew, D., Claesen, L., Camposano, R. (eds.) Proceedings of the 11th International Conference on Computer Hardware Description Languages and their Applications (CHDL’93), IFIP Transactions A: Computer Science and Technology, Amsterdam, The Netherlands, vol. 32, pp. 163–166. North-Holland, Amsterdam (1993)
Cormen, T.H., Leiserson, C.E., Rivest, R.L., Stein, C.: Introduction to Algorithms. MIT, Cambridge (2001)
Demtrescu, C.: A new approach to dynamic all pairs shortest paths. J. ACM 51(6), 968–992 (2004)
Estivill-Castro, V., Wood, D.: A survey of adaptive sorting algorithms. ACM Comput. Surv. 24(4), 441–476 (1992)
Gonzalez, O., Shrikumar, H., Ramamritham, K., Stankovic, J.: Adaptive fault tolerance and graceful degradation under dynamic hard real-time scheduling. In: Real-Time Systems Symposium, San Francisco, 2–5 December 1997
Goodrich, M.T., Tamassia, R.: Algorithm Design: Foundations, Analysis and Internet Examples. Wiley, New York (2002)
Herrmann, C.: Vbr video in atm without frame buffering: influence of a periodic correlation function on qos parameters. In: Modelling and Evaluation of ATM Networks, pp. 14–31. Chapman & Hall, London (1994)
Hoare, C.A.R.: Quicksort. Commun. ACM 4(7), 321 (1961)
Karger, D.R.: Randomized Algorithms for Graph Optimization Problem. Ph.D. thesis, Stanford University (1994)
Kiwiel, K.C.: Partitioning schemes for quicksort and quickselect. Technical report, Systems Research Institute (2003)
Knuth, D.E.: The Art of Computer Programming Vol. 3: Sorting and Searching. Addison-Wesley Longman, Boston (1997)
Kalyanasundaram, P.: Fault-tolerant real-time scheduling. ALGRTHMICA: Algorithmica 28, (2000)
Martinez, C.: Partial quicksort. In: Proceedings of the First ACM-SIAM Workshop on Analytic Algorithmics and Combinatorics (ANALCO), New Orleans, 10 January 2004
McIlroy, M.D.: A killer adversary for quicksort. Softw. Pract. Exp. 29(4), 341–344 (1999)
Menzies, T., Owen, D., Richardson, J.: The strangest thing about software. IEEE Comput. 40, 54–60 (2007)
Motwani, R., Raghavan, P.: Randomized Algorithms. Cambridge University Press, Cambridge (1995)
Martínez, C., Roura, S.: Optimal sampling strategies in quicksort and quickselect. SIAM J. Comput. 31(3), 683–705 (2001)
Mitzenmacher, M., Upfal, E.: Probability and Computing, 1st edn. Cambridge University Press, Cambridge (2005)
Nemhauser, G.L., Wolsey, L.A.: Integer and Combinatorial Optimization. Wiley, New York (1999)
Owen, D., Menzies, T.: Lurch: a lightweight alternative to model checking. In: SEKE, pp. 158–165, San Francisco, 1–3 July 2003
Pradhan, D.K.: Fault-Tolerant Computing: Theory and Techniques. Prentice Hall, Englewood Cliffs (1986)
Ramalingam, G., Reps, T.W.: An incremental algorithm for a generalization of the shortest-path problem. J. Algorithms 21(2), 267–305 (1996)
Sedgewick, R.: Quicksort with equal keys. SIAM J. Comput. 6(2), 240–268 (1977)
Sedgewick, R.: Implementing quicksort programs. Commun. ACM 21(10), 847–857 (1978)
Stankovic, J.: Misconceptions about real-time computing. IEEE Comput. 21(10), (1988)
Stankovic, J.A.: Real-time computing systems: the next generation. In: Stankovic, J.A., Ramamritham, K. (eds.) Tutorial: Hard Real Time Systems, pp. 14–38. IEEE, Piscataway (1988)
Thorup, M.: Undirected single source shortest path in linear time. In: Proceedings of the 38th Annual Symposium on Foundations of Computer Science (FOCS-97), 20–22 October 1997, pp. 12–21. IEEE Computer Society Press, Los Alamitos (1997)
van Emden, M.H.: Algorithms 402: increasing the efficiency of quicksort. Commun. ACM 13(11), 693–694 (1970)
Author information
Authors and Affiliations
Corresponding author
Additional information
This research was supported in part by the Air Force Office of Scientific Research under Contract FA9550-06-1-0050.
Rights and permissions
About this article
Cite this article
Subramani, K., Tauras, C. & Owen, D. Fault Tolerant Sorting—Theoretical and Empirical Analyses of the Randomized QuickMergesort Algorithm. J Math Model Algor 7, 255–276 (2008). https://doi.org/10.1007/s10852-008-9089-6
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10852-008-9089-6