Work Distribution Unit Balancing GPC Load via Counter Metrics
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Modern computer systems face reduced processing throughput due to unequal processing capabilities among processing units and varying batch processing times, leading to stalled work distribution units and inefficient workload balancing.
Innovation Solution
A method for distributing batches of processing tasks to general processing clusters (GPCs) by updating counter values based on the number of enabled parallel processing units and distributing tasks proportionally, along with load signals, to balance workload across GPCs.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If work batches are distributed to processing units using round-robin policy, then workload distribution is simplified, but processing throughput is reduced due to stalls caused by unequal processing capabilities
Solution Approach 1:
The patent changes the distribution parameter from simple round-robin ordering to a weighted distribution mechanism that incorporates processing capability metrics. Each processing unit is assigned a weight based on its capabilities (number of processors, memory bandwidth, storage speed), and work batches are distributed proportionally to these weights, eliminating stalls while maintaining systematic distribution.
Solution Approach 2:
The work distribution mechanism transitions from a static round-robin sequence to a dynamic allocation system that continuously monitors and adjusts based on processing unit capabilities and current workload status. The system dynamically calculates optimal distribution ratios and adapts to changing conditions, preventing stalls before they occur.
2Device complexity
If work batches are distributed without considering processing unit capabilities, then distribution mechanism is simpler, but processing throughput is reduced due to disproportionate completion times
Solution Approach 1:
The patent introduces capability-based parameters (processor count, memory bandwidth, storage speed) into the distribution decision-making process. These parameters are used to calculate weighted shares of work batches for each processing unit, ensuring that units with higher capabilities receive proportionally more work and complete tasks faster, thereby increasing throughput without excessive complexity.
Solution Approach 2:
The system incorporates feedback mechanisms where processing units report their completion status and capability metrics to the work distribution unit. This feedback loop enables the distribution unit to adjust future allocations based on actual performance data and capability variations, optimizing throughput while managing complexity through automated adaptive control.
3Stability of the object's composition
If work distribution unit waits for all processing units to finish before distributing next batch, then workload balancing is achieved, but processing throughput is reduced due to sequential dependency
Solution Approach 1:
The patent implements preliminary action by calculating and preparing work batch allocations in advance based on predicted processing times and capability metrics. The work distribution unit proactively schedules batches for multiple processing units simultaneously rather than sequentially waiting for completion, maintaining workload balance while enabling parallel progress and increasing throughput.
Solution Approach 2:
The system dynamically adjusts the timing and sequencing of work batch distributions based on real-time status information from processing units. Instead of rigid sequential waiting, the system flexibly schedules batches to arrive at processing units at optimal moments, maintaining balance while maximizing parallel processing efficiency and throughput.
Data Source
AI summary
A work distribution unit distributes work batches to general processing clusters (GPCs) based on the number of streaming multiprocessors included in each GPC. Advantageously, each GPC receives an amount of work that is proportional to the amount of processing power afforded by the GPC. Embodiments include a method for distributing batches of processing tasks to two or more general processing clusters (GPCs), including the steps of updating a counter value for each of the two or more GPCs based on the number of enabled parallel processing units within each of the two or more GPCs, and distributing a batch of processing tasks to a first GPC of the two or more GPCs based on a counter value associated with the first GPC and based on a load signal received from the first GPC.


