-
Notifications
You must be signed in to change notification settings - Fork 128
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
Move free vectorAddress from Java to JNI layer to reduce the memory footprint for Nmslib. #1602
Merged
navneet1v
merged 1 commit into
opensearch-project:feature/stream-vectors
from
navneet1v:stream-vectors-v2
Apr 9, 2024
Merged
Move free vectorAddress from Java to JNI layer to reduce the memory footprint for Nmslib. #1602
navneet1v
merged 1 commit into
opensearch-project:feature/stream-vectors
from
navneet1v:stream-vectors-v2
Apr 9, 2024
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
navneet1v
requested review from
heemin32,
VijayanB,
vamshin,
jmazanec15,
naveentatikonda,
junqiu-lei,
martin-gaievski and
ryanbogan
as code owners
April 9, 2024 20:37
navneet1v
added
skip-changelog
v2.14.0
Enhancements
Increases software capabilities beyond original client specifications
labels
Apr 9, 2024
jmazanec15
approved these changes
Apr 9, 2024
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.
This looks good to me
Fixing the tests. |
vibrantvarun
approved these changes
Apr 9, 2024
navneet1v
force-pushed
the
stream-vectors-v2
branch
from
April 9, 2024 21:27
6719c99
to
d6a98bb
Compare
…ootprint for Nmslib Signed-off-by: Navneet Verma <[email protected]>
navneet1v
force-pushed
the
stream-vectors-v2
branch
from
April 9, 2024 22:13
d6a98bb
to
0b8c2d0
Compare
navneet1v
merged commit Apr 9, 2024
ab16553
into
opensearch-project:feature/stream-vectors
43 of 48 checks passed
navneet1v
added a commit
to navneet1v/k-NN
that referenced
this pull request
Apr 9, 2024
…layer to enable creation of larger segments for vector indices Changes include: 1. Add the interface for streaming the vectors from java to jni layer with initial capacity (opensearch-project#1586) 2. Integrating storeVectors interfaces with createIndex and createIndexTemplate functions. (opensearch-project#1588) 3. Update KNN80BinaryDocValues reader count live docs and use live docs as initial capacity to initialize vector address(opensearch-project#1595) 4. Move free vectorAddress from Java to JNI layer to reduce the memory footprint for Nmslib (opensearch-project#1602) Signed-off-by: Navneet Verma <[email protected]>
5 tasks
navneet1v
added a commit
to navneet1v/k-NN
that referenced
this pull request
Apr 9, 2024
…layer to enable creation of larger segments for vector indices Changes include: 1. Add the interface for streaming the vectors from java to jni layer with initial capacity (opensearch-project#1586) 2. Integrating storeVectors interfaces with createIndex and createIndexTemplate functions. (opensearch-project#1588) 3. Update KNN80BinaryDocValues reader count live docs and use live docs as initial capacity to initialize vector address(opensearch-project#1595) 4. Move free vectorAddress from Java to JNI layer to reduce the memory footprint for Nmslib (opensearch-project#1602) Signed-off-by: Navneet Verma <[email protected]>
navneet1v
added a commit
to navneet1v/k-NN
that referenced
this pull request
Apr 9, 2024
…layer to enable creation of larger segments for vector indices Changes include: 1. Add the interface for streaming the vectors from java to jni layer with initial capacity (opensearch-project#1586) 2. Integrating storeVectors interfaces with createIndex and createIndexTemplate functions. (opensearch-project#1588) 3. Update KNN80BinaryDocValues reader count live docs and use live docs as initial capacity to initialize vector address(opensearch-project#1595) 4. Move free vectorAddress from Java to JNI layer to reduce the memory footprint for Nmslib (opensearch-project#1602) Signed-off-by: Navneet Verma <[email protected]>
navneet1v
added a commit
that referenced
this pull request
Apr 10, 2024
…layer to enable creation of larger segments for vector indices (#1604) Changes include: 1. Add the interface for streaming the vectors from java to jni layer with initial capacity (#1586) 2. Integrating storeVectors interfaces with createIndex and createIndexTemplate functions. (#1588) 3. Update KNN80BinaryDocValues reader count live docs and use live docs as initial capacity to initialize vector address(#1595) 4. Move free vectorAddress from Java to JNI layer to reduce the memory footprint for Nmslib (#1602) Signed-off-by: Navneet Verma <[email protected]>
navneet1v
added a commit
to navneet1v/k-NN
that referenced
this pull request
Apr 10, 2024
…layer to enable creation of larger segments for vector indices (opensearch-project#1604) Changes include: 1. Add the interface for streaming the vectors from java to jni layer with initial capacity (opensearch-project#1586) 2. Integrating storeVectors interfaces with createIndex and createIndexTemplate functions. (opensearch-project#1588) 3. Update KNN80BinaryDocValues reader count live docs and use live docs as initial capacity to initialize vector address(opensearch-project#1595) 4. Move free vectorAddress from Java to JNI layer to reduce the memory footprint for Nmslib (opensearch-project#1602) Signed-off-by: Navneet Verma <[email protected]>
navneet1v
added a commit
that referenced
this pull request
Apr 10, 2024
…layer to enable creation of larger segments for vector indices (#1604) (#1608) Changes include: 1. Add the interface for streaming the vectors from java to jni layer with initial capacity (#1586) 2. Integrating storeVectors interfaces with createIndex and createIndexTemplate functions. (#1588) 3. Update KNN80BinaryDocValues reader count live docs and use live docs as initial capacity to initialize vector address(#1595) 4. Move free vectorAddress from Java to JNI layer to reduce the memory footprint for Nmslib (#1602) Signed-off-by: Navneet Verma <[email protected]>
navneet1v
added a commit
to navneet1v/k-NN
that referenced
this pull request
Apr 11, 2024
…layer to enable creation of larger segments for vector indices (opensearch-project#1604) (opensearch-project#1608) Changes include: 1. Add the interface for streaming the vectors from java to jni layer with initial capacity (opensearch-project#1586) 2. Integrating storeVectors interfaces with createIndex and createIndexTemplate functions. (opensearch-project#1588) 3. Update KNN80BinaryDocValues reader count live docs and use live docs as initial capacity to initialize vector address(opensearch-project#1595) 4. Move free vectorAddress from Java to JNI layer to reduce the memory footprint for Nmslib (opensearch-project#1602) Signed-off-by: Navneet Verma <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
Enhancements
Increases software capabilities beyond original client specifications
skip-changelog
v2.14.0
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Move free vectorAddress from Java to JNI layer to reduce the memory footprint for Nmslib.
Earlier we were freeing up memory in the Java layer where the thought process was as Java layer has init the memory location it should free up the space.
But due to limitations provided here: #1600 for nmslib doing that can triple the memory footprint for index creation. Hence, we are freeing up the memory in the JNI layer.
This code will be removed once we do the long term fix via #1600
JNI Test output
Issues Resolved
#1506
Check List
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.