PADS: a policy architecture for distributed storage systems

  • Authors:
  • Nalini Belaramani;Jiandan Zheng;Amol Nayate;Robert Soulé;Mike Dahlin;Robert Grimm

  • Affiliations:
  • The University of Texas at Austin;Amazon.com Inc.;IBM TJ Watson Research;New York University;The University of Texas at Austin;New York University

  • Venue:
  • NSDI'09 Proceedings of the 6th USENIX symposium on Networked systems design and implementation
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

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.