mirror of
https://github.com/ceph/ceph
synced 2025-01-29 22:43:40 +00:00
erasure-code: add definitions to the glossary
and fix a typo Signed-off-by: Loic Dachary <loic@dachary.org>
This commit is contained in:
parent
62027ec9f4
commit
1dfe913af2
@ -7,7 +7,7 @@ Glossary
|
||||
|
||||
*chunk*
|
||||
when the encoding function is called, it returns chunks of the same
|
||||
size. Data chunks which can be concated to reconstruct the original
|
||||
size. Data chunks which can be concatenated to reconstruct the original
|
||||
object and coding chunks which can be used to rebuild a lost chunk.
|
||||
|
||||
*chunk rank*
|
||||
@ -25,9 +25,30 @@ Glossary
|
||||
object. For a given placement group, each OSD contains shards of
|
||||
the same rank. When dealing with objects that are encoded with a
|
||||
single operation, *chunk* is sometime used instead of *shard*
|
||||
because the shard is made of a single chunk.
|
||||
because the shard is made of a single chunk. The *chunks* in a
|
||||
*shard* are ordered according to the rank of the stripe they belong
|
||||
to.
|
||||
|
||||
The definitions are illustrated as follows:
|
||||
*K*
|
||||
the number of data *chunks*, i.e. the number of *chunks* in which the
|
||||
original object is divided. For instance if *K* = 2 a 10KB object
|
||||
will be divided into *K* objects of 5KB each.
|
||||
|
||||
*M*
|
||||
the number of coding *chunks*, i.e. the number of additional *chunks*
|
||||
computed by the encoding functions. If there are 2 coding *chunks*,
|
||||
it means 2 OSDs can be out without loosing data.
|
||||
|
||||
*N*
|
||||
the number of data *chunks* plus the number of coding *chunks*,
|
||||
i.e. *K+M*.
|
||||
|
||||
*rate*
|
||||
the proportion of the *chunks* that contains useful information, i.e. *K/N*.
|
||||
For instance, for *K* = 9 and *M* = 3 (i.e. *K+M* = *N* = 12) the rate is
|
||||
*K* = 9 / *N* = 12 = 0.75, i.e. 75% of the chunks contain useful information.
|
||||
|
||||
The definitions are illustrated as follows (PG stands for placement group):
|
||||
::
|
||||
|
||||
OSD 40 OSD 33
|
||||
@ -36,15 +57,16 @@ The definitions are illustrated as follows:
|
||||
|+------ object O -------+| |+------ object O -------+|
|
||||
||+---------------------+|| ||+---------------------+||
|
||||
stripe||| chunk 0 ||| ||| chunk 1 ||| ...
|
||||
0 ||| [0,+N) ||| ||| [0,+N) |||
|
||||
0 ||| stripe 0 ||| ||| stripe 0 |||
|
||||
||+---------------------+|| ||+---------------------+||
|
||||
||+---------------------+|| ||+---------------------+||
|
||||
stripe||| chunk 0 ||| ||| chunk 1 ||| ...
|
||||
1 ||| [N,+N) ||| ||| [N,+N) |||
|
||||
1 ||| stripe 1 ||| ||| stripe 1 |||
|
||||
||+---------------------+|| ||+---------------------+||
|
||||
||+---------------------+|| ||+---------------------+||
|
||||
stripe||| chunk 0 [N*2,+len) ||| ||| chunk 1 [N*2,+len) ||| ...
|
||||
2 ||+---------------------+|| ||+---------------------+||
|
||||
stripe||| chunk 0 ||| ||| chunk 1 ||| ...
|
||||
2 ||| stripe 2 ||| ||| stripe 2 |||
|
||||
||+---------------------+|| ||+---------------------+||
|
||||
|+-----------------------+| |+-----------------------+|
|
||||
| ... | | ... |
|
||||
+-------------------------+ +-------------------------+
|
||||
|
Loading…
Reference in New Issue
Block a user