DMA Transfer Mode Selection Based on CPU and Memory Metrics

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current operating systems are limited in their ability to dynamically determine the optimal DMA transfer mode for DMA data transfers, often resulting in suboptimal I/O operation performance due to predetermined modes that do not adapt to changing system profiles and resource usage metrics.

Innovation Solution

A method is introduced to dynamically determine the DMA transfer mode at runtime based on the size of the requested data transfer, profile data of the I/O adapter, CPU usage metrics, memory usage metrics, and application preferences, allowing for either data copy or map/unmap modes to be selected based on current system conditions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a predetermined DMA transfer mode is used, then the system configuration is simple, but the I/O operation performance is suboptimal due to inability to adapt to changing system profiles

Engineering Contradiction:
Improveadaptability to changing system profilesVSAvoidsystem configuration complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements dynamic determination of DMA transfer modes at runtime based on current system conditions including CPU usage metrics, memory usage metrics, I/O adapter profile data, and requested data transfer size. The system transitions from static predetermined modes to dynamic mode selection that adapts to changing system profiles, thereby improving adaptability while managing complexity through automated decision-making algorithms.

Inventive Principle:
Principle #15Dynamics

2Productivity

If dynamic mode selection is implemented, then I/O operation performance is optimized, but the decision-making complexity increases

Engineering Contradiction:
ImproveI/O operation performanceVSAvoiddecision-making complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent employs feedback mechanisms by monitoring CPU usage metrics, memory usage metrics, and I/O adapter profile data in real-time. These feedback signals are used to dynamically determine the optimal DMA transfer mode, enabling the system to adjust its behavior based on current system state and improve I/O operation performance through continuous adaptation.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system performs self-service by automatically determining the optimal DMA transfer mode without requiring manual configuration or external intervention. The automated decision-making process evaluates system conditions and selects appropriate transfer modes independently, improving productivity while containing complexity within the system's own control logic.

Inventive Principle:
Principle #25Self-service

3Ease of operation

If CPU-intensive data copying is performed, then data transfer flexibility is improved, but CPU resource consumption increases

Engineering Contradiction:
Improvedata transfer flexibilityVSAvoidCPU resource consumption
Core Design Contradiction:
Ease of operationVSUse of energy by moving object

Solution Approach 1:

The patent changes the parameter of DMA transfer mode selection based on system conditions. When CPU resources are abundant and flexibility is needed, data copy mode is selected. When CPU resources are constrained, map/unmap mode is chosen to reduce CPU consumption. This dynamic parameter adjustment optimizes the trade-off between operational flexibility and resource consumption.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS8984179B1Determining a direct memory access data transfer mode
Publication Date: 2015.03.17 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US8984179B1 patent drawing
  • US8984179B1 patent drawing
  • US8984179B1 patent drawing

AI summary

In response to receiving a request for a DMA data transfer, a DMA transfer mode may be determined based on based on the size of the requested DMA data transfer and profile data of an I/O adapter. The profile data for the I/O adapter may include a physical location of the I/O adapter or a number of clients supported by the I/O adapter. The DMA transfer mode may also be determined based on a preference of an application or an I/O device. Moreover, the DMA transfer mode may be determined based on a CPU usage metric being outside of a threshold for the CPU usage metric or on a memory usage metric being outside of a threshold for the memory usage metric.