Round-Robin Arbitrator for Balanced AFU Memory Access
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current heterogeneous processor systems face inefficiencies due to fixed system memory allocation for accelerator function units (AFUs), requiring context switches and unbalanced task distribution, which leads to suboptimal performance in multi-user and multi-task environments.
Innovation Solution
A processing system employing a round-robin mechanism to dynamically allocate memory access requests among AFUs, using an arbitrator and pipeline resources to share virtual address spaces and optimize task execution.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If multiple AFUs are arranged in one chip to share tasks, then task distribution capability is improved, but without coordination the task distribution becomes unbalanced and performance cannot be fully utilized
Solution Approach 1:
An arbitrator is introduced as an intermediary component between multiple AFUs and the pipeline resource. The arbitrator coordinates memory access requests from different AFUs using a round-robin mechanism, ensuring balanced task distribution and preventing any single AFU from being starved of work, thereby fully utilizing the performance of all AFUs in the system.
Solution Approach 2:
The arbitrator employs a round-robin mechanism that periodically cycles through multiple AFUs in a fixed sequence. This periodic action ensures that each AFU receives a fair share of memory access requests over time, maintaining balanced task distribution and preventing performance degradation from unbalanced workload allocation.
2Speed
If AFU is directly connected to main bus and system memory, then access speed is improved, but the available memory space for AFU becomes fixed and cannot be dynamically adjusted
Solution Approach 1:
A memory access unit is introduced as an intermediary between the AFU and the system memory. This unit includes an arbitrator and pipeline resources that manage memory access requests. The AFU can dynamically allocate memory space through this intermediary while maintaining high-speed access, as the intermediary handles the complexity of memory management without slowing down the actual data transfer.
3Ease of operation
If tasks are copied from user space to kernel space for AFU execution, then task distribution is achieved, but context switch operations consume too many resources
Solution Approach 1:
The system merges user space and kernel space memory access by allowing the AFU to directly access memory in its original location without requiring context switches. The arbitrator manages memory access requests from both user space and kernel space uniformly, eliminating the need for separate context switch operations and reducing resource consumption.
Data Source
AI summary
A processing system includes at least one core, a plurality of accelerator function unit (AFU) and a memory access unit. The memory access unit includes at least one pipeline resource and an arbitrator. The core develops a plurality of tasks. Each of the AFU is used to execute at least one of the tasks which corresponds to several memory access requests. The arbitrator selects one of the AFUs using a round-robin method at each clock period to transmit a corresponding memory access request of the selected AFU to the pipeline resource, so that the selected AFU executes the memory access request through the pipeline resource to read or write data related to the task.


