Skip to content

Commit

Permalink
doc/rados: Add explanation of straw2
Browse files Browse the repository at this point in the history
Signed-off-by: Shinobu Kinjo <shinobu@redhat.com>
  • Loading branch information
shinobu-x committed Nov 30, 2017
1 parent 27e06ff commit 6b4b700
Showing 1 changed file with 8 additions and 2 deletions.
10 changes: 8 additions & 2 deletions doc/rados/operations/crush-map-edits.rst
Original file line number Diff line number Diff line change
Expand Up @@ -279,7 +279,7 @@ and one rack bucket. The OSDs are declared as items within the host buckets::
`CRUSH - Controlled, Scalable, Decentralized Placement of Replicated Data`_,
and more specifically to **Section 3.4**. The bucket types are:

#. **Uniform:** Uniform buckets aggregate devices with **exactly** the same
#. **Uniform**: Uniform buckets aggregate devices with **exactly** the same
weight. For example, when firms commission or decommission hardware, they
typically do so with many machines that have exactly the same physical
configuration (e.g., bulk purchases). When storage devices have exactly
Expand All @@ -303,7 +303,7 @@ and one rack bucket. The OSDs are declared as items within the host buckets::
tree buckets reduce the placement time to O(log :sub:`n`), making them
suitable for managing much larger sets of devices or nested buckets.

#. **Straw:** List and Tree buckets use a divide and conquer strategy
#. **Straw**: List and Tree buckets use a divide and conquer strategy
in a way that either gives certain items precedence (e.g., those
at the beginning of a list) or obviates the need to consider entire
subtrees of items at all. That improves the performance of the replica
Expand All @@ -313,6 +313,12 @@ and one rack bucket. The OSDs are declared as items within the host buckets::
fairly “compete” against each other for replica placement through a
process analogous to a draw of straws.

#. **Straw2**: Straw2 buckets improve Straw to correctly avoid any data
movement between items when neighbor weights change.

For example the weight of item A including adding it anew or removing
it completely, there will be data movement only to or from item A.

.. topic:: Hash

Each bucket uses a hash algorithm. Currently, Ceph supports ``rjenkins1``.
Expand Down

0 comments on commit 6b4b700

Please sign in to comment.