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

Proposal: add control for CFS bandwidth burst #1119

Closed
kailun-qin opened this issue Aug 11, 2021 · 0 comments · Fixed by #1120
Closed

Proposal: add control for CFS bandwidth burst #1119

kailun-qin opened this issue Aug 11, 2021 · 0 comments · Fixed by #1120

Comments

@kailun-qin
Copy link
Contributor

Burstable CFS controller is landed in Linux 5.14 [1], though the documentation is still WIP [2]. This helps with parallel workloads that might be bursty. They can get throttled even when their average utilization is under quota. And they may be latency sensitive at the same time so that throttling them is undesired.

This feature borrows time now against the future underrun, at the cost of increased interference against the other system users, by introducing cfs_burst_us into CFS bandwidth control to enact the cap on unused bandwidth accumulation, which will then used additionally for burst.

In general, it brings potential improvements on the efficiency of the CPU resource usage which may eventually help reduce the TCO and provide better QoS, which should be quite useful for many Cloud scenarios. We'd better to have it supported in OCI in addition to quota.

[1] torvalds/linux@f418371#diff-cc1a82129952a910fdc4292448c2a097a2ba538bebefcf3c06381e45639ae73e
[2] https://lore.kernel.org/lkml/20210730070956.44019-3-changhuaixin@linux.alibaba.com/T/

kailun-qin added a commit to kailun-qin/runtime-spec that referenced this issue Aug 11, 2021
Burstable CFS controller is introduced in Linux 5.14. This helps with
parallel workloads that might be bursty. They can get throttled even
when their average utilization is under quota. And they may be latency
sensitive at the same time so that throttling them is undesired.

This feature borrows time now against the future underrun, at the cost
of increased interference against the other system users, by introducing
`cfs_burst_us` into CFS bandwidth control to enact the cap on unused
bandwidth accumulation, which will then used additionally for burst.

The patch adds the support/control for CFS bandwidth burst.

Fixes opencontainers#1119

Signed-off-by: Kailun Qin <kailun.qin@intel.com>
kailun-qin added a commit to kailun-qin/runtime-spec that referenced this issue Mar 1, 2022
Burstable CFS controller is introduced in Linux 5.14. This helps with
parallel workloads that might be bursty. They can get throttled even
when their average utilization is under quota. And they may be latency
sensitive at the same time so that throttling them is undesired.

This feature borrows time now against the future underrun, at the cost
of increased interference against the other system users, by introducing
`cfs_burst_us` into CFS bandwidth control to enact the cap on unused
bandwidth accumulation, which will then used additionally for burst.

The patch adds the support/control for CFS bandwidth burst.

Fixes opencontainers#1119

Signed-off-by: Kailun Qin <kailun.qin@intel.com>
kailun-qin added a commit to kailun-qin/runtime-spec that referenced this issue Sep 2, 2022
Burstable CFS controller is introduced in Linux 5.14. This helps with
parallel workloads that might be bursty. They can get throttled even
when their average utilization is under quota. And they may be latency
sensitive at the same time so that throttling them is undesired.

This feature borrows time now against the future underrun, at the cost
of increased interference against the other system users, by introducing
`cfs_burst_us` into CFS bandwidth control to enact the cap on unused
bandwidth accumulation, which will then used additionally for burst.

The patch adds the support/control for CFS bandwidth burst.

Fixes opencontainers#1119

Signed-off-by: Kailun Qin <kailun.qin@intel.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant