TY - JOUR
T1 - Efficient hybrid polling for ultra-low latency storage devices
AU - Lee, Gyusun
AU - Shin, Seokha
AU - Jeong, Jinkyu
N1 - Publisher Copyright:
© 2021 Elsevier B.V.
PY - 2022/1
Y1 - 2022/1
N2 - With the introduction of ultra-low latency SSDs, which complete I/O operations in a few microseconds, the use of polling is becoming an attractive solution for alleviating the overheads in interrupt-driven I/O completion. However, careful use of polling is essential because of its inherent CPU overhead. Hybrid polling, in which a timer-based sleep is inserted in the middle of polling, has recently been proposed to relieve the CPU overhead. However, there is still substantial headroom for further optimization to save CPU cycles. In this paper, we propose efficient hybrid polling scheme that minimizes the CPU cycles for polling without sacrificing the I/O latency. By considering I/O time characteristics of idle and busy storage devices, our scheme makes an appropriate sleep time decision that maximizes the I/O performance and minimizes the CPU cycles for polling. The proposed scheme is implemented in the Linux kernel and evaluated with various I/O workloads. The evaluation results show that whenever an SSD is heavily or lightly loaded, our scheme achieves I/O latency identical to that of classical polling while maintaining a low CPU utilization. Compared to the original hybrid polling, our scheme reduces CPU utilization by 5%–40% and provides faster I/O latency by up to 10%.
AB - With the introduction of ultra-low latency SSDs, which complete I/O operations in a few microseconds, the use of polling is becoming an attractive solution for alleviating the overheads in interrupt-driven I/O completion. However, careful use of polling is essential because of its inherent CPU overhead. Hybrid polling, in which a timer-based sleep is inserted in the middle of polling, has recently been proposed to relieve the CPU overhead. However, there is still substantial headroom for further optimization to save CPU cycles. In this paper, we propose efficient hybrid polling scheme that minimizes the CPU cycles for polling without sacrificing the I/O latency. By considering I/O time characteristics of idle and busy storage devices, our scheme makes an appropriate sleep time decision that maximizes the I/O performance and minimizes the CPU cycles for polling. The proposed scheme is implemented in the Linux kernel and evaluated with various I/O workloads. The evaluation results show that whenever an SSD is heavily or lightly loaded, our scheme achieves I/O latency identical to that of classical polling while maintaining a low CPU utilization. Compared to the original hybrid polling, our scheme reduces CPU utilization by 5%–40% and provides faster I/O latency by up to 10%.
KW - Hybrid polling
KW - I/O completion
KW - Operating systems
KW - System software
UR - http://www.scopus.com/inward/record.url?scp=85122909460&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85122909460&partnerID=8YFLogxK
U2 - 10.1016/j.sysarc.2021.102338
DO - 10.1016/j.sysarc.2021.102338
M3 - Article
AN - SCOPUS:85122909460
SN - 1383-7621
VL - 122
JO - Journal of Systems Architecture
JF - Journal of Systems Architecture
M1 - 102338
ER -