I/O Scheduler Engine for NUMA Device Selection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In information handling systems, particularly in server computing devices with Non-Uniform Memory Access (NUMA) configurations, the conventional selection of Input/Output (I/O) devices can lead to inefficient data operations due to varying memory access times and bandwidths, resulting in slower data transfers.

Innovation Solution

An I/O device selection system that includes an I/O scheduler engine, which receives I/O requests, determines the operating levels of available I/O devices, and selects the most suitable subset of I/O devices to perform the required operations based on their operating levels, optimizing data operations by considering the current operating situation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional I/O device selection techniques are used in NUMA configurations, then system simplicity is maintained, but data transfer efficiency deteriorates due to slower data transfers and suboptimal I/O device selection

Engineering Contradiction:
Improvedata transfer efficiencyVSAvoidI/O device selection complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system performs preliminary identification of operating levels for multiple I/O devices before selecting which device to use for data operations. This advance assessment of device states (busy vs. available) enables optimal selection that improves data transfer efficiency without adding complex real-time decision-making during actual data operations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system continuously monitors the operating levels of I/O devices and uses this feedback information to dynamically select the most appropriate device for each data operation. This feedback mechanism ensures that data operations are routed to available devices rather than busy ones, improving overall transfer efficiency while maintaining manageable system complexity through structured monitoring.

Inventive Principle:
Principle #23Feedback

2Adaptability or versatility

If multiple I/O devices are available for data operations, then system versatility is improved, but selection difficulty increases due to varying memory access times and bandwidths in NUMA configurations

Engineering Contradiction:
ImproveI/O device availabilityVSAvoidI/O device selection difficulty
Core Design Contradiction:
Adaptability or versatilityVSDifficulty of detecting and measuring

Solution Approach 1:

The system changes the parameter used for I/O device selection from static device identification to dynamic operating level assessment. By monitoring and comparing operating levels (busy vs. available states) of multiple I/O devices, the system adapts to varying memory access conditions in NUMA configurations and selects the most appropriate device for each operation, improving versatility while simplifying the selection process through clear state-based criteria.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11321250B2Input/output device selection system
Publication Date: 2022.05.03 DELL PROD LP
  • US11321250B2 patent drawing
  • US11321250B2 patent drawing
  • US11321250B2 patent drawing

AI summary

An I/O device selection system includes a memory system, I/O devices that are coupled to the memory system; and an I/O scheduler that is coupled to the I/O devices. The I/O scheduler receives an I/O request that that is directed to the memory system, and determines at least one I/O operation that is configured to satisfy the I/O request. The I/O scheduler then identifies an operating level of the I/O devices that are configured to perform the at least one I/O operation and, based on the operating level of the I/O devices, selects a subset of the I/O devices for performing the at least one I/O operation, and transmits at least one I/O operation instruction that is configured to cause the subset of the I/O devices to perform the at least one I/O operation in order to satisfy the I/O request.