Optimal Resilient Dynamic Dictionaries

  • Gerth Stølting Brodal
  • Rolf Fagerberg
  • Irene Finocchi
  • Fabrizio Grandoni
  • Giuseppe F. Italiano
  • Allan Grønlund Jørgensen
  • Gabriel Moruz
  • Thomas Mølhave
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4698)


We investigate the problem of computing in the presence of faults that may arbitrarily (i.e., adversarially) corrupt memory locations. In the faulty memory model, any memory cell can get corrupted at any time, and corrupted cells cannot be distinguished from uncorrupted ones. An upper bound δ on the number of corruptions and O(1) reliable memory cells are provided. In this model, we focus on the design of resilient dictionaries, i.e., dictionaries which are able to operate correctly (at least) on the set of uncorrupted keys. We first present a simple resilient dynamic search tree, based on random sampling, with O(logn + δ) expected amortized cost per operation, and O(n) space complexity. We then propose an optimal deterministic static dictionary supporting searches in Θ(logn + δ) time in the worst case, and we show how to use it in a dynamic setting in order to support updates in O(logn + δ) amortized time. Our dynamic dictionary also supports range queries in O(logn + δ + t) worst case time, where t is the size of the output. Finally, we show that every resilient search tree (with some reasonable properties) must take Ω(logn + δ) worst-case time per search.


Search Tree Binary Search Range Query Binary Search Tree Memory Word 
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.
    Aslam, J.A., Dhagat, A.: Searching in the presence of linearly bounded errors. In: ACM STOC 1991, pp. 486–493Google Scholar
  2. 2.
    Assaf, S., Upfal, E.: Fault-tolerant sorting networks. SIAM J. Discrete Math. 4(4), 472–480 (1991)zbMATHCrossRefGoogle Scholar
  3. 3.
    Aumann, Y., Bender, M.A.: Fault-tolerant data structures. In: IEEE FOCS 1996, pp. 580–589Google Scholar
  4. 4.
    Blum, M., Evans, W., Gemmell, P., Kannan, S., Naor, M.: Checking the correctness of memories. In: IEEE FOCS 1991Google Scholar
  5. 5.
    Borgstrom, R.S., Rao Kosaraju, S.: Comparison based search in the presence of errors. In: ACM STOC 1993, pp. 130–136.Google Scholar
  6. 6.
    Boyer, R., Moore., S.: MJRTY: - A fast majority vote algorithm. University of Texas Tech. Report (1982)Google Scholar
  7. 7.
    Brodal, G.S., Fagerberg, R., Jacob, R.: Cache-oblivious search trees via binary trees of small height. ACM-SIAM SODA 2002, 39–48Google Scholar
  8. 8.
    Brodal, G.S., Fagerberg, R., Jacob, R.: Cache-oblivious search trees via trees of small height. Technical Report ALCOMFT-TR-02-53, ALCOM-FT (May 2002)Google Scholar
  9. 9.
    Chlebus, B.S., Gambin, A., Indyk, P.: Shared-memory simulations on a faulty-memory DMM. In: ICALP 1996, pp. 586–597Google Scholar
  10. 10.
    Constantinescu, C.: Trends and challenges in VLSI circuit reliability. IEEE micro 23(4), 14–19 (2003)CrossRefGoogle Scholar
  11. 11.
    Cormen, T.H., Leiserson, C.E., Rivest, R.L., Stein, C.: Introduction to Algorithms, 2nd edn. The MIT Press/McGraw-Hill Book Company (2001)Google Scholar
  12. 12.
    Feige, U., Raghavan, P., Peleg, D., Upfal, E.: Computing with noisy information. SIAM Journal on Computing 23, 1001–1018 (1994)zbMATHCrossRefGoogle Scholar
  13. 13.
    Petrillo, U.F., 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
  14. 14.
    Finocchi, I., Grandoni, F., Italiano, G.F.: Optimal sorting and searching in the presence of memory faults. In: Bugliesi, M., Preneel, B., Sassone, V., Wegener, I. (eds.) ICALP 2006. LNCS, vol. 4052, pp. 286–298. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  15. 15.
    Finocchi, I., Grandoni, F., Italiano, G.: Resilient search trees. In: ACM-SIAM SODA 2007, pp. 547–555.Google Scholar
  16. 16.
    Finocchi, I., Italiano, G.F.: Sorting and searching in faulty memories. Algorithmica ACM STOC 2004, pp. 101–110 (extended abstract) (to appear)Google Scholar
  17. 17.
    Hamdioui, S., Al-Ars, Z., de Goor, J.V., Rodgers, M.: Dynamic faults in random-access-memories: Concept, faults models and tests. Journal of Electronic Testing: Theory and Applications 19, 195–205 (2003)CrossRefGoogle Scholar
  18. 18.
    Henzinger, M.R.: Combinatorial algorithms for web search engines - three success stories. In: ACM-SIAM SODA 2007 (invited talk)Google Scholar
  19. 19.
    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, Springer, Heidelberg (2007)Google Scholar
  20. 20.
    Kleitman, D.J., Meyer, A.R., Rivest, R.L., Spencer, J., Winklmann, K.: Coping with errors in binary search procedures. Journal of Computer and System Sciences 20, 396–404 (1980)zbMATHCrossRefGoogle Scholar
  21. 21.
    Leighton, T., Ma, Y.: Tight bounds on the size of fault-tolerant merging and sorting networks with destructive faults. SIAM Journal on Computing 29(1), 258–273 (1999)zbMATHCrossRefGoogle Scholar
  22. 22.
    May, T.C., Woods, M.H.: Alpha-particle-induced soft errors in dynamic memories. IEEE Transactions on Electron Devices 26(2) (1979)Google Scholar
  23. 23.
    Pelc, A.: Searching games with errors: Fifty years of coping with liars. Theoretical Computer Science 270, 71–109 (2002)zbMATHCrossRefGoogle Scholar
  24. 24.
    Tezzaron Semiconductor. Soft errors in electronic memory - a white paper (2004),
  25. 25.
    Yao, A.C., Yao, F.F.: On fault-tolerant networks for sorting. SIAM Journal on Computing 14, 120–128 (1985)zbMATHCrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2007

Authors and Affiliations

  • Gerth Stølting Brodal
    • 1
  • Rolf Fagerberg
    • 2
  • Irene Finocchi
    • 3
  • Fabrizio Grandoni
    • 3
  • Giuseppe F. Italiano
    • 4
  • Allan Grønlund Jørgensen
    • 1
  • Gabriel Moruz
    • 1
  • Thomas Mølhave
    • 1
  1. 1.BRICS, MADALGO, Department of Computer Science, University of AarhusDenmark
  2. 2.Department of Mathematics and Computer Science, University of Southern Denmark, OdenseDenmark
  3. 3.Dipartimento di Informatica, Università di Roma “La Sapienza”Italy
  4. 4.Dipartimento di Informatica, Sistemi e Produzione, Università di Roma, “Tor Vergata”Italy

Personalised recommendations