Exploiting non-constant safe memory in resilient algorithms and data structures
Abstract
We extend the Faulty RAM model by Finocchi and Italiano (2008) by adding a safe memory of arbitrary size S, and we then derive tradeoffs between the performance of resilient algorithmic techniques and the size of the safe memory. Let δ and α denote, respectively, the maximum amount of faults which can happen during the execution of an algorithm and the actual number of occurred faults, with α ≤ δ. We propose a resilient algorithm for sorting n entries which requires O(n n+α (δ/S + S)) time and uses (S) safe memory words. Our algorithm outperforms previous resilient sorting algorithms which do not exploit the available safe memory and require O(n n+ αδ) time. Finally, we exploit our sorting algorithm for deriving a resilient priority queue. Our implementation uses (S) safe memory words and (n) faulty memory words for storing n keys, and requires O( n + δ/S) amortized time for each insert and deletemin operation. Our resilient priority queue improves the O( n + δ) amortized time required by the state of the art.
Turn this paper into a lesson
ArcXiv compiles a structured reading guide from this paper's metadata: plain-English importance, contributions, prerequisite concepts, which sections to read first, flashcards, and a quiz. Grounded in the abstract, never invented.