Unified DMA Node Abstraction to Cut System Call Overhead
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing systems face increased software complexity due to the management of multiple direct memory accesses (DMAs) in devices, leading to inefficiencies and a high number of system calls.
Innovation Solution
A system and method that abstracts multiple DMAs into a single node, allowing applications to access hardware through this node, reducing the need for individual management of each DMA and minimizing system calls.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If multiple direct memory accesses (DMAs) are managed individually in existing systems, then each DMA can be controlled precisely, but software complexity increases and the number of system calls increases
Solution Approach 1:
The patent merges multiple individual DMA controllers into a single unified DMA controller that can handle multiple DMA channels. This consolidation reduces the number of separate DMA entities from N to 1, directly addressing the technical contradiction by maintaining the capability to manage multiple memory access operations while reducing the complexity associated with managing N separate DMA controllers.
Solution Approach 2:
The unified DMA controller is designed with multi-functionality to handle various DMA operations across multiple channels. It can perform read, write, and transfer operations for different data types and memory regions through a single controller interface, thereby reducing software complexity while maintaining comprehensive control over multiple memory access operations.
2Productivity
If multiple DMAs are managed individually, then each DMA operation can be controlled separately, but CPU efficiency decreases due to increased system calls
Solution Approach 1:
By merging multiple DMA controllers into one unified controller, the system reduces the number of separate system calls needed to manage DMA operations. Instead of requiring N separate system calls for N individual DMA controllers, the unified controller can be managed through a single system call interface, thereby improving CPU efficiency by reducing interrupt overhead and system call frequency.
Solution Approach 2:
The unified DMA controller acts as an intermediary between the CPU and multiple memory access operations. It consolidates the management of multiple DMA channels through a single interface, reducing the direct interaction between the CPU and multiple individual DMA controllers. This intermediary role minimizes CPU involvement and system call frequency while maintaining precise control over memory access operations.
Data Source
AI summary
Provided is a system including a memory, a device including a plurality of direct memory accesses (DMAs), each of the plurality of DMAs configured to read from or write to the memory, and at least one processor configured to control the device by executing a program, wherein executing the program includes implementing a kernel configured to abstract the plurality of DMAs into a node, and an application configured to be executed on the kernel and access the device through the node.


