]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-client.git/commit
ceph: CRUSH mapping algorithm
authorSage Weil <sage@newdream.net>
Tue, 19 May 2009 21:45:31 +0000 (14:45 -0700)
committerSage Weil <sage@newdream.net>
Tue, 19 May 2009 21:45:31 +0000 (14:45 -0700)
commitbbd51faffb97b4fbcbe839ff6084556700f52eb7
tree1d86ebc9e4ad950e15ead5ed5839e51c3f1bceb7
parent0e7a29b547f82e41515aa8176734cf39ad2f4905
ceph: CRUSH mapping algorithm

CRUSH is a fancy hash function designed to map inputs onto a dynamic
hierarchy of devices while minimizing the extent to which inputs are
remapped when the devices are added or removed.  It includes some
features that are specifically useful for storage, most notably the
ability to map each input onto a set of N devices that are separated
across administrator-defined failure domains.  CRUSH is used to
distribute data across the cluster of Ceph storage nodes.

More information about CRUSH can be found in this paper:

    http://www.ssrc.ucsc.edu/Papers/weil-sc06.pdf
fs/ceph/crush/crush.c [new file with mode: 0644]
fs/ceph/crush/crush.h [new file with mode: 0644]
fs/ceph/crush/hash.h [new file with mode: 0644]
fs/ceph/crush/mapper.c [new file with mode: 0644]
fs/ceph/crush/mapper.h [new file with mode: 0644]