[SERVER-57318] Simple-8b encoder/decoder Created: 01/Jun/21  Updated: 29/Oct/23  Resolved: 20/Aug/21

Status: Closed
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: 5.1.0-rc0

Type: Task Priority: Major - P3
Reporter: Henrik Edin Assignee: Jackson Xie (Inactive)
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
is depended on by SERVER-58653 Simple8b Fails With Skip Encoding Siz... Closed
is depended on by SERVER-57643 Simple-8b: Create Basic Decoder and E... Closed
is depended on by SERVER-57645 Simple-8b: Calculate the Selector fro... Closed
is depended on by SERVER-57724 Simple-8b: Allow values to be appended Closed
is depended on by SERVER-57791 Handle missing elements in Simple-8b ... Closed
is depended on by SERVER-57794 Implement run-length-encoding in Simp... Closed
is depended on by SERVER-58147 Simple-8b: Reduce redundant computations Closed
is depended on by SERVER-58149 Simple-8b: flush to store state Closed
is depended on by SERVER-58401 Simple-8b: Clean up Flush Test Cases Closed
is depended on by SERVER-58520 Simple-8b: Remove Invariants Closed
Backwards Compatibility: Fully Compatible
Sprint: Execution Team 2021-06-14, Execution Team 2021-07-12, Execution Team 2021-07-26, Execution Team 2021-08-09, Execution Team 2021-08-23, Execution Team 2021-09-06
Participants:

 Description   

Implement a Simple-8b encoder and decoder and test the functionality in a new unittest.

Simple-8b packs multiple small integers in a single 64bit word. 4 bits are used as a control block to describe block sizes for the remaining 60 bits. One integer is stored in each block, if all bits are not used when it is padded with zeros.

The encoder need to be stateful and have an append-style interface. It looks at the incoming integers and selects optimal block sizes from a pre-determined table.

The decoder need to also be stateful and have forward iteration capability.

Multiple Simple-8b encoded words may be stringed together in a contiguous memory block. The total number of encoded integers (the size) should be stored outside the Simple-8b blocks.



 Comments   
Comment by Vivian Ge (Inactive) [ 06/Oct/21 ]

Updating the fixversion since branching activities occurred yesterday. This ticket will be in rc0 when it’s been triggered. For more active release information, please keep an eye on #server-release. Thank you!

Generated at Thu Feb 08 05:41:32 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.