Para-Virtualization DMA Aggregation for PCIe Bottlenecks
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The frequent interactions between a para-virtualization device and a host result in degraded Direct Memory Access (DMA) performance due to the PCIe subsystem bottleneck and back-pressurization of the PCIe interface.
Innovation Solution
A data processing method that aggregates multiple DMA requests into a single request by screening and combining data that satisfy a preset condition, reducing the number of updates to the 'Used Ring' and improving DMA performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the para-virtualization device frequently submits data to the host through multiple steps, then data processing completeness is improved, but DMA performance degrades due to PCIe subsystem bottleneck
Solution Approach 1:
The patent merges multiple DMA requests into a single aggregated request. The completion queue stores multiple initial data entries, and the processing logic aggregates these entries into a single consolidated data structure that is submitted to the host in one operation, thereby reducing PCIe transaction frequency while maintaining data processing completeness
Solution Approach 2:
The patent performs preliminary aggregation of data in the completion queue before submission to the host. Multiple data entries are pre-processed and combined into an aggregated structure in advance, so that when submission occurs, only one consolidated request needs to be transmitted, reducing the frequency of PCIe transactions
2Measurement precision
If the para-virtualization device frequently updates the Used Ring, then data submission accuracy is improved, but PCIe interface back-pressurization occurs
Solution Approach 1:
The patent combines multiple Used Ring updates into a single aggregated update operation. Instead of frequently updating the Used Ring for each individual data entry, the system aggregates multiple update operations into one consolidated update that transmits all pending data submission information in a single PCIe transaction, thereby reducing back-pressurization while maintaining submission accuracy
Solution Approach 2:
The patent maintains continuous data processing by aggregating multiple updates and submitting them in batches. This continuous aggregation process ensures that data submission accuracy is maintained while reducing the frequency of PCIe transactions, as the system continuously accumulates updates and transmits them in consolidated batches rather than individually
Data Source
AI summary
A data processing method, apparatus and system based on a para-virtualization device are provided. The method comprises: acquiring a plurality of pieces of initial data which are stored in a completion queue of a para-virtualization device, wherein the plurality of pieces of initial data are used for representing description information of original data which has been processed by the para-virtualization device, but has not been submitted to a host; determining a plurality of pieces of first data, which meet a preset condition, among the plurality of pieces of initial data; performing an aggregation operation on the plurality of pieces of first data, so as to generate a first aggregation result; and sending to a memory of the host a direct memory access request that carries the first aggregation result.


