Skip to content

Added optimization for OpenSearch engine which were missing #7

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: opensearch.improvements
Choose a base branch
from

Conversation

navneet1v
Copy link

@navneet1v navneet1v commented Jun 26, 2024

Description

This PR added the optimization for Opensearch engine in this benchmarking tool. Along with the optimizations I have also upgraded the OS docker image to latest version(at the time of raising this PR) which is 2.14

Testing

I performed a local testing on a small dataset and a small configuration and I can see improvements in Opensearch results.

Sample run results

Cluster: single node with CI based docker setup

python3 -m run --engines opensearch-default --datasets glove-25-angular

Indexing

{
  "params": {
    "experiment": "opensearch-default",
    "engine": "opensearch",
    "dataset": "glove-25-angular",
    "parallel": 16,
    "method": {
      "parameters": {
        "m": 16,
        "ef_construction": 100
      }
    }
  },
  "results": {
    "post_upload": {},
    "upload_time": 52.828218106064014,
    "total_time": 143.01298881007824
  }
}

Search

{
  "params": {
    "dataset": "glove-25-angular",
    "experiment": "opensearch-default",
    "engine": "opensearch",
    "parallel": 100,
    "config": {
      "knn.algo_param.ef_search": 128
    }
  },
  "results": {
    "total_time": 17.1585195150692,
    "mean_time": 0.013182678549340927,
    "mean_precisions": 0.9283049999999999,
    "std_time": 0.016356453433367828,
    "min_time": 0.0020476150093600154,
    "max_time": 0.7723487680777907,
    "rps": 582.8008640965589,
    "p95_time": 0.030238651664694766,
    "p99_time": 0.07367674464592752
  }
}

Please let me know if I need add this in upstream qadrant repo.

@navneet1v
Copy link
Author

In the next PR I will add the support of faiss engine using cosinesiml distance function. I didn't add that functionality because faiss is only getting used when filters are present.

@navneet1v navneet1v changed the title Added improvements for OpenSearch engine which were missing Added optimization for OpenSearch engine which were missing Jun 26, 2024
@navneet1v
Copy link
Author

@filipecosta90

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant