End-to-End Application Cloning for Distributed Cloud Microservices with Ditto
Mingyu Liang, Yu Gan, Yueying Li, Carlos Torres, Abhishek Danotia,, Mahesh Ketkar, Christina Delimitrou

TL;DR
Ditto is an automated framework that clones distributed cloud applications end-to-end by capturing detailed system activity, enabling sharing and analysis without revealing original application logic.
Contribution
Ditto introduces a hierarchical cloning approach that captures system calls, network activity, and application logic for distributed cloud applications, enhancing portability and sharing.
Findings
Accurately captures CPU and memory characteristics
Portable across different platforms
Facilitates diverse system studies
Abstract
We present Ditto, an automated framework for cloning end-to-end cloud applications, both monolithic and microservices, which captures I/O and network activity, as well as kernel operations, in addition to application logic. Ditto takes a hierarchical approach to application cloning, starting with capturing the dependency graph across distributed services, to recreating each tier's control/data flow, and finally generating system calls and assembly that mimics the individual applications. Ditto does not reveal the logic of the original application, facilitating publicly sharing clones of production services with hardware vendors, cloud providers, and the research community. We show that across a diverse set of single- and multi-tier applications, Ditto accurately captures their CPU and memory characteristics as well as their high-level performance metrics, is portable across platforms,…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware System Performance and Reliability · Cloud Computing and Resource Management · IoT and Edge/Fog Computing
