CRUSH: Controlled, Scalable, Decentralized Placement of Replicated Data

Appeared in Proceedings of SC '06.


Emerging large-scale distributed storage systems are faced with the task of distributing petabytes of data among tens or hundreds of thousands of storage devices. Such systems must evenly distribute data and workload to efficiently utilize available resources and maximize system performance, while facilitating system growth and managing hardware failures. We have developed CRUSH, a scalable pseudo-random data distribution function designed for distributed object-based storage systems that efficiently maps data objects to storage devices without relying on a central directory. Because large systems are inherently dynamic, CRUSH is designed to facilitate the addition and removal of storage while minimizing unnecessary data movement. The algorithm accommodates a wide variety of data replication and reliability mechanisms and distributes data in terms of user-defined policies that enforce separation of replicas across failure domains.

Publication date:
November 2006

Sage Weil
Scott A. Brandt
Ethan L. Miller
Carlos Maltzahn

Ultra-Large Scale Storage

Available media

Full paper text: PDF

Bibtex entry

  author       = {Sage Weil and Scott A. Brandt and Ethan L. Miller and Carlos Maltzahn},
  title        = {{CRUSH}: Controlled, Scalable, Decentralized Placement of Replicated Data},
  booktitle    = {Proceedings of SC '06},
  month        = nov,
  year         = {2006},
Last modified 5 Aug 2020