학술논문
Log-structured Protocols in Delos
Document Type
Conference
Author
Balakrishnan, Mahesh; Shen, Chen; Jafri, Ahmed; Mapara, Suyog; Geraghty, David; Flinn, Jason; Venkat, Vidhya; Nedelchev, Ivailo; Ghosh, Santosh; Dharamshi, Mihir; Liu, Jingming; Gruszczynski, Filip; Li, Jun; Tibrewal, Rounak; Zaveri, Ali; Nagar, Rajeev; Yossef, Ahmed; Richard, Francois; Song, Yee Jiun
Source
Proceedings of the ACM SIGOPS 28th Symposium on Operating Systems Principles CD-ROM. :538-552
Subject
Language
English
Abstract
Developers have access to a wide range of storage APIs and functionality in large-scale systems, such as relational databases, key-value stores, and namespaces. However, this diversity comes at a cost: each API is implemented by a complex distributed system that is difficult to develop and operate. Delos amortizes this cost by enabling different APIs on a shared codebase and operational platform. The primary innovation in Delos is a log-structured protocol: a fine-grained replicated state machine executing above a shared log that can be layered into reusable protocol stacks under different databases. We built and deployed two production databases using Delos at Facebook, creating nine different log-structured protocols in the process. We show via experiments and production data that log-structured protocols impose low overhead, while allowing optimizations that can improve latency by up to 100X (e.g., via leasing) and throughput by up to 2X (e.g., via batching).