Adaptive I/O Polling Rate Adjustment for Power and Latency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing input/output (I/O) device polling techniques face challenges in achieving low latency and low power consumption, particularly in user interactive applications like smartphones and tablets, where interfaces such as USB struggle to maintain responsiveness and efficiency during communication between devices.
Innovation Solution
Implementing an adaptive polling mechanism where the polling rate is dynamically adjusted based on the data received from the I/O device, decreasing the rate when data remains unchanged and increasing it when data changes, utilizing a combination of hardware, software, or firmware within the host computing device and I/O subsystem to optimize power consumption and responsiveness.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If a fixed high polling rate is used to ensure responsiveness, then latency is reduced, but power consumption increases
Solution Approach 1:
The polling rate is made dynamic rather than fixed. The system automatically adjusts the polling interval based on whether data changes are detected at the I/O device. When data changes occur, the polling rate increases to capture updates; when no changes occur, the polling rate decreases to save power. This dynamic adaptation resolves the contradiction between maintaining responsiveness and reducing power consumption.
Solution Approach 2:
The polling interval parameter is changed based on system state. The host computing device monitors data changes at the I/O device and adjusts the polling interval accordingly - shortening it when changes are detected and lengthening it when no changes occur. This parameter adjustment allows the system to optimize between responsiveness and power consumption in different operational states.
2Use of energy by moving object
If a fixed low polling rate is used to reduce power consumption, then energy efficiency improves, but responsiveness deteriorates
Solution Approach 1:
The system dynamically adjusts polling rate based on actual data change events. Instead of maintaining a constantly low polling rate, the system switches to a higher polling rate when data changes are detected, ensuring responsiveness is maintained when needed while achieving power savings during stable states.
Solution Approach 2:
The polling interval parameter is adaptively changed based on data change detection. When the system detects that data has changed at the I/O device, it shortens the polling interval to improve responsiveness. When no changes are detected, it extends the polling interval to reduce power consumption, thus resolving the contradiction.
3Measurement precision
If continuous polling is performed to ensure data freshness, then data accuracy is maintained, but unnecessary polling increases power consumption
Solution Approach 1:
The system implements feedback-based polling adjustment. The host computing device receives feedback about data changes from the I/O device and uses this feedback to adjust the polling rate. When feedback indicates data changes, polling intensifies; when feedback indicates no changes, polling frequency is reduced. This feedback mechanism ensures data accuracy is maintained when necessary while eliminating unnecessary polling that wastes power.
Solution Approach 2:
The polling behavior transitions from static continuous polling to dynamic event-driven polling. The system monitors for data change events and adjusts polling activity accordingly, maintaining data accuracy by polling when changes occur while reducing power consumption by avoiding polls when data remains unchanged.
Data Source
AI summary
Techniques for polling an input/output (I/O) device are described herein. The techniques include polling a device for data from the I/O device, and receiving the data from the I/O device at the host device as a result of the polling. The techniques include determining whether the data received is the same as data received at a previous polling of the I/O device. Upon determining the data received is the same, the techniques include decreasing the polling rate if the data is the same, and if it is not the same. Upon determining the data is not the same, the techniques include increasing the polling rate if the data is not the same.


