Publication
NSDI 2009
Conference paper

Pads: A policy architecture for distributed storage systems

Abstract

This paper presents PADS, a policy architecture for building distributed storage systems. A policy architecture has two aspects. First, a common set of mechanisms that allow new systems to be implemented simply by defining new policies. Second, a structure for how policies, themselves, should be specified. In the case of distributed storage systems, PADS defines a data plane that provides a fixed set of mechanisms for storing and transmitting data and maintaining consistency information. PADS requires a designer to define a control plane policy that specifies the system-specific policy for orchestrating flows of data among nodes. PADS then divides control plane policy into two parts: routing policy and blocking policy. The PADS prototype defines a concise interface between the data and control planes, it provides a declarative language for specifying routing policy, and it defines a simple interface for specifying blocking policy. We find that PADS greatly reduces the effort to design, implement, and modify distributed storage systems. In particular, by using PADS we were able to quickly construct a dozen significant distributed storage systems spanning a large portion of the design space using just a few dozen policy rules to define each system.

Date

22 Apr 2009

Publication

NSDI 2009