-
Notifications
You must be signed in to change notification settings - Fork 333
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
Limit CPU and memory comsumption in resource-limited environment #3685
Comments
This reminds me a discussion with @zyy17 about an general abstraction of task spawning:
|
I have applied for OSPP 2024 with this sub project. Task Goals and Technical SolutionsI. Task Basic Goals
II. Technical Solutions(I) Selection of Pending Timing
(II) Pend Recovery Mechanism
(III) Control Closed-Loop CPU and Dynamically Adjust the Pending Probability
|
@ActivePeter we can start with introducing a new wrapper runtime that can set different priorities for different tasks even if it's not yet referenced in the code base. Feel free to draft a PR once you're ready. |
What problem does the new feature solve?
GreptimeDB is designed to scale from even embedded devices to mega scale cloud services. But when it runs on resource-limited devices, like industrial controller based on.Android and Windows, it does not have a framework to limit the resource consumption, namely CPU and memory usage.
What does the feature do?
This issue calls for a resource-limit framework, just like cgroup in Linux kernel, to limit the CPU and memory usage for those dedicated spawned tasks, like flush, compaction, etc.
Implementation challenges
Tokio does not provide instrumentation tools to probe the CPU and memory usage of submitted tasks, we can only wrap the tasks with our own metrics and using rate limiting strategies to limit inflight tasks.
The text was updated successfully, but these errors were encountered: