Skip to content
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

[Enhancement]: Refine Delegator L0 segment & delete buffer #35303

Open
1 task done
congqixia opened this issue Aug 6, 2024 · 3 comments
Open
1 task done

[Enhancement]: Refine Delegator L0 segment & delete buffer #35303

congqixia opened this issue Aug 6, 2024 · 3 comments
Assignees
Labels
kind/enhancement Issues or changes related to enhancement stale indicates no udpates for 30 days
Milestone

Comments

@congqixia
Copy link
Contributor

Is there an existing issue for this?

  • I have searched the existing issues

What would you like to be added?

Reduce the memory usage for delegator with large number of l0 segments or delete buffer

Why is this needed?

Before streaming node implementation, delegator cannot control the size of l0 segments and delete buffer. In some cases the memory pressure could be too large to handle.
We would like to change the l0 "loading" and split process in delegator and do some refinement for delete buffer purging

Anything else?

No response

@congqixia congqixia added the kind/enhancement Issues or changes related to enhancement label Aug 6, 2024
@congqixia congqixia self-assigned this Aug 6, 2024
@congqixia
Copy link
Contributor Author

congqixia commented Aug 6, 2024

congqixia added a commit to congqixia/milvus that referenced this issue Aug 6, 2024
congqixia added a commit to congqixia/milvus that referenced this issue Aug 7, 2024
Separate delete data into batches if any delete data size exceeds the
confgured max batch size

Related to milvus-io#35303

Signed-off-by: Congqi Xia <[email protected]>
congqixia added a commit to congqixia/milvus that referenced this issue Aug 7, 2024
Separate delete data into batches if any delete data size exceeds the
confgured max batch size

Related to milvus-io#35303

Signed-off-by: Congqi Xia <[email protected]>
congqixia added a commit to congqixia/milvus that referenced this issue Sep 3, 2024
sre-ci-robot pushed a commit that referenced this issue Sep 5, 2024
congqixia added a commit to congqixia/milvus that referenced this issue Sep 5, 2024
congqixia added a commit to congqixia/milvus that referenced this issue Sep 5, 2024
sre-ci-robot pushed a commit that referenced this issue Sep 5, 2024
Cherry pick from master
pr: #35128 #35918
See also #35303

---------

Signed-off-by: aoiasd <[email protected]>
Signed-off-by: Congqi Xia <[email protected]>
Co-authored-by: aoiasd <[email protected]>
foxspy pushed a commit to foxspy/milvus that referenced this issue Sep 6, 2024
Copy link

stale bot commented Sep 7, 2024

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
Rotten issues close after 30d of inactivity. Reopen the issue with /reopen.

@stale stale bot added the stale indicates no udpates for 30 days label Sep 7, 2024
congqixia added a commit to congqixia/milvus that referenced this issue Sep 11, 2024
Related to milvus-io#35303

This PR add a param item to support change l0 forward behavior from bf
filtering and forward to remote load.

Signed-off-by: Congqi Xia <[email protected]>
chyezh pushed a commit to chyezh/milvus that referenced this issue Sep 11, 2024
sre-ci-robot pushed a commit that referenced this issue Sep 12, 2024
Related to #35303

This PR add a param item to support change l0 forward behavior from bf
filtering and forward to remote load.

---------

Signed-off-by: Congqi Xia <[email protected]>
@stale stale bot removed the stale indicates no udpates for 30 days label Sep 12, 2024
congqixia added a commit to congqixia/milvus that referenced this issue Sep 12, 2024
Related to milvus-io#35303

This PR utilizes pk index in segment to exclude non-hit delete record
during load delete records. This ability is crucial when l0/delete
forward policy only replies on segment itself(without BF filtering).

Signed-off-by: Congqi Xia <[email protected]>
congqixia added a commit to congqixia/milvus that referenced this issue Sep 12, 2024
Related to milvus-io#35303

This PR add a param item to support change l0 forward behavior from bf
filtering and forward to remote load.

---------

Signed-off-by: Congqi Xia <[email protected]>
sre-ci-robot pushed a commit that referenced this issue Sep 12, 2024
…36208)

Cherry-pick from master
pr: #36189
Related to #35303

This PR add a param item to support change l0 forward behavior from bf
filtering and forward to remote load.

---------

Signed-off-by: Congqi Xia <[email protected]>
sre-ci-robot pushed a commit that referenced this issue Sep 13, 2024
Related to #35303

This PR utilizes pk index in segment to exclude non-hit delete record
during load delete records. This ability is crucial when l0/delete
forward policy only replies on segment itself(without BF filtering).

---------

Signed-off-by: Congqi Xia <[email protected]>
congqixia added a commit to congqixia/milvus that referenced this issue Oct 25, 2024
Related to milvus-io#35303

Slice of `storage.PrimaryKey` will have extra interface cost for each
element, which may cause notable memory usage when delta row count
number is large.

This PR replaces PrimaryKey slice with PrimaryKeys interface saving the
extra interface cost.

Signed-off-by: Congqi Xia <[email protected]>
sre-ci-robot pushed a commit that referenced this issue Oct 25, 2024
…#37082) (#37112)

