Searching in the presence of linearly bounded errors
STOC '91 Proceedings of the twenty-third annual ACM symposium on Theory of computing
Fault tolerant sorting networks
SIAM Journal on Discrete Mathematics
Checking the correctness of memories
SFCS '91 Proceedings of the 32nd annual symposium on Foundations of computer science
Comparison-based search in the presence of errors
STOC '93 Proceedings of the twenty-fifth annual ACM symposium on Theory of computing
Computing with Noisy Information
SIAM Journal on Computing
Tight Bounds on the Size of Fault-Tolerant Merging and Sorting Networks with Destructive Faults
SIAM Journal on Computing
Cache oblivious search trees via binary trees of small height
SODA '02 Proceedings of the thirteenth annual ACM-SIAM symposium on Discrete algorithms
Searching games with errors---fifty years of coping with liars
Theoretical Computer Science
Introduction to Algorithms
Dynamic Faults in Random-Access-Memories: Concept, Fault Models and Tests
Journal of Electronic Testing: Theory and Applications
Shared-Memory Simulations on a Faulty-Memory DMM
ICALP '96 Proceedings of the 23rd International Colloquium on Automata, Languages and Programming
Fault tolerant data structures
FOCS '96 Proceedings of the 37th Annual Symposium on Foundations of Computer Science
Sorting and searching in the presence of memory faults (without redundancy)
STOC '04 Proceedings of the thirty-sixth annual ACM symposium on Theory of computing
The price of resiliency: a case study on sorting with memory faults
ESA'06 Proceedings of the 14th conference on Annual European Symposium - Volume 14
SODA '07 Proceedings of the eighteenth annual ACM-SIAM symposium on Discrete algorithms
Combinatorial algorithms for web search engines: three success stories
SODA '07 Proceedings of the eighteenth annual ACM-SIAM symposium on Discrete algorithms
Optimal resilient sorting and searching in the presence of memory faults
ICALP'06 Proceedings of the 33rd international conference on Automata, Languages and Programming - Volume Part I
Fault Tolerant External Memory Algorithms
WADS '09 Proceedings of the 11th International Symposium on Algorithms and Data Structures
Optimal resilient sorting and searching in the presence of memory faults
Theoretical Computer Science
ACM Transactions on Algorithms (TALG)
Counting in the Presence of Memory Faults
ISAAC '09 Proceedings of the 20th International Symposium on Algorithms and Computation
Lossless fault-tolerant data structures with additive overhead
WADS'11 Proceedings of the 12th international conference on Algorithms and data structures
Experimental study of resilient algorithms and data structures
SEA'10 Proceedings of the 9th international conference on Experimental Algorithms
Data structures resilient to memory faults: an experimental study of dictionaries
SEA'10 Proceedings of the 9th international conference on Experimental Algorithms
Resilient algorithms and data structures
CIAC'10 Proceedings of the 7th international conference on Algorithms and Complexity
Designing reliable algorithms in unreliable memories
Computer Science Review
Hi-index | 0.00 |
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(log n+δ) expected amortized cost per operation, and O(n) space complexity. We then propose an optimal deterministic static dictionary supporting searches in Θ(log n+δ) time in the worst case, and we show how to use it in a dynamic setting in order to support updates in O(log n + δ) amortized time. Our dynamic dictionary also supports range queries in O(log n+δ+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 Ω(log n + δ) worst-case time per search.