-
Notifications
You must be signed in to change notification settings - Fork 140
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
Remove skip building graph check for quantization use case #2430
Remove skip building graph check for quantization use case #2430
Conversation
473c7db
to
ced2035
Compare
I am raising directly to 2.x since i am blocked because of lucene codec issue. Will backport this to main once it is fixed. |
Currently quantization state is not null only for on-disk mode. We don't support in-memory quantization at this moment. Hence, this check is good enough. However if we want to check for on-disk, we have to pass this as parameter and add it to check. @jmazanec15 @shatejas @Vikasht34 @navneet1v What do you think? |
For quantization indices, we don't have to apply building graph check since it is already faster, this is now only applied for fp32/16 indices and where threshold is configured. Signed-off-by: Vijayan Balasubramanian <balasvij@amazon.com>
ced2035
to
db017b6
Compare
In general, the "mode" is meant to select defaults for other parameters, so it should not be directly used to disable and enable certain features. Instead, it may resolve to a parameter that then makes this decision. Anyway, in the PR, it appears that you actually disable if quantization is used. I think in general something like this is okay, but might be misleading/confusing to users who set the setting anticipating that graph builds will be skipped. That being said, is this just a concern of performance, or is it a functional bug? If it is performance related only, Id recommend using mode to resolve a per-field value for skipping graph build. Then, users could override if need be. This would be consistent with current approach around mode. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we need to update documentation around this?
Yes, i will update that this parameter will be no-hop for lucene, and on-disk |
For quantization indices, we don't have to apply building graph check since it is already faster, this is now only applied for fp32/16 indices and where threshold is configured. Signed-off-by: Vijayan Balasubramanian <balasvij@amazon.com> (cherry picked from commit 8d13c74)
…h-project#2430) For quantization indices, we don't have to apply building graph check since it is already faster, this is now only applied for fp32/16 indices and where threshold is configured. Signed-off-by: Vijayan Balasubramanian <balasvij@amazon.com>
* Remove skip building graph check for quantization use case (#2430) For quantization indices, we don't have to apply building graph check since it is already faster, this is now only applied for fp32/16 indices and where threshold is configured. Signed-off-by: Vijayan Balasubramanian <balasvij@amazon.com> * Update default to 0 to always build graph as default behavior (#2452) Signed-off-by: Balasubramanian <balasvij@amazon.com> * Update changelog Signed-off-by: Balasubramanian <balasvij@amazon.com> --------- Signed-off-by: Vijayan Balasubramanian <balasvij@amazon.com> Signed-off-by: Balasubramanian <balasvij@amazon.com>
…vice (#2532) * fix broken build flag, move build to one directory (#2442) * move build to one directory, fix broken flag Signed-off-by: Samuel Herman <sherman8915@gmail.com> * fix make path Signed-off-by: Samuel Herman <sherman8915@gmail.com> * changelog update Signed-off-by: Samuel Herman <sherman8915@gmail.com> * add fix for classpath change and for cmake discovery on macos Signed-off-by: Samuel Herman <sherman8915@gmail.com> * fix make discovery for gradle Signed-off-by: Samuel Herman <sherman8915@gmail.com> * fix cmake path for macOS Signed-off-by: Samuel Herman <sherman8915@gmail.com> --------- Signed-off-by: Samuel Herman <sherman8915@gmail.com> * Update package name to fix compilation issue (#2513) * Update package name to fix compilation issue Core renamed this package in opensearch-project/OpenSearch#17272 This commit renames package accordingly Signed-off-by: Balasubramanian <balasvij@amazon.com> * Update build.gradle and build.sh to separate x64 linux nmslib build with different gcc versions (#2506) (#2508) * Update build gradle to separate nmslib / faiss generation Signed-off-by: Peter Zhu <zhujiaxi@amazon.com> * Update scripts/build.sh to separate enable gcc switch Signed-off-by: Peter Zhu <zhujiaxi@amazon.com> * Remove test comments Signed-off-by: Peter Zhu <zhujiaxi@amazon.com> * Remove test comments Signed-off-by: Peter Zhu <zhujiaxi@amazon.com> * Remove test comments Signed-off-by: Peter Zhu <zhujiaxi@amazon.com> * Updating restart and rolling upgrade bwc test bundle.gradle Signed-off-by: Peter Zhu <zhujiaxi@amazon.com> * Enforce gcc10 for nmslib to compile and avx512_spr have no-op Signed-off-by: Peter Zhu <zhujiaxi@amazon.com> --------- Signed-off-by: Peter Zhu <zhujiaxi@amazon.com> (cherry picked from commit 107c4f1) Co-authored-by: Peter Zhu <zhujiaxi@amazon.com> --------- Signed-off-by: Balasubramanian <balasvij@amazon.com> Co-authored-by: opensearch-trigger-bot[bot] <98922864+opensearch-trigger-bot[bot]@users.noreply.github.com> Co-authored-by: Peter Zhu <zhujiaxi@amazon.com> * Adds debug logs for KNNQuery and KNNWeight (#2466) (#2470) * Adds debug logs for KNNQuery and KNNWeight Signed-off-by: Tejas Shah <shatejas@amazon.com> * Adds check to see if log is enabled to start and stop StopWatch Signed-off-by: Tejas Shah <shatejas@amazon.com> * Addressing comments on the PR Signed-off-by: Tejas Shah <shatejas@amazon.com> * Adds shard and segment info in the logs Signed-off-by: Tejas Shah <shatejas@amazon.com> * Removes unnecessary segment name param from exact search Signed-off-by: Tejas Shah <shatejas@amazon.com> * Fixes the build Signed-off-by: Tejas Shah <shatejas@amazon.com> --------- Signed-off-by: Tejas Shah <shatejas@amazon.com> (cherry picked from commit f322e27) Co-authored-by: Tejas Shah <shatejas@amazon.com> * Clean JNI artifacts with ./gradlew clean (#2516) * clean JNI artifacts with ./gradlew clean Signed-off-by: Samuel Herman <sherman8915@gmail.com> * nest release under build directory Signed-off-by: Samuel Herman <sherman8915@gmail.com> * adjust all references to the old release path Signed-off-by: Samuel Herman <sherman8915@gmail.com> * remove irrelevant paths from gitignore, add jni/build Signed-off-by: Samuel Herman <sherman8915@gmail.com> * fix logging on linux Signed-off-by: Samuel Herman <sherman8915@gmail.com> --------- Signed-off-by: Samuel Herman <sherman8915@gmail.com> * Backport to main (#2520) * Remove skip building graph check for quantization use case (#2430) For quantization indices, we don't have to apply building graph check since it is already faster, this is now only applied for fp32/16 indices and where threshold is configured. Signed-off-by: Vijayan Balasubramanian <balasvij@amazon.com> * Update default to 0 to always build graph as default behavior (#2452) Signed-off-by: Balasubramanian <balasvij@amazon.com> * Update changelog Signed-off-by: Balasubramanian <balasvij@amazon.com> --------- Signed-off-by: Vijayan Balasubramanian <balasvij@amazon.com> Signed-off-by: Balasubramanian <balasvij@amazon.com> * [Backport main] Add release notes for 2.19.0 (#2503) * Add release notes for 2.19.0 Signed-off-by: Kunal Kotwani <kkotwani@amazon.com> * Fix links for release notes Co-authored-by: John Mazanec <jmazane@amazon.com> Signed-off-by: Kunal Kotwani <kkotwani@amazon.com> --------- Signed-off-by: Kunal Kotwani <kkotwani@amazon.com> Co-authored-by: John Mazanec <jmazane@amazon.com> * Fix main knnlib dir in build script based on #2442 (#2526) Signed-off-by: Peter Zhu <zhujiaxi@amazon.com> * Minor performance improvments in KNNQueryBuilder (#2528) Signed-off-by: Tejas Shah <shatejas@amazon.com> * Initial implementation of control flow Signed-off-by: Rohan Chitale <r.chitale7@gmail.com> --------- Signed-off-by: Samuel Herman <sherman8915@gmail.com> Signed-off-by: Balasubramanian <balasvij@amazon.com> Signed-off-by: Vijayan Balasubramanian <balasvij@amazon.com> Signed-off-by: Kunal Kotwani <kkotwani@amazon.com> Signed-off-by: Peter Zhu <zhujiaxi@amazon.com> Signed-off-by: Tejas Shah <shatejas@amazon.com> Signed-off-by: Rohan Chitale <r.chitale7@gmail.com> Co-authored-by: sam-herman <97131656+sam-herman@users.noreply.github.com> Co-authored-by: Vijayan Balasubramanian <balasvij@amazon.com> Co-authored-by: opensearch-trigger-bot[bot] <98922864+opensearch-trigger-bot[bot]@users.noreply.github.com> Co-authored-by: Peter Zhu <zhujiaxi@amazon.com> Co-authored-by: Tejas Shah <shatejas@amazon.com> Co-authored-by: Kunal Kotwani <kkotwani@amazon.com> Co-authored-by: John Mazanec <jmazane@amazon.com>
Description
For on-disk quantization indices, we don't have to apply building graph check since it is already faster, and we found is causing latency spike during search. Hence, done check for threshold if quantization criteria is met.
Related Issues
part of #2215
Check List
--signoff
.By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.