This preview has intentionally blurred sections. Sign up to view the full version.View Full Document
Unformatted text preview: Comet: An active distributed key-value store Roxana Geambasu, Amit A. Levy, Tadayoshi Kohno, Arvind Krishnamurthy, Henry M. Levy University of Washington Abstract Distributed key-value storage systems are widely used in corporations and across the Internet. Our research seeks to greatly expand the application space for key-value storage sys- tems through application-specific customization . We designed and implemented Comet, an extensible, distributed key-value store. Each Comet node stores a collection of active storage objects (ASOs) that consist of a key, a value, and a set of han- dlers . Comet handlers run as a result of timers or storage oper- ations, such as get or put , allowing an ASO to take dynamic, application-specific actions to customize its behavior. Handlers are written in a simple sandboxed extension language, provid- ing properties of safety and isolation. We implemented a Comet prototype for the Vuze DHT, de- ployed Comet nodes on Vuze from PlanetLab, and built and evaluated over a dozen Comet applications. Our experience demonstrates that simple, safe, and restricted extensibility can significantly increase the power and range of applications that can run on distributed active storage systems. This approach fa- cilitates the sharing of a single storage system by applications with diverse needs, allowing them to reap the consolidation ben- efits inherent in today’s massive clouds. 1 Introduction The last decade has seen the rise of distributed stor- age systems built on loosely coupled collections of au- tonomous computers. For example, Amazon’s S3  provides a key-value storage service for external Web clients. Amazon’s Dynamo , Apache Cassandra , and Project Voldemort  provide reliable and scalable key-value stores for company-internal applications (for Amazon, Facebook, and LinkedIn, respectively). On the global Internet, DHTs provided by BitTorrent-based sys- tems, such as Vuze  and uTorrent , store metadata for millions of clients using peer-to-peer file-sharing ap- plications. And finally, researchers have developed com- plete file systems on top of untrusted clients in widely distributed P2P environments [2, 14, 44]. Distributed storage systems offer many advantages over their centralized counterparts. For example, a de- centralized structure supports scalability; the lack of cen- tralized management enhances automatic load balancing; and the use of replication in a highly distributed environ- ment can improve reliability and data availability. We therefore expect Dynamo-like storage systems to become commonplace as generic application infrastructures in the future, both inside of the enterprise and as shared services on the Internet....
View Full Document
This note was uploaded on 12/08/2011 for the course CS 525 taught by Professor Gupta during the Spring '08 term at University of Illinois, Urbana Champaign.
- Spring '08