Uploaded image for project: 'Ignite'
  1. Ignite
  2. IGNITE-17231

Optimization of DeltaFilePageStore: improve mapping of pageIdx to file offset

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • 3.0
    • None

    Description

      For ease of implementation, a sorted list of pageIdx has been added to the DeltaFilePageStore, thereby allowing a binary search to find a pageId -> pageIdx.

      Perhaps this is not quite optimal, and it can be optimized.

      It is important that we need to find a balance between memory usage and pageId lookup speed, since the DeltaFilePageStore class can be many (very many) due to the fact that it depends on the checkpoint, compacter, number of partitions and number of groups.

      Before implementation, we need to study the options in more depth and perhaps try a few of them.

      What can we consider:

      • roaring map - this needs to be carefully studied;
      • list of containers (idea) - there are 3 types of container, the first is a bitmask, the second is value intervals (provided that the values are greater than 64 (two integers)), the third is a sorted list (or hash map); then by binary search we find the container (by the first pageIdx in this container) and then we query the container.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              ktkalenko@gridgain.com Kirill Tkalenko
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated: