Credit-Based Resource Allocator Circuit for Load Balancing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing resource allocator circuits in network appliances face challenges in efficiently allocating tasks across processing entities, particularly in balancing load and identifying the most suitable processing entity with available resources, especially when multiple entities can perform the same tasks and some become overburdened.
Innovation Solution
A high-speed credit-based resource allocator circuit utilizing bubble sorting module circuits organized in chains, where each module stores resource and processing entity values, allowing for efficient allocation and load balancing by swapping values to ensure the processing entity with the most available resources is chosen for task allocation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If traditional resource allocation schemes (round-robin, weighted round-robin) are used, then task allocation is performed, but the allocation does not accurately reflect actual resource availability and processing entities may become overburdened
Solution Approach 1:
The patent implements a feedback mechanism where processing entities send allocation response messages back to the allocator circuit when tasks are completed. The allocator circuit uses this feedback to update credit values in bubble sorting module circuits, ensuring that resource availability information is continuously refreshed and reflected in subsequent allocation decisions. This closed-loop feedback system resolves the contradiction by maintaining accurate resource tracking through responsive updates rather than complex continuous monitoring.
Solution Approach 2:
Processing entities autonomously manage their own resource states by generating allocation response messages that indicate when resources become available. Instead of the allocator circuit continuously querying each processing entity, the system allows processing entities to self-report their resource availability, simplifying the overall tracking mechanism while maintaining accurate productivity information.
2Measurement precision
If the allocator monitors all processing entities to identify the most suitable one, then accurate resource availability is tracked, but the allocation speed decreases due to comprehensive monitoring requirements
Solution Approach 1:
The patent introduces bubble sorting module circuits as intermediary elements between the allocator circuit and processing entities. These intermediary modules store credit values and automatically perform bubble sorting operations to identify the processing entity with the most available resources. This intermediary layer resolves the contradiction by handling the complex comparison and selection logic in hardware, enabling accurate resource tracking without requiring slow software-based monitoring of all entities.
Solution Approach 2:
The patent replaces traditional software-based resource monitoring and selection algorithms with hardware-based bubble sorting circuitry. The bubble sorting module circuits use dedicated hardware logic to compare credit values and identify the optimal processing entity, substituting mechanical/combinatorial logic for software processing. This substitution resolves the speed-accuracy contradiction by performing accurate resource availability tracking through parallel hardware comparisons rather than sequential software monitoring.
3Reliability
If load balancing is implemented to spread processing evenly, then overburdening is reduced, but the complexity of managing multiple processing entities increases
Solution Approach 1:
The patent uses credit values as dynamic parameters that change based on resource availability. By modifying the credit parameter in response to allocation requests and completions, the system automatically adjusts load distribution without requiring complex management logic. The bubble sorting mechanism then uses these changed parameters to identify the optimal processing entity, resolving the contradiction by using simple parameter updates rather than complex management procedures.
Solution Approach 2:
The patent segments the resource allocation function into distinct components: the allocator circuit receives allocation requests, bubble sorting module circuits perform load balancing based on credit values, and processing entities execute tasks. This segmentation resolves the management complexity issue by distributing functions across specialized components rather than requiring a single complex management system to handle all aspects of load balancing.
Data Source
AI summary
A high-speed credit-based allocator circuit receives an allocation request to make an allocation to one of a set of a processing entities. The allocator circuit maintains a chain of bubble sorting module circuits for the set, where each bubble sorting module circuit stores a resource value and an indication of a corresponding processing entity. A bubble sorting operation is performed so that the head of the chain tends to indicate the processing entity of the set that has the highest amount of the resource (credit) available. The allocation requested is made to the processing entity indicated by the head module circuit of the chain. The amount of the resource available to each processing entity is tracked by adjusting the resource values as allocations are made, and as allocated tasks are completed. The allocator circuit is configurable to maintain multiple chains, thereby supporting credit-based allocations to multiple sets of processing entities.


