The development of cheap computing resources and an efficient networking infrastructure has led to the abundance of large computing clusters. Clusters introduce interesting cluster resource management problems. A significant challenge for a cluster's resource manager is to dynamically and efficiently allocate resources to competing consumers according to a configurable policy and to provide guarantees for those resources. I propose using leases as a mechanism for addressing this challenge.
In this thesis, I discuss and analyze two types of leases: implicit and contract-based. An implicit lease is a contract for a set of resources with an initially short duration, which is extended automatically with an equivalent short term unless the lease granter revokes the lease or the consumer relinquishes the resources. I implement and evaluate implicit leases in Cluster on Demand, a cluster manager that dynamically allocates resources among competing consumers. I show that, while implicit leases are simple to implement and allow the lease granter flexibility in allocation policies, they lack guarantees for both the resource provider and consumer.
As an alternative to implicit leases, I propose using contract-based
leases. The guaranteed use of resources for a period of time provides the
consumer with application performance guarantees and the resource granter
with usage guarantees, which allow it to make more effective policy
decisions. The cost of these guarantees is that the lease granter's
allocation policies become more complex because leases restrict the
granter's ability to immediately allocate resources. I examine some
strategies for assigning leases to resources and discuss their relative
costs and benefits in the context of the lease model in Sharp, a wide-area
resource peering environment