{"id":{"repo_id":"mit","oai_identifier":"oai:dspace.mit.edu:1721.1/156836"},"canonical_url":"https://search.dev.ndltd.org/etd/mit/oai:dspace.mit.edu:1721.1/156836","repository":{"repo_id":"mit","name":"MIT","base_url":"https://dspace.mit.edu/oai/request"},"display":{"title":"Building a Distributed Transaction Processing System Using DARQ","abstract":"Building distributed transaction processing systems in the context of cloud microservices poses challenges related to fault tolerance, resilience, and composability. Composable Resilient Steps (CReSt) and its implementation, Deduplicated Asynchronously Recoverable Queues (DARQ), provide an abstraction to address these challenges by separating application logic from resilience mechanisms. This thesis explores the performance and usability of DARQ through the development of a distributed transaction processing system. DARQ is evaluated by performance on the YCSB and TPCC benchmark and by the ease of programming with it. The abstraction of CReSt and DARQ, while requiring additional setup, simplifies the programming for fault-tolerant applications and provides performance optimizations out of the box compared to a standard baseline implementation, enabling a 6.89x speedup for TPCC. The abstraction reduced the amount of logic needed in components that required persistence, namely the write-ahead log and two-phase commit protocol. As complex systems compose on one another, DARQ can be a useful abstraction for developers to simplify their application logic whilst providing fault-tolerance and performance optimizations.","abstract_html":"Building distributed transaction processing systems in the context of cloud microservices poses challenges related to fault tolerance, resilience, and composability. Composable Resilient Steps (CReSt) and its implementation, Deduplicated Asynchronously Recoverable Queues (DARQ), provide an abstraction to address these challenges by separating application logic from resilience mechanisms. This thesis explores the performance and usability of DARQ through the development of a distributed transaction processing system. DARQ is evaluated by performance on the YCSB and TPCC benchmark and by the ease of programming with it. The abstraction of CReSt and DARQ, while requiring additional setup, simplifies the programming for fault-tolerant applications and provides performance optimizations out of the box compared to a standard baseline implementation, enabling a 6.89x speedup for TPCC. The abstraction reduced the amount of logic needed in components that required persistence, namely the write-ahead log and two-phase commit protocol. As complex systems compose on one another, DARQ can be a useful abstraction for developers to simplify their application logic whilst providing fault-tolerance and performance optimizations.","abstract_has_math":false,"creators":["Zhu, Ophelia Min"],"institution":"Massachusetts Institute of Technology","degree_name":"Master","degree_level":null,"degree_discipline":null,"degree_department":"Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science","school":null,"contributors":[],"advisors":["Madden, Samuel"],"committee_chairs":[],"committee_members":[],"year":2024,"date_issued":"2024-05","date_published":"2024-05","updated_at":"2026-07-22T22:21:24Z","subjects":[],"languages":[],"rights":["In Copyright - Educational Use Permitted","Copyright retained by author(s)"],"rights_urls":["https://rightsstatements.org/page/InC-EDU/1.0/"],"identifier_entries":[]},"links":{"outbound_url":"https://hdl.handle.net/1721.1/156836","outbound_label":"Handle","outbound_source":"dc:identifier.uri"},"metadata_groups":[{"id":"people","label":"People","entries":[{"key":"dc:contributor.advisor","label":"Advisor","values":["Madden, Samuel"]},{"key":"dc:contributor.department","label":"Department","values":["Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science"]},{"key":"dc:creator","label":"Author","values":["Zhu, Ophelia Min"]}]},{"id":"academic_context","label":"Academic Context","entries":[{"key":"dc:date.accessioned","label":"Dc Date Accessioned","values":["2024-09-16T13:52:06Z"]},{"key":"dc:date.available","label":"Dc Date Available","values":["2024-09-16T13:52:06Z"]},{"key":"dc:date.issued","label":"Date","values":["2024-05"]},{"key":"dc:publisher","label":"Institution","values":["Massachusetts Institute of Technology"]},{"key":"dc:type","label":"Dc Type","values":["Thesis"]},{"key":"thesis:degree_name","label":"Degree Name","values":["Master","Master of Engineering in Electrical Engineering and Computer Science"]}]},{"id":"language_rights","label":"Language and Rights","entries":[{"key":"dc:rights","label":"Dc Rights","values":["In Copyright - Educational Use Permitted","Copyright retained by author(s)"]},{"key":"dc:rights.uri","label":"Rights URI","values":["https://rightsstatements.org/page/InC-EDU/1.0/"]}]},{"id":"identifiers","label":"Identifiers","entries":[{"key":"dc:identifier.uri","label":"Identifier URI","values":["https://hdl.handle.net/1721.1/156836"]}]},{"id":"additional","label":"Additional Metadata","entries":[{"key":"dc:description.abstract","label":"Abstract","values":["Building distributed transaction processing systems in the context of cloud microservices poses challenges related to fault tolerance, resilience, and composability. Composable Resilient Steps (CReSt) and its implementation, Deduplicated Asynchronously Recoverable Queues (DARQ), provide an abstraction to address these challenges by separating application logic from resilience mechanisms. This thesis explores the performance and usability of DARQ through the development of a distributed transaction processing system. DARQ is evaluated by performance on the YCSB and TPCC benchmark and by the ease of programming with it. The abstraction of CReSt and DARQ, while requiring additional setup, simplifies the programming for fault-tolerant applications and provides performance optimizations out of the box compared to a standard baseline implementation, enabling a 6.89x speedup for TPCC. The abstraction reduced the amount of logic needed in components that required persistence, namely the write-ahead log and two-phase commit protocol. As complex systems compose on one another, DARQ can be a useful abstraction for developers to simplify their application logic whilst providing fault-tolerance and performance optimizations."]},{"key":"dc:description.degree","label":"Dc Description Degree","values":["M.Eng."]},{"key":"dc:title","label":"Title","values":["Building a Distributed Transaction Processing System Using DARQ"]}]}],"canonical_facts":{"dc:contributor.advisor":["Madden, Samuel"],"dc:contributor.department":["Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science"],"dc:creator":["Zhu, Ophelia Min"],"dc:date.accessioned":["2024-09-16T13:52:06Z"],"dc:date.available":["2024-09-16T13:52:06Z"],"dc:date.issued":["2024-05"],"dc:description.abstract":["Building distributed transaction processing systems in the context of cloud microservices poses challenges related to fault tolerance, resilience, and composability. Composable Resilient Steps (CReSt) and its implementation, Deduplicated Asynchronously Recoverable Queues (DARQ), provide an abstraction to address these challenges by separating application logic from resilience mechanisms. This thesis explores the performance and usability of DARQ through the development of a distributed transaction processing system. DARQ is evaluated by performance on the YCSB and TPCC benchmark and by the ease of programming with it. The abstraction of CReSt and DARQ, while requiring additional setup, simplifies the programming for fault-tolerant applications and provides performance optimizations out of the box compared to a standard baseline implementation, enabling a 6.89x speedup for TPCC. The abstraction reduced the amount of logic needed in components that required persistence, namely the write-ahead log and two-phase commit protocol. As complex systems compose on one another, DARQ can be a useful abstraction for developers to simplify their application logic whilst providing fault-tolerance and performance optimizations."],"dc:description.degree":["M.Eng."],"dc:identifier.uri":["https://hdl.handle.net/1721.1/156836"],"dc:publisher":["Massachusetts Institute of Technology"],"dc:rights":["In Copyright - Educational Use Permitted","Copyright retained by author(s)"],"dc:rights.uri":["https://rightsstatements.org/page/InC-EDU/1.0/"],"dc:title":["Building a Distributed Transaction Processing System Using DARQ"],"dc:type":["Thesis"],"thesis:degree_name":["Master","Master of Engineering in Electrical Engineering and Computer Science"]},"updated_at":"2026-07-22T22:21:24Z"}