RUSH
RUSH is a family of decentralized algorithms that maps object replicas to weighted storage subclusters without a per-object directory.
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. [1]
Variant 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. [1]
The 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. [2]
Read 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. [1]
Relations
- related
- CRUSH, Failure domain, Object storage, Erasure coding
Advantages
- Clients calculate placement locally from shared configuration instead of consulting a central object-location directory. [1]
Limitations
- RUSH-T lookup grows logarithmically with subcluster count, but its reorganization can move more data than the optimum. [1]
- CRUSH's comparison uses RUSH-style two-level layouts; it does not establish failure-domain guarantees for the original RUSH family. [2]
Citations
- Honicky and Miller, Replication Under Scalable Hashing, IPDPS 2004, sections 2-4
- Weil et al., CRUSH, SC 2006, sections 2, 3.2 and 4
Sources & caveats
- 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.