cool ! That helped a lot ! Is there any more source or sources that can explain Straw2 bucket more in detail. Or lets say  mapper.c code walkthrough? 

Bobby

On Fri, Apr 3, 2020 at 11:05 PM Sam Just <sjust@redhat.com> wrote:
Here's Sage's initial writeup:
https://www.spinics.net/lists/ceph-devel/msg21635.html
-Sam

On Fri, Apr 3, 2020 at 12:12 PM Bobby <italienisch1987@gmail.com> wrote:
>
> 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
> _______________________________________________
> Dev mailing list -- dev@ceph.io
> To unsubscribe send an email to dev-leave@ceph.io