Scalable Accelerator Work Queue Design
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing devices face limitations in scalability due to the need to maintain client-specific information, leading to increased cost and complexity, and performance issues when handling multiple clients.
Innovation Solution
The implementation of work queues that are fully self-describing, allowing devices to process work from multiple clients without storing per-client state, and the use of multiple work submission portals to prioritize and manage work requests efficiently.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a device maintains client-specific information to support multiple clients, then the number of supported clients increases, but device cost and complexity increase
Solution Approach 1:
The patent uses work descriptors that are copied from host memory to the device, containing all necessary client-specific information. This allows the device to process multiple clients without maintaining permanent client-specific state, as each work descriptor is a self-contained copy of the required information.
Solution Approach 2:
The patent extracts client-specific information into separate work descriptors that are passed with each work request. This separates the client identification data from the device's permanent state, allowing the device to handle multiple clients without maintaining extensive client-specific information structures.
2Productivity
If a device processes work from multiple clients simultaneously, then client throughput increases, but performance issues and client interference occur
Solution Approach 1:
The patent segments client work into discrete work descriptors that are independently processed. Each work descriptor contains all necessary information for its specific client, allowing the device to process multiple clients in parallel without interference, as each descriptor is a self-contained unit of work.
Solution Approach 2:
The patent introduces work descriptors as intermediary data structures that carry client-specific information between the host and device. These descriptors act as mediators that enable multiple clients to share the device without direct client-device state coupling, preventing client interference while maintaining high throughput.
3Device complexity
If a device uses shared work queues to reduce complexity, then device simplicity increases, but work request prioritization becomes difficult
Solution Approach 1:
The patent applies local quality by including priority information within each individual work descriptor rather than managing priorities at the queue level. This allows each work request to carry its own prioritization metadata, enabling the device to process work from a shared queue while still honoring priority differences without complex queue management mechanisms.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Embodiments of apparatuses, methods, and systems for highly scalable accelerators are described. In an embodiment, an apparatus comprises: at least one control register to implement a work queue, the work queue to store a plurality of work descriptors submitted by a plurality of clients; and an engine to execute work indicated by a work descriptor of the plurality of work descriptors on behalf of the plurality of clients. The work descriptor includes a process address space identifier, PASID, interrupt information, and a completion address. To execute the work, the engine is to access the work descriptor from the work queue; locate an interrupt mapping table entry for an interrupt message corresponding to the PASID and the interrupt information; perform one or more operations in accordance with the work descriptor; and write a completion status to a memory location of a completion record based on the completion address.