|
Introduction |
Note: this is an early version of a site describing the Duke CS NICL project we now call Open Resource Control Architecture (Orca). We renamed the project because there are several other closely related projects called Sirius, Cerias, etc. This page is still correct, but we now use the name Cereus only for a subproject dealing with market-based resource management, which can be implemented as a set of controller policy modules for an Orca/Shirako lease-based resource control plane. The Cereus project is investigating a broad range of topics focused on how to best manage networked utilities, such as computational grids, network testbeds, or commercial hosting services. Our goal is to build a general utility architecture that incorporates the means to virtualize resources to balance isolation and sharing, monitor and control resource status, match resource supply and demand, and adapt applications and services to the dynamics of a shared environment. Cereus is an outgrowth of previous work in the systems group at Duke University with Cluster-On-Demand (COD) and Secure Highly Available Resource Peering (SHARP) [SOSP 2003 pdf], as well as market-based resource management approaches including work on adaptive resource provisioning for data centers [SOSP 2001 pdf] and market-based task services [HPDC 2004 pdf]. Cereus is based upon a brokered lease contract model that defines a general approach to resource sharing based on extensible leasing abstraction. Our current prototype of the leasing system is called Shirako: it is a generic leasing core with plugin interfaces to allow for extensible policies for resource allocation, resource-specific configuration, and event handlers. Resource leasing is a powerful abstraction for providing predictable performance and allowing sophisticated services and applications to meet target levels of service quality.
We have developed a third-generation implementation of Cluster-On-Demand as a
plugin module to Cereus to demonstrate the power of our
leasing architecture to allocate server resources (physical or virtual) dynamically. However,
Cereus is designed to lease any type of "raw" resource that specifies
its power and capability by attributes, but is given in terms of
metrics that are independent of the host software (e.g. blocks of
machines with processor/memory attributes, storage partitions with
capacity/throughput attributes).
|
Overview | ||
Cereus is designed to manage a networked utility comprising a collection of autonomous resource supplier sites without central control. The sites may export a variety of resources including servers in data centers (Cluster-On-Demand), network paths, capacity at storage sites, or other resources such as distributed sensors. Infrastructure services within the utility partition the resources and assign them to host guests, which share the resources but are contained and protected from one another. The guests may be networked services, applications, or virtual network overlays. For example, a guest may comprise a linked set of virtual clusters at multiple sites, leased to host a distributed environment such as a cross-institutional grid or a distributed application such as a content distribution network. Each guest service, application, or environment has an associated service manager that monitors application demands and resource status, and negotiates with the utility services to acquire leases for the mix of resources needed to host the guest. The policies for approving requests and provisioning resources are specified in brokers (also called agents), and different brokers may implement different policies. Brokers maintain inventories of resources offered by supplier sites and have the power to coordinate resource allocation. The resources held by a guest at any given time comprise the guest's slice (terminology common to PlanetLab) of the shared infrastructure. A site authority at each resource supplier site is responsible for binding resources to the slice, and enforcing isolation among multiple guests hosted on the resources under its control. The service managers, brokers, and site authorities are actors in the utility. These actors are self-interested participants that can form various trust relationships, and enter into agreements or contracts. Actors are held accountable for contractual arrangements entered into with other actors. These actor roles and security relationships are defined in the SHARP framework, which addresses key challenges for networked utilities: preserving availability of resources when the actors controlling them fail, decentralized trust management, and enforcement of contracts. |
||
![]() |
Publications and Presentations |
|
Funding | ||
|
Project Members |