Round-Robin Arbitrator for Balanced AFU Memory Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvetask distribution capabilityVSAvoidAFU performance utilization
Core Design Contradiction:
Adaptability or versatilityVSProductivity

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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.

Inventive Principle:
Principle #19Periodic action

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

Engineering Contradiction:
Improvememory access speedVSAvoidmemory space allocation flexibility
Core Design Contradiction:
SpeedVSAdaptability or versatility

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improvetask distribution capabilityVSAvoidresource consumption for context switch
Core Design Contradiction:
Ease of operationVSLoss of energy

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.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS11256633B2Processing system with round-robin mechanism and its memory access method
Publication Date: 2022.02.22 VIA ALLIANCE SEMICON CO LTD
  • US11256633B2 patent drawing
  • US11256633B2 patent drawing
  • US11256633B2 patent drawing

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.