ATC Direct Guest Command Submission via Translation Agent
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The inefficiencies in the Address Translation Service (ATS) of the PCIe architecture, particularly in legacy computer systems with heterogeneous processing units, lead to performance bottlenecks due to the involvement of middle agents in command communications between address translation caches and guest software.
Innovation Solution
The implementation of a Translation Agent architecture that allows address translation caches (ATCs) to directly communicate with guest software by configuring guest-specific command queues and using a Process Address Space Identifier (PASID) table to send commands and inform guest software of their presence, thereby reducing the need for middle agents like IOMMUs and host software.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If traditional PCIe ATS architecture with middle agents (IOMMU, host software) is used, then address translation and command communication can be achieved, but processing efficiency deteriorates due to performance bottlenecks and virtual machine exits
Solution Approach 1:
The patent extracts and removes the middle agents (IOMMU and host software) from the command communication path between ATC and guest software. By directly connecting ATC to guest software through a simplified interface, the patent eliminates the performance bottlenecks caused by virtual machine exits and host processing while maintaining the essential address translation functionality.
Solution Approach 2:
The patent introduces a new architectural interface as an intermediary that enables direct communication between ATC and guest software. This interface includes command queues and notification mechanisms that allow efficient command submission without requiring traditional middle agents, thus improving productivity while managing system complexity.
2Productivity
If direct communication between ATC and guest software is implemented, then processing efficiency improves by eliminating virtual machine exits, but architectural complexity increases
Solution Approach 1:
The patent segments the communication interface into distinct components: command queues for submitting operations, notification mechanisms for signaling completion, and data structure definitions. This segmentation allows each component to be optimized independently while working together to achieve efficient direct communication between ATC and guest software.
Solution Approach 2:
The patent establishes command queues and notification mechanisms in advance, allowing ATC to submit commands directly without requiring runtime intervention from host software. This preliminary setup enables efficient command communication by pre-configuring the data structures and notification paths needed for direct ATC-to-guest-software interaction.
Data Source
AI summary
In one embodiment, an apparatus comprises: at least one accelerator to perform operations on data; and an address translation cache (ATC) coupled to the at least one accelerator, the ATC to store address translations. The ATC is to: send a command to a pending request queue (PRQ) stored in a memory coupled to the apparatus, the PRQ associated with a process of a guest software; and send an interrupt to inform the process regarding the command. Other embodiments are described and claimed.


