Resource accounting
跨專案追蹤資源會計不變量
起點是 Kubernetes DRA 裡的一個 int64 溢位。我把它歸納成一條檢查:資源的加總、相乘與型別轉換,不能溢位、截斷、漏算或重複扣款;再拿這條去看 Kueue、KAI-Scheduler、Volcano、CDI 等排程與配額的實作。Kubernetes 後來為 Quantity 的 int64 問題開了一份整理清單(#141166),這份清單底下另有 12 支修正合併。
- Failure class
- 溢位、截斷、漏算、重複扣款、型別邊界
- Method
- 不變量提取、邊界構造、跨專案 variant search
- Outcome
- 12 變體、6 上游、11 修正合併
- Evidence
- 每項附 issue、patch 與失效路徑回歸測試
Representative evidence
- kubernetes #140442拒絕無法表示的 consumable-capacity 請求(int64 溢位)
- kubernetes #140666擋掉無法使用的
validRange(除零) - kueue #12897拒絕加總會溢位 int64 的 device counts
- kubernetes #141305
Quantity新增可判斷溢位的 accessor - kueue #15026用量越過 int64 仍精確,不再撞上「無上限」的哨兵