Adaptive I/O Completion for CPU and I/O Bound Applications

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current I/O completion methods, such as interrupt and polling, face challenges in minimizing performance interference between applications in multi-tasking environments, leading to degraded user experience due to high CPU resource consumption and context switching overhead.

Innovation Solution

An adaptive I/O completion method that determines whether an application is foreground or background and classifies it as CPU-bound or I/O-bound, applying the I/O polling method for foreground I/O-bound applications and the interrupt method for foreground CPU-bound or background applications, thereby optimizing resource usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If the polling method is used for I/O completion, then CPU resource consumption increases, but context switching overhead is reduced

Engineering Contradiction:
Improvecontext switching overheadVSAvoidCPU resource consumption
Core Design Contradiction:
Loss of timeVSUse of energy by moving object

Solution Approach 1:

The patent dynamically selects between polling and interrupt methods based on application characteristics (foreground/background, CPU-bound/I/O-bound) and system state, making the I/O completion mechanism adaptive rather than static. This resolves the contradiction by applying the appropriate method contextually rather than universally.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent applies different I/O completion strategies to different applications based on their specific characteristics. Foreground I/O-bound applications receive polling treatment while background or CPU-bound applications receive interrupt treatment, creating localized optimization rather than uniform approach.

Inventive Principle:
Principle #3Local quality

2Productivity

If the polling method is used continuously, then I/O performance is improved, but performance interference between applications occurs

Engineering Contradiction:
ImproveI/O performanceVSAvoidperformance interference
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies polling method selectively only to foreground I/O-bound applications rather than all applications, ensuring that I/O performance is improved for critical applications without causing performance interference from continuous polling in background applications.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system dynamically adjusts the I/O completion method based on real-time application characteristics and system state, switching between polling and interrupt methods to maintain I/O performance while preventing performance interference in multi-application environments.

Inventive Principle:
Principle #15Dynamics

3Use of energy by moving object

If the interrupt method is used, then context switching overhead occurs, but CPU resource consumption is reduced

Engineering Contradiction:
ImproveCPU resource consumptionVSAvoidcontext switching overhead
Core Design Contradiction:
Use of energy by moving objectVSLoss of time

Solution Approach 1:

The patent applies interrupt method selectively to background applications and CPU-bound applications, reducing CPU resource consumption for these less critical tasks while accepting the context switching overhead as acceptable trade-off.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system dynamically determines which applications should use interrupt-based I/O completion based on their characteristics, allocating interrupt method to applications where CPU resource conservation is more important than minimizing context switching overhead.

Inventive Principle:
Principle #15Dynamics

4Reliability

If adaptive classification is implemented, then performance interference is minimized, but system complexity increases

Engineering Contradiction:
Improveperformance interferenceVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments applications into distinct categories (foreground/background, CPU-bound/I/O-bound) and applies different I/O completion strategies to each segment. This structured segmentation manages complexity by creating clear classification rules rather than requiring complex continuous optimization.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11741031B2Adaptive I/O completion method and recordable medium storing program for the same
Publication Date: 2023.08.29 RES & BUSINESS FOUND SUNGKYUNKWAN UNIV
  • US11741031B2 patent drawing
  • US11741031B2 patent drawing
  • US11741031B2 patent drawing

AI summary

In accordance with an aspect of the present disclosure, there is provided a method for adaptive I/O completion. The method comprises, determining whether an application is a foreground application or a background application; in response to the application determined to be the foreground application, determining whether the application is a CPU-bound application or an I/O-bound application; and applying an I/O polling method in response to that the application determined to be the foreground application and the I/O-bound application, and applying an interrupt method in response to that the application determined to be the foreground application and the CPU-bound application, or the application determined to be the background application.