adya - Centrifuge: Integrated Lease Management and...

Info iconThis preview shows pages 1–2. Sign up to view the full content.

View Full Document Right Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: Centrifuge: Integrated Lease Management and Partitioning for Cloud Services Atul Adya , John Dunagan * , Alec Wolman * Google, * Microsoft Research Abstract: Making cloud services responsive is critical to providing a compelling user experience. Many large- scale sites, including LinkedIn, Digg and Facebook, ad- dress this need by deploying pools of servers that oper- ate purely on in-memory state. Unfortunately, current technologies for partitioning requests across these in- memory server pools, such as network load balancers, lead to a frustrating programming model where requests for the same state may arrive at different servers. Leases are a well-known technique that can provide a better pro- gramming model by assigning each piece of state to a single server. However, in-memory server pools host an extremely large number of items, and granting a lease per item requires fine-grained leasing that is not sup- ported in prior datacenter lease managers. This paper presents Centrifuge, a datacenter lease manager that solves this problem by integrating parti- tioning and lease management. Centrifuge consists of a set of libraries linked in by the in-memory servers and a replicated state machine that assigns responsibility for data items (including leases) to these servers. Centrifuge has been implemented and deployed in production as part of Microsofts Live Mesh, a large-scale commercial cloud service in continuous operation since April 2008. When cloud services within Mesh were built using Cen- trifuge, they required fewer lines of code and did not need to introduce their own subtle protocols for distributed consistency. As cloud services become ever more com- plicated, this kind of reduction in complexity is an in- creasingly urgent need. 1 Introduction Responsiveness is critical to delivering compelling cloud services. Many large-scale sites, including LinkedIn, Digg and Facebook, address the simultane- ous needs of scale and low-latency by partitioning their user data across pools of servers that operate purely on in-memory state [36, 34, 35, 21, 23]. Processing most operations directly out of memory yields low latency re- sponses. These sites achieve reliability by using some adya@google.com. Work done while at Microsoft. * { jdunagan, alecw } @microsoft.com. separate service (such as a replicated database) to reload the data into the server pool in the event of a failure. Unfortunately, current technologies for building in- memory server pools lead to a frustrating programming model. Many sites use load balancers to distribute re- quests across such servers pools, but load balancers force the programmer to handle difficult corner cases: requests for the same state may arrive at different servers, lead- ing to multiple potentially inconsistent versions. For ex- ample, in a cloud-based video conferencing service, the data items being partitioned might be metadata for in- dividual video conferences, such as the address of that conferences rendezvous server. Inconsistencies can leadconferences rendezvous server....
View Full Document

Page1 / 16

adya - Centrifuge: Integrated Lease Management and...

This preview shows document pages 1 - 2. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online