Files in this item



application/pdfYOO-THESIS-2021.pdf (774kB)Restricted to U of Illinois
(no description provided)PDF


Title:A fail-slow tolerant Raft implementation
Author(s):Yoo, Andrew Bumsok
Advisor(s):Xu, Tianyin; Mu, Shuai
Department / Program:Computer Science
Discipline:Computer Science
Degree Granting Institution:University of Illinois at Urbana-Champaign
Subject(s):Replicated state machines
Distributed systems
Fail-slow faults
Abstract:Fail-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.
Issue Date:2021-04-23
Rights Information:Copyright 2021 Andrew Yoo
Date Available in IDEALS:2021-09-17
Date Deposited:2021-05

This item appears in the following Collection(s)

Item Statistics