-
Notifications
You must be signed in to change notification settings - Fork 3k
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]: Optimize task scheduling logic to enable concurrent execution of tasks #39101
Comments
Configure slots for tasks and IndexNode. By default, the slot count for IndexNode is 16, and the slot count for index tasks is also 16. This means that under normal circumstances, an IndexNode can execute only one index task at a time. The slot count for stats tasks is 4, meaning an IndexNode can execute up to 4 stats tasks concurrently. |
I think indexNode slot number should be related to cpu cores and memory? A index node has 16core 64GB is 8 slot, 8 core 64GB is 4 slot. For Segment > 500MB, Each index task takes 8 slots On the other side, For Segment > 500MB, each index takes 2 slots. If a task request is larger than slot number, then any index task can take this task and can take only one task at then same time. please comment @xiaocai2333 @czs007 |
okay, does that mean the indexNode allocates one slot per 2 cores or 8GB memory? a 4core 8GB memory IndexNode should only have one slot? |
i'm assuming stats task takes 1 slot since it's not easy to parallel stats task. yes, 4core 8GB or 2 core 16GB indexnode is still 1 slot, same as 2 core 8GB |
Is there an existing issue for this?
What would you like to be added?
Optimize task scheduling logic to enable concurrent execution of tasks.
Why is this needed?
Stats tasks are primarily io operations, which can be executed concurrently.
Additionally, when segments are relatively small, index tasks can also be executed concurrently.
Anything else?
No response
The text was updated successfully, but these errors were encountered: