Processor Block Scheduling via ID Remapping for Data Locality
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing parallel processor scheduling methods lack flexibility in optimizing block execution order, leading to suboptimal performance due to unawareness of data locality and hardware-specific policies, causing variations in computation efficiency across different platforms.
Innovation Solution
A method and system for block scheduling that retrieves original block IDs, determines corresponding new IDs using a stored mapping, and executes them, allowing for flexible control of workgroup scheduling order based on platform-specific information, enhancing computation performance without modifying the kernel.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If hardware scheduling policies are used to manage block execution, then blocks can be executed in parallel, but performance varies across different hardware platforms due to unknown scheduling order and platform-specific policies
Solution Approach 1:
The system performs preliminary analysis of the kernel to identify data locality patterns before execution. It pre-computes optimal scheduling policies based on the kernel's memory access patterns and stores them in a lookup table, allowing the hardware to directly retrieve and apply the optimal schedule without runtime analysis, thus achieving both high performance and platform adaptability
Solution Approach 2:
The patent introduces an intermediary layer between the kernel and the hardware scheduler. This intermediary is a lookup table that maps original block IDs to remapped block IDs based on pre-computed optimal schedules. The lookup table acts as a mediator that translates generic kernel blocks into platform-specific execution orders, enabling performance optimization without modifying the actual kernel code or requiring hardware-aware programming
2Productivity
If block execution order is optimized based on data locality, then computation performance improves, but the scheduling system becomes more complex due to need for mapping and remapping
Solution Approach 1:
The system creates a copy of the block scheduling infrastructure that includes a lookup table mapping original block IDs to remapped block IDs. This copy contains all the optimization information needed for platform-specific scheduling without requiring modification of the original kernel or complex runtime analysis logic, thus achieving performance optimization with minimal added complexity
Solution Approach 2:
The complex scheduling logic is performed in advance during kernel analysis, not during execution. The optimal scheduling policy is pre-computed and stored in the lookup table, transforming the runtime scheduling problem into a simple table lookup operation, which significantly reduces the complexity of the execution-time scheduling system
Data Source
AI summary
A method and a system for block scheduling are disclosed. The method includes retrieving an original block ID, determining a corresponding new block ID from a mapping, executing a new block corresponding to the new block ID, and repeating the retrieving, determining, and executing for each original block ID. The system includes a program memory configured to store multi-block computer programs, an identifier memory configured to store block identifiers (ID's), management hardware configured to retrieve an original block ID from the program memory, scheduling hardware configured to receive the original block ID from the management hardware and determine a new block ID corresponding to the original block ID using a stored mapping, and processing hardware configured to receive the new block ID from the scheduling hardware and execute a new block corresponding to the new block ID.


