3 Apr
2020
3 Apr
'20
2:12 p.m.
Hi, I am trying to understand **Straw2** bucket used in **CRUSH algorithm** of **Ceph**. I have some specific questions. The code is given below: **Questions:** - Why there is a need of taking **log** of **hash value**? - Is **x** the **placement ps** calculated by **crush_hash32_2** function? - What function **crush_ln()** in the given code (mapper.c) is actually computing? I am confused by the comment **2^44*log2(input+1)**. - Why there is a need of creating a negative number based on **ln (natural log)** of hash value? Please help me understand these points. Thanks in advance