Zero Copy Message Reception via Supervisor Page Table Updates
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In virtualized computer systems, the process of message reception often involves multiple copies of data, leading to significant latency and memory consumption issues due to the need for CPU processing cycles, especially when interacting with I/O devices, as existing solutions like page mapping result in minimal latency benefits and memory constraints.
Innovation Solution
Implementing a zero copy message reception system where a supervisor manages the disassociation of shared receiving buffers between applications and devices, allowing seamless reclaiming of memory resources by updating device page tables, enabling direct memory access and reducing the need for data copies during message transmission.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If traditional page mapping is used for message reception, then memory access is enabled, but latency is increased due to multiple data copies
Solution Approach 1:
The patent extracts the receiving buffer from the application's memory space and places it in device memory, allowing the device to access it directly without copying data through application memory. This separation enables zero-copy reception by removing the intermediate copy step that traditionally exists in page mapping approaches.
Solution Approach 2:
The patent introduces a buffer management data structure as an intermediary between the device and application memory. This intermediary contains buffer descriptors that track buffer locations and status, enabling the device to efficiently manage and access receiving buffers without requiring data copies, thus reducing latency while maintaining proper memory management.
2Quantity of substance
If receiving buffers are shared between applications and devices, then memory efficiency is improved, but memory management complexity increases
Solution Approach 1:
The patent implements self-service mechanisms where the buffer management data structure automatically tracks buffer usage, locations, and status. The system self-manages buffer allocation and deallocation through structured descriptors that encode buffer information, reducing the need for complex external management while improving memory efficiency through automated tracking and reuse.
3Productivity
If application disconnects from device, then resources should be reclaimed, but buffer reassignment requires supervisor intervention
Solution Approach 1:
The patent prepares buffer reclamation in advance by maintaining structured buffer management data that tracks the state of all receiving buffers. When an application disconnects, the supervisor can quickly reclaim buffers by checking the pre-organized data structure rather than searching through memory mappings, significantly reducing the overhead of supervisor intervention while ensuring proper resource reassignment.
Data Source
AI summary
Zero copy message reception for devices is disclosed. For example, a host has a memory, a processor, a supervisor, and a device with access to device memory addresses mapped in a device page table via an IOMMU. An application has access to application memory addresses and is configured to identify a first page of memory addressed by an application memory address to share with the device as a receiving buffer to store data received by the device for the application, where the first page is mapped to a first device memory address in a first device page table entry (PTE). A supervisor is configured to detect that the first application has disconnected from the device, and in response to detecting the application disconnecting, to update the first device PTE to address a second page instead of the first page.


