Aggregated Doorbells for GPU Queue Scheduling
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional processing systems fail to efficiently monitor and schedule command buffers for unmapped queues, leading to increased polling overhead and scheduling latencies due to the lack of awareness of command buffers arriving in previously empty queues that are not mapped to the scheduler.
Innovation Solution
Implementing aggregated doorbells that are monitored by a hardware doorbell monitor, which generates interrupts when an unmapped queue becomes non-empty, allowing the scheduler to poll and schedule command buffers from these queues, and dynamically managing queue mappings to balance polling overhead and scheduling latencies.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If the scheduler monitors all queues individually, then scheduling responsiveness is improved, but polling overhead increases
Solution Approach 1:
Multiple doorbells for different queues are merged into a single aggregated doorbell. When any queue in the group receives a command buffer, the aggregated doorbell is set, notifying the scheduler that at least one queue has work pending. This reduces the number of individual doorbells the scheduler must monitor while maintaining awareness of work across all queues.
Solution Approach 2:
The aggregated doorbell serves multiple functions: it notifies the scheduler of work in any monitored queue, enables batch polling of multiple queues through a single interrupt, and reduces the overall doorbell count in the system. This multi-functional approach resolves the contradiction by providing comprehensive monitoring coverage with reduced overhead.
2Device complexity
If fewer doorbells are used, then device complexity is reduced, but scheduling awareness of unmapped queues deteriorates
Solution Approach 1:
The aggregated doorbell acts as an intermediary that consolidates status information from multiple queues into a single notification mechanism. Instead of requiring individual doorbells for each queue, the aggregated doorbell mediates between multiple queues and the scheduler, preserving complete awareness information while reducing the number of direct notification channels.
Solution Approach 2:
Queues are segmented into groups that share a common aggregated doorbell. This segmentation allows the system to manage doorbell complexity at the group level rather than the individual queue level, reducing overall doorbell count while maintaining the ability to track work in each queue through selective polling of queue status registers.
Data Source
AI summary
A processing system includes a set of queues to store command buffers prior to execution in a corresponding plurality of pipelines. The processing system also includes one or more first doorbells and a second doorbell. The first doorbells map to one or more queues in the set of queues on a one-to-one basis. The second doorbell maps to a subset of the set of queues on a one-to-many basis. A doorbell monitor generates an interrupt in response to an empty queue in the subset becoming a non-empty queue. A scheduler polls the subset in response to the interrupt. The scheduler schedules a command buffer from the non-empty queue for execution or adds the command buffer to a pool for subsequent execution.


