frostfs-qos/scheduling
Dmitrii Stepanov 41690c21e5
All checks were successful
DCO action / DCO (pull_request) Successful in 24s
Vulncheck / Vulncheck (pull_request) Successful in 31s
Pre-commit hooks / Pre-commit (pull_request) Successful in 1m10s
Tests and linters / Run gofumpt (pull_request) Successful in 1m4s
Tests and linters / Lint (pull_request) Successful in 1m12s
Tests and linters / gopls check (pull_request) Successful in 1m11s
Tests and linters / Staticcheck (pull_request) Successful in 1m18s
Tests and linters / Tests with -race (pull_request) Successful in 1m30s
Tests and linters / Tests (pull_request) Successful in 1m3s
[#9999] mclock: Schedule by limit requests as soon as possible
Let's assume that for some tag `limit = 1000 RPS` defined and each
request takes 10 ms to complete. At some point in time 1000 requests
were accepted. Then first request will be scheduled at `now()`, second -
at `now() + 1 ms`, third - at `now() + 2 ms` etc. Total processing
duration of 1000 requests will be 1 second + 10 ms.

After this fix scheduler looks forward to schedule requests within limit.
So for situation above total processing duration of 1000 requests will be
10 ms in ideal world.

Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2025-03-24 15:33:50 +03:00
..
clock.go [#12] mclock: Fix timer-based scheduling 2025-03-19 17:12:00 +03:00
mclock.go [#9999] mclock: Schedule by limit requests as soon as possible 2025-03-24 15:33:50 +03:00
mclock_bench.result [#1] mclock: Fix time based scheduling 2025-01-28 11:20:53 +03:00
mclock_bench_test.go [#1] mclock: Use time.Duration for idle timeout 2025-01-28 11:20:54 +03:00
mclock_test.go [#9999] mclock: Schedule by limit requests as soon as possible 2025-03-24 15:33:50 +03:00
queue.go [#1] mclock: Refactor: split code between files 2025-01-28 11:20:53 +03:00