CRUSH: Controlled, Scalable, Decentralized Placement of Replicated Data