[TENT] Add QoS metrics baseline to tebench#2845
Conversation
There was a problem hiding this comment.
Code Review
This pull request introduces QoS metrics baseline reporting and deadline-aware bandwidth arbitration within priority tiers for the Mooncake Transfer Engine benchmark (tebench). It adds support for partitioning worker threads into QoS classes, calculating metrics like SLO attainment and Jain fairness, and ordering contending network slices by deadline urgency. The review feedback suggests optimizing the benchmark hot path by adding a bulk insertion method to XferMetricStats and using it in main.cpp to reduce lock contention when updating transfer statistics.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
|
Follow-up validation for the review fix at
All review threads are resolved. Full GitHub CI is now running/queued. |
|
Codecov Report❌ Patch coverage is 📢 Thoughts on this report? Let us know! |
|
Thanks for the change — the direction on deadline-aware arbitration in My main concern is layering: we want In the current PR, a substantial part of the deadline/QoS logic is implemented in
Those are not just benchmark presentation details; they define TENT-facing workload semantics and policy, so they would be better placed under
Concretely, I’d suggest:
The RDMA arbitration policy itself is already in the right direction by living under |
f2dd7c8 to
f90d7db
Compare
# Conflicts: # mooncake-transfer-engine/benchmark/main.cpp # mooncake-transfer-engine/benchmark/utils.cpp # mooncake-transfer-engine/benchmark/utils.h
Summary
--qos_classes=name:threads:slo_us:weight[:isolated_gbps],...workload contract totebenchnull/N/AMetric semantics
throughput / weight.max(0, 1 - mixed_throughput / isolated_throughput)and is only emitted when the caller supplies a matching isolated baseline.Validation
USE_TENT=ONtebenchtargets build successfully with GCC 13.3 in a clean Ubuntu 24.04 container.tebench_qos_metrics_testpasses in both builds, covering contract parsing, validation, metric math, JSON validity, and null semantics.sinian-public-1->sinian-platformpassed. With 64 KiB x batch 4 and four workers, the strict 1 ms foreground SLO attained 17.65%; Jain fairness was 0.8338, maximum isolation leakage 41.21%, and utilization 68.45%. All values were independently recomputed from the JSONL inputs.Dependency
None. The branch is rebased on current
main; QoS SLOs are reporting thresholds and do not change request scheduling policy.