Dynamic Bandwidth Allocation for Multiprocessor Interconnect Latency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In large computer systems, nodes farther from a destination node experience unacceptably long response times due to unequal access to bandwidth, leading to potential system failure, with existing solutions either limiting system size or increasing virtual channels at additional cost.
Innovation Solution
An underserviced transaction source node notifies other nodes of insufficient bandwidth, allowing only ongoing transactions to continue while halting new traffic until the node makes progress, thereby avoiding system failure without incurring high additional costs.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If the number of virtual channels is increased to mitigate latency, then communication latency is improved, but system cost increases due to additional buffering and control resources
Solution Approach 1:
The patent implements dynamic virtual channel allocation where the number of active virtual channels adjusts based on system conditions. During congestion, fewer virtual channels are activated to reduce resource usage, while during normal operation, more channels can be utilized to improve throughput. This dynamic adjustment resolves the contradiction by making the system adaptable rather than statically over-provisioned.
Solution Approach 2:
The system changes the parameter of virtual channel count based on operational needs. Rather than maintaining a fixed high number of virtual channels, the system modifies this parameter dynamically, allocating more channels when latency is not critical and fewer channels when resource constraints are active, thereby balancing performance and cost.
2Reliability
If pre-allocation of bandwidth is implemented to manage latency, then communication reliability is improved, but bandwidth utilization decreases when not all nodes need their allocations
Solution Approach 1:
The patent implements dynamic bandwidth allocation that adjusts pre-allocation levels based on actual system需求和 congestion conditions. When congestion is detected, bandwidth pre-allocation is activated for affected nodes to ensure reliable communication. When the system is underutilized, pre-allocation is reduced or suspended, allowing other nodes to use the freed bandwidth, thus maintaining reliability when needed while maximizing utilization when possible.
Solution Approach 2:
The system performs preliminary bandwidth allocation only when necessary - specifically when congestion is detected and latency becomes a problem. Rather than continuously pre-allocating bandwidth to all nodes, the system activates pre-allocation as a preliminary measure only for nodes experiencing congestion, thereby ensuring reliability for critical transactions while leaving bandwidth available for other uses during normal operation.
3Loss of time
If system size is limited to manage latency, then communication latency is improved, but system scalability is reduced
Solution Approach 1:
The patent enables large-scale systems to maintain low latency through dynamic congestion management. When congestion is detected in parts of the system, the patent activates selective bandwidth pre-allocation and virtual channel adjustment mechanisms that effectively isolate and manage latency-prone regions without limiting the overall system size. This allows the system to scale while maintaining performance through adaptive local adjustments rather than global size constraints.
Data Source
AI summary
In a computing system having a plurality of transaction source nodes issuing transactions into a switching fabric, an underserviced node notifies source nodes in the system that it needs additional system bandwidth to timely complete an ongoing transaction. The notified nodes continue to process already started transactions to completion, but stop the introduction of new traffic into the fabric until such time as the underserviced node indicates that it has progressed to a preselected point.


