R 3 : Record-Replay-Retroaction for Database-Backed Applications

Author:

Li Qian1,Kraft Peter1,Cafarella Michael2,Demiralp Çağatay2,Graefe Goetz3,Kozyrakis Christos1,Stonebraker Michael2,Suresh Lalith4,Yu Xiangyao5,Zaharia Matei6

Affiliation:

1. Stanford University

2. MIT CSAIL

3. Google

4. Feldera

5. UW-Madison

6. UC Berkeley

Abstract

Developers would benefit greatly from time travel: being able to faithfully replay past executions and retroactively execute modified code on past events. Currently, replay and retroaction are impractical because they require expensively capturing fine-grained timing information to reproduce concurrent accesses to shared state. In this paper, we propose practical time travel for database-backed applications , an important class of distributed applications that access shared state through transactions. We present R 3 , a novel Record-Replay-Retroaction tool. R 3 implements a lightweight interceptor to record concurrency information for applications at transaction-level granularity, enabling replay and retroaction with minimal overhead. We address key challenges in both replay and retroaction. First, we design a novel algorithm for faithfully reproducing application requests running with snapshot isolation, allowing R 3 to support most production DBMSs. Second, we develop a retroactive execution mechanism that provides high fidelity with the original trace while supporting nearly arbitrary code modifications. We demonstrate how R 3 simplifies debugging for real, hard-to-reproduce concurrency bugs from popular open-source web applications. We evaluate R 3 using TPC-C and microservice workloads and show that R 3 always-on recording has a small performance overhead (<25% for point queries but <0.1% for complex transactions like in TPC-C) during normal application execution and that R 3 can retroactively execute bugfixed code over recorded traces within 0.11--0.78× of the original execution time.

Publisher

Association for Computing Machinery (ACM)

Subject

General Earth and Planetary Sciences,Water Science and Technology,Geography, Planning and Development

Reference42 articles.

1. Reenactment for Read-Committed Snapshot Isolation

2. Using Reenactment to Retroactively Capture Provenance for Transactions

3. AWS. 2022. AWS Lambda. https://aws.amazon.com/lambda/. AWS. 2022. AWS Lambda. https://aws.amazon.com/lambda/.

4. Efficient Answering of Historical What-if Queries

5. Weidong Cui , Xinyang Ge , Baris Kasikci , Ben Niu , Upamanyu Sharma , Ruoyu Wang , and Insu Yun . 2018. {REPT} : Reverse debugging of failures in deployed software . In 13th {USENIX} Symposium on Operating Systems Design and Implementation ({OSDI} 18). 17--32. Weidong Cui, Xinyang Ge, Baris Kasikci, Ben Niu, Upamanyu Sharma, Ruoyu Wang, and Insu Yun. 2018. {REPT}: Reverse debugging of failures in deployed software. In 13th {USENIX} Symposium on Operating Systems Design and Implementation ({OSDI} 18). 17--32.

Cited by 1 articles. 订阅此论文施引文献 订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献

同舟云学术

1.学者识别学者识别

2.学术分析学术分析

3.人才评估人才评估

"同舟云学术"是以全球学者为主线,采集、加工和组织学术论文而形成的新型学术文献查询和分析系统,可以对全球学者进行文献检索和人才价值评估。用户可以通过关注某些学科领域的顶尖人物而持续追踪该领域的学科进展和研究前沿。经过近期的数据扩容,当前同舟云学术共收录了国内外主流学术期刊6万余种,收集的期刊论文及会议论文总量共计约1.5亿篇,并以每天添加12000余篇中外论文的速度递增。我们也可以为用户提供个性化、定制化的学者数据。欢迎来电咨询!咨询电话:010-8811{复制后删除}0370

www.globalauthorid.com

TOP

Copyright © 2019-2024 北京同舟云网络信息技术有限公司
京公网安备11010802033243号  京ICP备18003416号-3