journal article·2020Open access

Fault Tolerant Suffix Trees

Iftikhar Ahmad, Syed Zulfiqar Ali Shah, Ambreen Shahnaz, Sadeeq Jan, Salma Noor, Wajeeha Khalil, Fazal Qudus Khan, Muhammad Iftikhar Khan

Computers, Materials & Continua· Volume 66· Issue 1

Abstract

Classical algorithms and data structures assume that the underlying memory is reliable, and the data remain safe during or after processing. However, the assumption is perilous as several studies have shown that large and inexpensive memories are vulnerable to bit flips. Thus, the correctness of output of a classical algorithm can be threatened by a few memory faults. Fault tolerant data structures and resilient algorithms are developed to tolerate a limited number of faults and provide a correct output based on the uncorrupted part of the data. Suf- fix tree is one of the important data structures that has widespread applications including substring search, super string problem and data compression. The fault tolerant version of the suffix tree presented in the literature uses complex techniques of encodable and decodable error-correcting codes, blocked data structures and fault-resistant tries. In this work, we use the natural approach of data replication to develop a fault tolerant suffix tree based on the faulty memory random access machine model. The proposed data structure stores copies of the indices to sustain memory faults injected by an adversary. We develop a resilient version of the Ukkonen’s algorithm for constructing the fault tolerant suffix tree and derive an upper bound on the number of corrupt suffixes.
Source: openalex_inverted_index · Quality: baseline

Research context

OpenAlex topics: Algorithms and Data Compression · DNA and Biological Computing · Caching and Content Delivery

SciVX discovery tags are terminology-based. OpenAlex topics are source-provided classifications.

References (15)

Show source-provided references
1. Memory errors in modern systems: the good, the bad, and the ugly10.1145/2775054.2694348 ↗
2. Experimental study of resilient algorithms and data structures
3. Sorting and searching in the presence of memory faults (without redundancy)
4. On playing twenty questions with a liar
5. Pangolin: a fault-tolerant persistent memory programming library
6. NOVA-Fortis: a fault-tolerant non-volatile main memory file system
7. A novel low-overhead fault tolerant parallel-pipelined FFT design
8. Sorting and searching in faulty memories10.1007/s00453-007-9088-4 ↗
9. Fault-tolerant data structures
10. Resilient search trees
11. Mobile big data fault-tolerant processing for ehealth networks10.1109/MNET.2016.7389829 ↗
12. Fault-tolerant technology for big data cluster in distributed flow processing system10.3233/WEB-200432 ↗
13. Laik: a library for fault tolerant distribution of global data for parallel applications
14. An I/O-efficient and adaptive fault-tolerant framework for distributed graph computations10.1007/s10619-017-7192-2 ↗
15. A fault-tolerant routing algorithm for wireless sensor networks based on the structured directional de Bruijn graph10.1515/cait-2016-0019 ↗