Thursday, February 12, 2009

Chubby

Problem: Providing consistency as a service to data center applications (locking, naming, etc).

Nugget: Centralized Paxos group with simple API used for coarse-grained master locks; masters then control locking within a data center application using whatever technique is appropriate.

Why is it different from previous work? This is an actual implementation of Paxos trying to address "social" problems with getting developers to use this kind of system and making it easy to use. It can also be viewed as designing an API for a locking service, and certainly the filesystem-like API is nice because it's very easy to use.

Tradeoffs: There is a tradeoff between high availability of the application Chubby is used for and modifying application code. Chubby actually manages to provide pretty good availability (and fast reaction times, etc) without too much application modification, but it's still not automatically available.

Will it be influential? Yes, as people write more data center apps they will run into this problem for the same reason Google did. This is also a small enough search space that Chubby might be close to the final solution we end up picking.

No comments: