{
  "slug": "rush-placement",
  "term": "RUSH",
  "aliases": [
    "Replication Under Scalable Hashing",
    "RUSH-P",
    "RUSH-R",
    "RUSH-T"
  ],
  "definition": "RUSH is a family of decentralized algorithms that maps object replicas to weighted storage subclusters without a per-object directory.",
  "note": "The 2004 design groups similar disks into subclusters and computes a subcluster, then a disk. RUSH-P uses prime-number placement, RUSH-R chooses replica locations together, and RUSH-T traverses a binary tree. [rush2004]\n\nVariant choice matters: RUSH-R supports flexible removal but treats replicas as interchangeable, so it cannot directly place distinct erasure-coded fragments. RUSH-T requires each subcluster to accommodate the maximum replication factor. [rush2004]\n\nThe later CRUSH design generalizes RUSH-P and RUSH-T with a configurable hierarchy and placement rules. Different disks alone do not establish rack or power-domain separation; RUSH's fixed cluster representation lacks those rules. [crush2006]\n\nRead migration claims by operation. The 2004 evaluation starts with six four-disk subclusters and 10,000 objects, each replicated four times. Addition, disk removal, reweighting and subcluster removal produce different costs; a universal minimum-movement claim hides these differences. [rush2004]",
  "related": [
    "crush-placement",
    "failure-domain",
    "object-storage",
    "erasure-coding"
  ],
  "citations": [
    {
      "id": "rush2004",
      "title": "Honicky and Miller, Replication Under Scalable Hashing, IPDPS 2004, sections 2-4",
      "url": "https://ssrc.us/media/pubs/a85b95d7c5b7deb9e11da8ad64bf2a82f3266590.pdf",
      "accessed": "2026-11-09"
    },
    {
      "id": "crush2006",
      "title": "Weil et al., CRUSH, SC 2006, sections 2, 3.2 and 4",
      "url": "https://ceph.io/assets/pdfs/weil-crush-sc06.pdf",
      "accessed": "2026-11-09"
    }
  ],
  "status": "research",
  "advantages": [
    {
      "text": "Clients calculate placement locally from shared configuration instead of consulting a central object-location directory.",
      "citationIds": [
        "rush2004"
      ]
    }
  ],
  "limitations": [
    {
      "text": "RUSH-T lookup grows logarithmically with subcluster count, but its reorganization can move more data than the optimum.",
      "citationIds": [
        "rush2004"
      ]
    },
    {
      "text": "CRUSH's comparison uses RUSH-style two-level layouts; it does not establish failure-domain guarantees for the original RUSH family.",
      "citationIds": [
        "crush2006"
      ]
    }
  ],
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "updated": "2026-11-09",
  "provenance": [
    "Source synthesis of the original IPDPS 2004 paper and the SC 2006 comparison. Historical research design, not a new implementation, benchmark or measured reliability result."
  ]
}
