{
  "slug": "crush-placement",
  "term": "CRUSH",
  "aliases": [
    "Controlled Replication Under Scalable Hashing",
    "CRUSH placement"
  ],
  "definition": "CRUSH is a deterministic, pseudorandom placement algorithm that maps an identifier to storage targets using a weighted cluster hierarchy and placement rules.",
  "note": "Clients can calculate target locations without a per-object location directory. [crush-paper] In Ceph, rules can separate replicas or erasure-code shards across modeled hosts or racks. [ceph-crush] CRUSH is a placement mechanism, not an erasure code, a consensus protocol or a guarantee of availability.",
  "related": [
    "failure-domain",
    "placement-group",
    "erasure-coding"
  ],
  "citations": [
    {
      "id": "crush-paper",
      "title": "Weil, Brandt, Miller and Maltzahn, CRUSH: Controlled, Scalable, Decentralized Placement of Replicated Data, SC 2006, sections 3-3.2",
      "url": "https://ceph.io/assets/pdfs/weil-crush-sc06.pdf",
      "accessed": "2026-10-13"
    },
    {
      "id": "ceph-crush",
      "title": "Ceph Squid documentation: CRUSH Maps, hierarchy and placement rules",
      "url": "https://docs.ceph.com/en/squid/rados/operations/crush-map/",
      "accessed": "2026-10-13"
    },
    {
      "id": "hesela-availability",
      "title": "Storage availability and correlated failures: placement boundaries",
      "url": "https://hesela.com/analyses/storage-availability-correlated-failures/",
      "accessed": "2026-10-13"
    }
  ],
  "status": "shipping",
  "advantages": [],
  "limitations": [],
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "updated": "2026-10-13"
}
