{"id":{"repo_id":"uiuc","oai_identifier":"oai:www.ideals.illinois.edu:2142/110716"},"canonical_url":"https://search.dev.ndltd.org/etd/uiuc/oai:www.ideals.illinois.edu:2142/110716","repository":{"repo_id":"uiuc","name":"University of Illinois - Urbana-Champaign","base_url":"https://www.ideals.illinois.edu/oai-pmh"},"display":{"title":"A fail-slow tolerant Raft implementation","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.","abstract_html":"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.","abstract_has_math":false,"creators":["Yoo, Andrew Bumsok"],"institution":"University of Illinois at Urbana-Champaign","degree_name":"M.S.","degree_level":"Thesis","degree_discipline":"Computer Science","degree_department":null,"school":null,"contributors":["Xu, Tianyin","Mu, Shuai"],"advisors":[],"committee_chairs":[],"committee_members":[],"year":2021,"date_issued":"2021-09-17T02:34:42Z","date_published":"2021-09-17T02:34:42Z","updated_at":"2026-07-22T22:24:52Z","subjects":["Replicated state machines","Distributed systems","Fail-slow faults"],"languages":["en"],"rights":["Copyright 2021 Andrew Yoo"],"rights_urls":[],"identifier_entries":[]},"links":{"outbound_url":"http://hdl.handle.net/2142/110716","outbound_label":"Handle","outbound_source":"dc:identifier"},"metadata_groups":[{"id":"people","label":"People","entries":[{"key":"dc:contributor","label":"Contributor","values":["Xu, Tianyin","Mu, Shuai"]},{"key":"dc:creator","label":"Author","values":["Yoo, Andrew Bumsok"]}]},{"id":"academic_context","label":"Academic Context","entries":[{"key":"dc:date","label":"Dc Date","values":["2021-09-17T02:34:42Z","2023-09-17T02:34:57Z","2021-04-23","2021-05"]},{"key":"dc:type","label":"Dc Type","values":["text","Thesis"]},{"key":"thesis:degree_discipline","label":"Discipline","values":["Computer Science"]},{"key":"thesis:degree_level","label":"Degree Level","values":["Thesis"]},{"key":"thesis:degree_name","label":"Degree Name","values":["M.S."]},{"key":"thesis:institution_name","label":"Thesis Institution Name","values":["University of Illinois at Urbana-Champaign"]}]},{"id":"subjects_keywords","label":"Subjects and Keywords","entries":[{"key":"dc:subject","label":"Dc Subject","values":["Replicated state machines","Distributed systems","Fail-slow faults"]}]},{"id":"language_rights","label":"Language and Rights","entries":[{"key":"dc:language","label":"Dc Language","values":["en"]},{"key":"dc:rights","label":"Dc Rights","values":["Copyright 2021 Andrew Yoo"]}]},{"id":"identifiers","label":"Identifiers","entries":[{"key":"dc:identifier","label":"Identifier","values":["http://hdl.handle.net/2142/110716"]}]},{"id":"additional","label":"Additional Metadata","entries":[{"key":"dc:description","label":"Description","values":["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.","Submission published under a 24 month embargo labeled 'U of I Access', the embargo will last until 2023-05-01","The student, Andrew Yoo, accepted the attached license on 2021-04-21 at 13:31.","The student, Andrew Yoo, submitted this Thesis for approval on 2021-04-21 at 13:45.","This Thesis was approved for publication on 2021-04-23 at 16:00.","DSpace SAF Submission Ingestion Package generated from Vireo submission #16470 on 2021-09-16 at 17:04:25","Made available in DSpace on 2021-09-17T02:34:42Z (GMT). No. of bitstreams: 2 YOO-THESIS-2021.pdf: 773976 bytes, checksum: 3aaa4c96693fc5fb4d6fa5ad7a3bea99 (MD5) LICENSE.txt: 4207 bytes, checksum: b5dd43150c79a46d30077fce0f889089 (MD5) Previous issue date: 2021-04-23","Embargo set by: Seth Robbins for item 118559 Lift date: 2023-09-17T02:34:57Z Reason: Author requested U of Illinois access only (OA after 2yrs) in Vireo ETD system","Author requested U of Illinois access only (OA after 2yrs) in Vireo ETD system","U of I Only"]},{"key":"dc:format","label":"Dc Format","values":["application/pdf"]},{"key":"dc:title","label":"Title","values":["A fail-slow tolerant Raft implementation"]}]}],"canonical_facts":{"dc:contributor":["Xu, Tianyin","Mu, Shuai"],"dc:creator":["Yoo, Andrew Bumsok"],"dc:date":["2021-09-17T02:34:42Z","2023-09-17T02:34:57Z","2021-04-23","2021-05"],"dc:description":["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.","Submission published under a 24 month embargo labeled 'U of I Access', the embargo will last until 2023-05-01","The student, Andrew Yoo, accepted the attached license on 2021-04-21 at 13:31.","The student, Andrew Yoo, submitted this Thesis for approval on 2021-04-21 at 13:45.","This Thesis was approved for publication on 2021-04-23 at 16:00.","DSpace SAF Submission Ingestion Package generated from Vireo submission #16470 on 2021-09-16 at 17:04:25","Made available in DSpace on 2021-09-17T02:34:42Z (GMT). No. of bitstreams: 2 YOO-THESIS-2021.pdf: 773976 bytes, checksum: 3aaa4c96693fc5fb4d6fa5ad7a3bea99 (MD5) LICENSE.txt: 4207 bytes, checksum: b5dd43150c79a46d30077fce0f889089 (MD5) Previous issue date: 2021-04-23","Embargo set by: Seth Robbins for item 118559 Lift date: 2023-09-17T02:34:57Z Reason: Author requested U of Illinois access only (OA after 2yrs) in Vireo ETD system","Author requested U of Illinois access only (OA after 2yrs) in Vireo ETD system","U of I Only"],"dc:format":["application/pdf"],"dc:identifier":["http://hdl.handle.net/2142/110716"],"dc:language":["en"],"dc:rights":["Copyright 2021 Andrew Yoo"],"dc:subject":["Replicated state machines","Distributed systems","Fail-slow faults"],"dc:title":["A fail-slow tolerant Raft implementation"],"dc:type":["text","Thesis"],"thesis:degree_discipline":["Computer Science"],"thesis:degree_level":["Thesis"],"thesis:degree_name":["M.S."],"thesis:institution_name":["University of Illinois at Urbana-Champaign"]},"updated_at":"2026-07-22T22:24:52Z"}