Kyber Seeing Some Improvements In The Linux 4.20~5.0 Kernel
The Kyber I/O scheduler added back in Linux 4.12 and backed by Facebook engineers is seeing some improvements come the Linux 4.20~5.0 kernel cycle.
The current Kyber I/O scheduler heuristics rely upon the mean latency rather than 99th percentile latency, the statistics calculations are based on a short window of time that can cause issues for outliers with bursty workloads, and considers latency only after I/O has been submitted to the device.
The improved behavior of Kyber now relies upon a histogram that calculates percentiles of total latency and I/O latency, places sync and async writes in the same domain, discards are moved to a separate domain, and a variety of other changes.
More details in this Git merge into the Linux kernel's block layer code ahead of the next kernel cycle. It will be interesting to do some Linux I/O scheduler benchmarks on this next kernel that will either be called Linux 4.20 or Linux 5.0.
The current Kyber I/O scheduler heuristics rely upon the mean latency rather than 99th percentile latency, the statistics calculations are based on a short window of time that can cause issues for outliers with bursty workloads, and considers latency only after I/O has been submitted to the device.
The improved behavior of Kyber now relies upon a histogram that calculates percentiles of total latency and I/O latency, places sync and async writes in the same domain, discards are moved to a separate domain, and a variety of other changes.
More details in this Git merge into the Linux kernel's block layer code ahead of the next kernel cycle. It will be interesting to do some Linux I/O scheduler benchmarks on this next kernel that will either be called Linux 4.20 or Linux 5.0.
1 Comment