English

Exploiting non-constant safe memory in resilient algorithms and data structures

Data Structures and Algorithms 2015-04-03 v2

Abstract

We extend the Faulty RAM model by Finocchi and Italiano (2008) by adding a safe memory of arbitrary size SS, and we then derive tradeoffs between the performance of resilient algorithmic techniques and the size of the safe memory. Let δ\delta and α\alpha denote, respectively, the maximum amount of faults which can happen during the execution of an algorithm and the actual number of occurred faults, with αδ\alpha \leq \delta. We propose a resilient algorithm for sorting nn entries which requires O(nlogn+α(δ/S+logS))O\left(n\log n+\alpha (\delta/S + \log S)\right) time and uses Θ(S)\Theta(S) safe memory words. Our algorithm outperforms previous resilient sorting algorithms which do not exploit the available safe memory and require O(nlogn+αδ)O\left(n\log n+ \alpha\delta\right) time. Finally, we exploit our sorting algorithm for deriving a resilient priority queue. Our implementation uses Θ(S)\Theta(S) safe memory words and Θ(n)\Theta(n) faulty memory words for storing nn keys, and requires O(logn+δ/S)O\left(\log n + \delta/S\right) amortized time for each insert and deletemin operation. Our resilient priority queue improves the O(logn+δ)O\left(\log n + \delta\right) amortized time required by the state of the art.

Keywords

Cite

@article{arxiv.1305.3828,
  title  = {Exploiting non-constant safe memory in resilient algorithms and data structures},
  author = {Lorenzo De Stefani and Francesco Silvestri},
  journal= {arXiv preprint arXiv:1305.3828},
  year   = {2015}
}

Comments

To appear in Theoretical Computer Science, 2015

R2 v1 2026-06-22T00:17:40.339Z