Accelerator Load Balancing via Dynamic Queue Migration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In systems with multiple accelerators, unbalanced load distribution leads to underutilization of hardware accelerators, as existing technologies fail to efficiently manage and balance the workload across these accelerators, particularly in multi-user and multi-task operating systems.

Innovation Solution

A balancing device comprising a loading monitor and balancer that tracks busy periods and execution cycles of accelerators, adjusting command queues to equalize duty cycles and ensure balanced workload distribution by moving queues between accelerators when necessary.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple accelerators are placed in the same chip to enable sharing among multiple applications, then the system can support parallel execution of multiple applications, but the load distribution becomes unbalanced leading to underutilization of hardware accelerators

Engineering Contradiction:
Improveparallel execution capabilityVSAvoidload distribution balance
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The patent implements a feedback mechanism where the loading monitor continuously monitors the busy periods of multiple accelerators, and the loading balancer uses this feedback information to dynamically adjust command queue assignments. This closed-loop control ensures that load distribution is continuously optimized based on actual accelerator utilization, resolving the contradiction between parallel execution capability and load balance.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent introduces dynamic load balancing by continuously monitoring accelerator busy periods and adjusting command queue assignments in real-time. Instead of static assignment, the system adapts to changing workload conditions, dynamically redistributing tasks to maintain balanced utilization across all accelerators while preserving parallel execution capabilities.

Inventive Principle:
Principle #15Dynamics

2Productivity

If accelerators are not well dispatched, then the loads on accelerators become unbalanced, but implementing load balancing requires additional monitoring and control mechanisms

Engineering Contradiction:
Improveaccelerator utilizationVSAvoidmonitoring and control structure
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The loading monitor and loading balancer components serve multiple functions: they monitor busy periods, calculate duty cycles, make balancing decisions, and manage command queue assignments. This multi-functionality consolidates the control infrastructure, reducing overall system complexity while achieving effective load balancing and maximizing accelerator utilization.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The system implements self-service load balancing where the loading monitor and balancer automatically detect imbalances and redistribute workloads without external intervention. The accelerators themselves provide the necessary busy period information, and the control logic autonomously makes balancing decisions, reducing the need for complex external management infrastructure.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10331494B2Balancing the loadings of accelerators
Publication Date: 2019.06.25 VIA ALLIANCE SEMICON CO LTD
  • US10331494B2 patent drawing
  • US10331494B2 patent drawing
  • US10331494B2 patent drawing

AI summary

A balancing device, which is configured to balance a first duty cycle of a first accelerator and a second duty cycle of a second accelerator, includes a loading monitor and a loading balancer. The loading monitor is configured to monitor a first busy period of the first accelerator and a second busy period of the second accelerator. The loading balancer calculates the first duty cycle and the second duty cycle according to the first busy period and the second busy period, and moves at least one command queue of the first accelerator and the second accelerator according to the first duty cycle and the second duty cycle, such that the first duty cycle is close to the second duty cycle.