Dynamic Sleep Time Adjustment for I/O Latency Tracking
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current I/O latency tracking techniques, such as hybrid polling, face accuracy issues in predicting I/O completion times due to fluctuations in storage device latency, leading to CPU utilization inefficiencies and performance degradation, especially in ultra-low-latency SSDs.
Innovation Solution
An I/O latency tracking apparatus and method that dynamically adjusts the sleep time for hybrid polling based on the results of recent I/O operations, using a sleep time adjustment unit to calculate an optimal sleep time by multiplying a sleep adjustment factor with the preceding sleep time, and employing lock operations to prevent concurrent access issues during sleep time adjustments.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Use of energy by moving object
If hybrid polling uses a fixed sleep time based on average I/O latency, then CPU utilization is reduced, but prediction accuracy deteriorates when I/O latency fluctuates
Solution Approach 1:
The patent applies dynamics by transitioning from a fixed sleep time to a dynamic sleep time that adapts to changing I/O latency conditions. The system monitors recent I/O completion times and adjusts the sleep duration accordingly, allowing the polling mechanism to respond to latency fluctuations while maintaining low CPU utilization.
Solution Approach 2:
The patent implements feedback by using the actual I/O completion time to adjust the sleep time for subsequent polling operations. The system calculates the difference between expected and actual completion times, then modifies the sleep duration based on this feedback, creating a closed-loop control system that improves prediction accuracy over time.
2Productivity
If polling is used instead of interrupt to avoid context switching overhead, then I/O performance is improved, but CPU usage rate rises to 100%
Solution Approach 1:
The patent applies periodic action by implementing polling at regular intervals determined by the calculated sleep time. Instead of continuous polling that would consume 100% CPU, the system polls periodically based on predicted I/O completion time, reducing CPU usage while maintaining the ability to detect I/O completion promptly.
Solution Approach 2:
The system dynamically adjusts the polling interval based on observed I/O latency patterns. When I/O operations complete faster than expected, the sleep time is reduced, allowing more frequent polling. When operations take longer, the sleep time increases, reducing CPU burden. This dynamic adjustment resolves the contradiction between performance and CPU usage.
3Use of energy by moving object
If sleep time is increased to avoid oversleep, then CPU utilization decreases, but I/O completion detection is delayed
Solution Approach 1:
The system uses feedback from actual I/O completion times to fine-tune the sleep duration. By comparing expected completion time with actual completion time across multiple operations, the system learns the appropriate sleep duration that balances CPU utilization with timely detection, avoiding both oversleep and undersleep conditions.
Solution Approach 2:
The patent changes the sleep time parameter dynamically based on system conditions and observed performance. Rather than using a fixed or purely conservative sleep time, the system adjusts this parameter based on measured I/O latency characteristics, optimizing the balance between CPU usage and response time.
Data Source
AI summary
An I/O latency tracking apparatus for storage devices includes: an I/O command generator generating an I/O command for a storage device; an I/O processor providing an I/O request to the storage device based on the I/O command and completing the I/O command by polling the storage device to check I/O completion after sleeping for a sleep time; and a sleep time adjustment unit adjusting the sleep time based on a sequence combination composed of two latest I/O sleep results among oversleep and undersleep results obtained during the polling process.


