Skip to content

AISAQ Improvements #1611

@gland1

Description

@gland1

We soon intend to submit a PR with following fixes and improvements:

  1. Shorten build time for AiSAQ in scale configuration
    • In this version build process will no longer rearrange the index, it will only generate the rearranged data, this data shall be used during search for reading the PQ vectors in a rearranged manner.
    • Use multiple threads when generating the rearranged data during build.
  2. Inline PQ optimization - Utilize sector unused space for additional inline PQ vectors when possible (this will not increase the index footprint on the disk).
  3. When rearranged is enabled, instead of saving both aligned rearranged PQ vectors file and original PQ vectors file, only the first one is saved.
  4. Set AiSAQ default beamwidth value from 8 to 2 to avoid excessive disk load.
  5. Improved RAM estimation for index build with GPU
  6. Fixed consumed memory size calculation function.
  7. Fixed AiSAQ thread context leak when index 'size' API is called and all PQ vectors are stored inline.
  8. Fixed context release to be done before notifying that it is free.
  9. Fixed index file existence check.
  10. Fixed index build with COSINE metric
  11. Fixed context resource release order to avoid race condition.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions