Memory-Based Completion Granules for Multi-Core Notification
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
As data processing systems scale to include multiple cores and threads, the existing hardware lock register-based method for asynchronous completion notification becomes inefficient and expensive, requiring increased hardware resources and deep queuing.
Innovation Solution
A hardware unit in the data processing system receives requests with source tags, maintains pointers to a memory-based completion area, and provides asynchronous completion notification by updating a completion granule with a status value, eliminating the need for polling and reducing resource utilization.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If hardware lock registers are used for asynchronous completion notification, then completion status can be tracked, but hardware resource consumption increases significantly in large-scale systems
Solution Approach 1:
The patent replaces physical hardware lock registers with virtual memory-based completion granules. Each thread has a completion area in its address space with granules that copy the completion status function, eliminating the need for numerous physical registers while maintaining reliable completion notification across multiple cores and threads.
2Ease of operation
If hardware lock registers are used for arbitration, then access coordination is achieved, but queuing depth increases in large-scale data processing systems
Solution Approach 1:
The patent transitions from a hardware-based single-dimension arbitration approach to a memory-based multi-dimensional solution. By using virtual memory completion granules accessible across multiple address spaces, the system eliminates deep queuing delays while maintaining coordination, as threads can efficiently check completion status without blocking in hardware queues.
3Loss of information
If polling is used to detect completion, then completion status can be detected, but processing efficiency decreases
Solution Approach 1:
The patent implements an efficient feedback mechanism where completion granules in memory provide immediate status updates to threads. When a hardware unit completes processing, it updates the appropriate completion granule, which the thread can quickly check without continuous polling, reducing wasted cycles while ensuring reliable completion detection.
Data Source
AI summary
Asynchronous completion notification is provided in a data processing system including one or more cores each executing one or more threads. A hardware unit of the data processing system receives and enqueues a request for processing and a source tag indicating at least a thread and core that issued the request. The hardware unit maintains a pointer to a completion area in a memory space. The completion area includes a completion granule for the hardware unit and thread. The hardware unit performs the processing requested by the request and computes an address of the completion granule based on the pointer and the source tag. The hardware unit then provides completion notification for the request by updating the completion granule with a value indicating a completion status.


