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

[Feature]: Adding a generic virtual resource allocator to orchestrate usage of memory, CPU, and disk, across different components #33559

Open
1 task done
tedxu opened this issue Jun 3, 2024 · 0 comments
Assignees
Labels
kind/feature Issues related to feature request from users

Comments

@tedxu
Copy link
Collaborator

tedxu commented Jun 3, 2024

Is there an existing issue for this?

  • I have searched the existing issues

Is your feature request related to a problem? Please describe.

There are several issues caused by poor resource management:

  1. In a standalone configuration, multiple system roles, such as Data Nodes and Query Nodes, may compete for memory resources. A critical conflict may end up with OOM error.
  2. Within query nodes, a similar problem can arise with disk resources. The concurrent execution of memory-mapped (mmap) operations and the maintenance of disk-based indexes can lead to a race for disk space. If not properly managed, this can lead to system panic due to perceived disk volume exhaustion.

Describe the solution you'd like.

A singleton Allocator is designed to manage and coordinate resource allocations among various system components. Each time a component is poised to execute a resource-intensive operation, it must solicit an allocation from the Allocator. The interaction with the Allocator is facilitated through the following method signature:

Allocator#Allocate(id string, r *Resource) (allocated bool, short *Resource)

If the Allocator decides not to approve the request, it returns allocated=false. Upon receiving this response, the component that made the request should cease further attempts to execute the operation, thereby preventing potential resource contention or exhaustion.

Describe an alternate solution.

No response

Anything else? (Additional Context)

No response

@tedxu tedxu added the kind/feature Issues related to feature request from users label Jun 3, 2024
sre-ci-robot pushed a commit that referenced this issue Jun 3, 2024
See #33559

---------

Signed-off-by: Ted Xu <ted.xu@zilliz.com>
@tedxu tedxu assigned tedxu and unassigned xiaofan-luan Jun 4, 2024
sre-ci-robot pushed a commit that referenced this issue Jun 21, 2024
See #33559

---------

Signed-off-by: Ted Xu <ted.xu@zilliz.com>
yellow-shine pushed a commit to yellow-shine/milvus that referenced this issue Jul 2, 2024
See milvus-io#33559

---------

Signed-off-by: Ted Xu <ted.xu@zilliz.com>
yellow-shine pushed a commit to yellow-shine/milvus that referenced this issue Jul 2, 2024
See milvus-io#33559

---------

Signed-off-by: Ted Xu <ted.xu@zilliz.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/feature Issues related to feature request from users
Projects
None yet
Development

No branches or pull requests

2 participants