This document discusses IO scheduling and modeling NVMe disks. It explains that different components compete for limited disk resources with different priorities and may overconsume resources if not scheduled properly. It then describes using an IO scheduler to get maximum concurrency from the disk and apply request priorities while avoiding overconsumption. The document outlines a token bucket algorithm for rate limiting and previews ongoing work to implement a new scheduler in Seastar and Scylla and add related metrics and tuning capabilities.
Related topics: