SoC Workload Allocation Across Accelerators, NICs, and Ports
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Balancing input/output (IO) data traffic across network paths in hardware processing systems is challenging, particularly in distributed computing platforms, leading to inefficiencies, increased latency, and reduced bandwidth due to continuous monitoring and adjustment of load balancing across multiple network ports.
Innovation Solution
A hierarchical load balancing method that divides computer workloads across hardware accelerators, network interface controllers (NICs), and network ports, ensuring even distribution and reducing the need for continuous monitoring, thereby improving system performance and bandwidth.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If continuous monitoring and adjustment of load balancing is performed across multiple network ports, then load distribution can be maintained, but system latency increases and bandwidth decreases
Solution Approach 1:
The patent applies preliminary action by pre-calculating and storing optimal load balancing decisions in lookup tables before runtime. The load balancing controller pre-computes distribution strategies based on historical data and system characteristics, then directly retrieves pre-determined routing decisions during operation without real-time calculation, thereby maintaining reliable load distribution while eliminating continuous monitoring overhead and reducing latency
Solution Approach 2:
The patent uses copying by creating simplified models of complex load balancing scenarios and storing them as lookup tables. Instead of performing complex real-time calculations, the system copies pre-analyzed optimal solutions into easily accessible data structures that can be queried instantly, trade-offing some memory usage for dramatically reduced processing time and eliminated continuous monitoring
2Reliability
If continuous monitoring and adjustment of load balancing is performed across multiple network ports, then load distribution can be maintained, but bandwidth is reduced
Solution Approach 1:
The patent applies preliminary action by pre-calculating and storing optimal load balancing decisions in lookup tables before runtime. The load balancing controller pre-computes distribution strategies based on historical data and system characteristics, then directly retrieves pre-determined routing decisions during operation without real-time calculation, thereby maintaining reliable load distribution while eliminating continuous monitoring overhead and reducing latency
Solution Approach 2:
The patent uses copying by creating simplified models of complex load balancing scenarios and storing them as lookup tables. Instead of performing complex real-time calculations, the system copies pre-analyzed optimal solutions into easily accessible data structures that can be queried instantly, trade-offing some memory usage for dramatically reduced processing time and eliminated continuous monitoring
3Productivity
If workload is distributed across multiple hardware accelerators and NICs, then processing capacity increases, but system complexity increases
Solution Approach 1:
The patent applies segmentation by dividing the complex workload distribution task into distinct hierarchical layers: the load balancing controller segment handles high-level accelerator assignment, while individual NICs segment the network transmission tasks. This hierarchical segmentation allows each component to manage a simplified subset of the overall complexity, enabling scalable processing capacity without linearly increasing system complexity
Solution Approach 2:
The patent uses an intermediary approach by introducing a dedicated load balancing controller that acts as a mediator between the workload source and multiple hardware accelerators. This intermediary centralizes the complex decision-making logic for workload distribution, while downstream NICs handle simplified network-specific tasks, thereby enabling high processing capacity through clear separation of concerns and reduced inter-component complexity
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A method (200) for computer workload allocation at a system-on-chip (SoC) (100) includes, at a load balancing controller (102) of the SoC (100), dividing a computer workload (104) for distributed processing between each of a plurality of hardware accelerators (106) of the SoC (100) as a plurality of accelerator-specific data allocations (108). At a hardware accelerator of the plurality of hardware accelerators (106), after receiving an accelerator-specific data allocation (108) from the load balancing controller (102), a resulting dataset output by the hardware accelerator (106) is divided between a plurality of network interface controllers (NICs) (110) of the SoC (100) as a plurality of NIC-specific data allocations (112). At an NIC of the plurality of NICs (110) an NIC-specific data allocation (112) assigned to the NIC (110) is divided between a plurality of network ports (114) of the NIC (110) for transmission over a computer network (118).