Cherry-pick from master
pr: #37082
Related to #35303

Delta data is not needed when using `RemoteLoad` l0 forward policy. By
skipping load delta data, memory pressure could be eased if l0 segment
size/number is large.

Signed-off-by: Congqi Xia <[email protected]>
sre-ci-robot pushed a commit that referenced this issue Oct 28, 2024
)

Related to #35303

Slice of `storage.PrimaryKey` will have extra interface cost for each
element, which may cause notable memory usage when delta row count
number is large.

This PR replaces PrimaryKey slice with PrimaryKeys interface saving the
extra interface cost.

---------

Signed-off-by: Congqi Xia <[email protected]>
congqixia added a commit to congqixia/milvus that referenced this issue Oct 28, 2024
Related to milvus-io#35303 milvus-io#30404

This PR change return type of `DeleteCodec.Deserialize`
from `storage.DeleteData` to `DeltaData`, which
reduces the memory usage of interface header.

Also refine `storage.DeltaData` methods to make it
easier to usage.

Signed-off-by: Congqi Xia <[email protected]>
sre-ci-robot pushed a commit that referenced this issue Oct 29, 2024
Related to #35303 #30404

This PR change return type of `DeleteCodec.Deserialize` from
`storage.DeleteData` to `DeltaData`, which
reduces the memory usage of interface header.

Also refine `storage.DeltaData` methods to make it easier to usage.

Signed-off-by: Congqi Xia <[email protected]>
congqixia added a commit to congqixia/milvus that referenced this issue Oct 29, 2024
)

Related to milvus-io#35303 milvus-io#30404

This PR change return type of `DeleteCodec.Deserialize` from
`storage.DeleteData` to `DeltaData`, which
reduces the memory usage of interface header.

Also refine `storage.DeltaData` methods to make it easier to usage.

Signed-off-by: Congqi Xia <[email protected]>
sre-ci-robot pushed a commit that referenced this issue Oct 30, 2024
#37264)

Cherry pick from master
pr: #37214
Related to #35303 #30404

This PR change return type of `DeleteCodec.Deserialize` from
`storage.DeleteData` to `DeltaData`, which
reduces the memory usage of interface header.

Also refine `storage.DeltaData` methods to make it easier to usage.

Signed-off-by: Congqi Xia <[email protected]>
congqixia added a commit to congqixia/milvus that referenced this issue Oct 31, 2024
Related to milvus-io#35303

`deleteMut` shall be protecting streaming delete buffer, forward l0
could be move out of the rlock section to reduce tsafe impact from
loading segments.

Signed-off-by: Congqi Xia <[email protected]>
congqixia added a commit to congqixia/milvus that referenced this issue Oct 31, 2024
Related to milvus-io#35303

`deleteMut` shall be protecting streaming delete buffer, forward l0
could be move out of the rlock section to reduce tsafe impact from
loading segments.

Signed-off-by: Congqi Xia <[email protected]>
congqixia added a commit to congqixia/milvus that referenced this issue Nov 1, 2024
Related to milvus-io#35303

`deleteMut` shall be protecting streaming delete buffer, forward l0
could be move out of the rlock section to reduce tsafe impact from
loading segments.

Signed-off-by: Congqi Xia <[email protected]>
sre-ci-robot pushed a commit that referenced this issue Nov 1, 2024
Cherry pick from master
pr: #37337
Related to #35303

`deleteMut` shall be protecting streaming delete buffer, forward l0
could be move out of the rlock section to reduce tsafe impact from
loading segments.

Signed-off-by: Congqi Xia <[email protected]>
sre-ci-robot pushed a commit that referenced this issue Nov 4, 2024
Related to #35303

`deleteMut` shall be protecting streaming delete buffer, forward l0
could be move out of the rlock section to reduce tsafe impact from
loading segments.

Signed-off-by: Congqi Xia <[email protected]>
congqixia added a commit to congqixia/milvus that referenced this issue Nov 4, 2024
Related to milvus-io#35303

`deleteMut` shall be protecting streaming delete buffer, forward l0
could be move out of the rlock section to reduce tsafe impact from
loading segments.

Signed-off-by: Congqi Xia <[email protected]>
congqixia added a commit to congqixia/milvus that referenced this issue Nov 14, 2024
sre-ci-robot pushed a commit that referenced this issue Nov 15, 2024
congqixia added a commit to congqixia/milvus that referenced this issue Nov 15, 2024
sre-ci-robot pushed a commit that referenced this issue Nov 15, 2024
…) (#37713)

Cherry-pick from master
pr: #37678
Related to #35303

Signed-off-by: Congqi Xia <[email protected]>
Copy link

stale bot commented Nov 17, 2024

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
Rotten issues close after 30d of inactivity. Reopen the issue with /reopen.

@stale stale bot added the stale indicates no udpates for 30 days label Nov 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/enhancement Issues or changes related to enhancement stale indicates no udpates for 30 days
Projects
None yet
Development

No branches or pull requests

1 participant