Abstract
dc:descriptionFail-slow tolerance has been a long-desired trait for computer systems. A fail-slow fault causes a hardware or software component to experience performance degradation without stopping or terminating. We inject fail-slow faults into existing distributed database systems. We observe that they cannot tolerate fail-slow faults in even a minority of followers. To determine the root cause of this intolerance, we perform a comprehensive analysis on each database and categorize them into patterns. Every pattern is heavily connected to the implementation rather than the algorithm design. We extend our own programming library, DepFast, that facilitates programmers to write fail-slow tolerant code, to account for these patterns. DepFast leverages coroutines and events to provide interfaces that minimize slowness propagation. Using insights from our root cause analysis, DepFast also provides warnings to the user at runtime that inform the programmers of the patterns if they exist in the implementation. We build a fail-slow tolerant Raft implementation on top of DepFast and integrate it into a database (DepFastDB). DepFastDB can tolerate the same fail-slow faults injected into other databases. Furthermore, we inject the patterns into DepFastDB and show that our runtime analysis can detect these patterns with near-perfect accuracy in our trials.
Degree
thesis:*- Name thesis:degree_name
- M.S.
- Level thesis:degree_level
- Thesis
- Discipline thesis:degree_discipline
- Computer Science
- Grantor
- University of Illinois at Urbana-Champaign
- Year dc:date
- 2021
Author and committee
dc:creator, dc:contributor.*- Author dc:creator
-
- Yoo, Andrew Bumsok
- Contributors dc:contributor
-
- Xu, Tianyin
- Mu, Shuai
Subjects
dc:subject × 3Rights
dc:rights- Statement dc:rights
-
- Copyright 2021 Andrew Yoo
- Language dc:language
- en
Identifiers
dc:identifier.*- Handle dc:identifier
- http://hdl.handle.net/2142/110716
- OAI identifier oai:identifier
- oai:www.ideals.illinois.edu:2142/110716