mClockReservation / weight / limit

通过保留量、权重和上限协调不同请求类别。

核心约束
类别配置共同约束请求的服务顺序。
适用问题
存储 QoS 和前后台工作负载隔离。
边界与取舍
实际服务效果受设备能力估计与下层限流影响。

常见操作#

q 为活跃请求或客户队列数量;reservation、weight、limit 是不同约束。

操作时间复杂度条件与说明
计算请求标签每类标签使用固定数量算术根据到达时间、服务量、预留速率和权重更新,不能把一个标签当成全部决策。
选择可发出的请求由 reservation / proportional 队列维护决定有序容器或堆影响查找和更新成本;Ceph 的分片队列还改变参与竞争的范围。
实际设备服务依赖请求大小、设备吞吐与在途深度调度选中不等于立即完成;需要测量下游队列行为。

时间与空间#

时间复杂度
标签算术 + 队列选择 / 更新 + 下游服务
辅助空间
待处理请求及各客户的时钟 / 队列状态

Ceph 的 mClock 配置依赖容量估计和 OSD 队列分片,不能仅凭权重推出端到端吞吐或时延保证。

工程中的应用#

1 个案例 · 附源码
基础原理参考资料

Gulati et al. · mClock原算法的预留、上限、份额标签和服务选择。

Ceph Squid · mClock configurationCeph 的 profile、容量校准、队列和运行限制。

7 个概念