Building a Distributed Transaction Processing System Using DARQ

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 abstracti...

Full description

Bibliographic Details
Main Author: Zhu, Ophelia Min
Other Authors: Madden, Samuel
Format: Thesis
Published: Massachusetts Institute of Technology 2024
Online Access:https://hdl.handle.net/1721.1/156836
_version_ 1811079720631009280
author Zhu, Ophelia Min
author2 Madden, Samuel
author_facet Madden, Samuel
Zhu, Ophelia Min
author_sort Zhu, Ophelia Min
collection MIT
description 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.
first_indexed 2024-09-23T11:19:29Z
format Thesis
id mit-1721.1/156836
institution Massachusetts Institute of Technology
last_indexed 2024-09-23T11:19:29Z
publishDate 2024
publisher Massachusetts Institute of Technology
record_format dspace
spelling mit-1721.1/1568362024-09-17T03:41:59Z Building a Distributed Transaction Processing System Using DARQ Zhu, Ophelia Min Madden, Samuel Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science 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. M.Eng. 2024-09-16T13:52:06Z 2024-09-16T13:52:06Z 2024-05 2024-07-11T14:37:07.999Z Thesis https://hdl.handle.net/1721.1/156836 In Copyright - Educational Use Permitted Copyright retained by author(s) https://rightsstatements.org/page/InC-EDU/1.0/ application/pdf Massachusetts Institute of Technology
spellingShingle Zhu, Ophelia Min
Building a Distributed Transaction Processing System Using DARQ
title Building a Distributed Transaction Processing System Using DARQ
title_full Building a Distributed Transaction Processing System Using DARQ
title_fullStr Building a Distributed Transaction Processing System Using DARQ
title_full_unstemmed Building a Distributed Transaction Processing System Using DARQ
title_short Building a Distributed Transaction Processing System Using DARQ
title_sort building a distributed transaction processing system using darq
url https://hdl.handle.net/1721.1/156836
work_keys_str_mv AT zhuopheliamin buildingadistributedtransactionprocessingsystemusingdarq