Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-57781

Extend Simple-8b Selectors using padding bits to encode bit shift

    • Type: Icon: Task Task
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 5.1.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • None
    • Fully Compatible
    • Execution Team 2021-07-12, Execution Team 2021-07-26, Execution Team 2021-08-09

      Regular Simple-8b will encode blocks in the buckets the following way

      Nr ValueBits Elems Padding
      1	1              60    0
      2	2              30    0
      3	3              20    0
      4	4              15    0
      5	5              12    0
      6	6              10    0
      7	7               8     4
      8	8               7     4
      9	10             6     0
      10	12             5     0
      11	15             4     0
      12	20             3     0
      13	30             2     0
      14	60             1     0
      

      The four padding bits in selector 7 and 8 can be used to extend the amount of selectors. We want to use them to describe a bit shift where large values with many trailing zeros can be compressed efficiently.

      SelectorNr    PaddingValue    Elems    ValueBits    ShiftBits
      7                   1            9           2          4
      7                   2            8           3          4
      7                   3            7           4          4
      7                   4            6           5          4
      7                   5            5           7          4
      7                   6            4           10         4
      7                   7            3           14         4
      7                   8            2           24         4
      7                   9            1           52         4
      

      Extend Simple-8b encoder/decoder to handle these extended selectors.

      Extend calculation of optimal selector to handle these values too.

            Assignee:
            luke.bhan@mongodb.com Luke Bhan (Inactive)
            Reporter:
            henrik.edin@mongodb.com Henrik Edin
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: