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

Crate Addition Request - Token bucket based rate limiter #107

Open
acatangiu opened this issue May 14, 2021 · 3 comments
Open

Crate Addition Request - Token bucket based rate limiter #107

acatangiu opened this issue May 14, 2021 · 3 comments

Comments

@acatangiu
Copy link

acatangiu commented May 14, 2021

Crate Name

io-rate-limiter

Short Description

A token bucket based rate limiter to enable inline rate limiting of device IO.
As an example see Firecracker implementation [1].

Why is this crate relevant to the rust-vmm project?

VMMs can make use of this crate to implement IO rate limiting for their emulated devices.

[1] https://github.com/firecracker-microvm/firecracker/tree/main/src/rate_limiter

@rbradford
Copy link

rbradford commented May 14, 2021

👍 We use this in CH. CC @likebreath

@acatangiu
Copy link
Author

Actually, I've updated the proposed name rate-limiter -> io-rate-limiter since we target a simple IO-specific implementation limiting on bandwidth and iops, and not a generic rate-limiter crate.

@acatangiu
Copy link
Author

I have an initial design proposal (very similar to what Firecracker and Cloud-Hypervisor currently use): https://github.com/acatangiu/ratelimit-asyncio#readme

@andreeaflorescu can you help with a new repository so we can have the design discussion on a issue there?

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

No branches or pull requests

2 participants