Write Transaction Bandwidth Limiting in Computer Networks
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In computer systems, aggressive peripheral components can consume available bandwidth on switches, leading to increased latency and reduced performance for other components due to unequal bandwidth consumption and lack of effective load balancing for write transactions.
Innovation Solution
A system that includes a bandwidth-allocation apparatus providing a write transaction limit for components, managed by a transaction-management apparatus, which restricts or allows write transactions based on the limit, and provides completion notifications to manage outstanding transactions and ensure fair bandwidth usage across the network.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a peripheral component transmits write transactions aggressively to the root complex, then the throughput for that component is improved, but other peripheral components experience increased latency and reduced performance due to bandwidth consumption
Solution Approach 1:
The system performs preliminary actions by establishing flow control credits before transactions occur. The root complex allocates credits to peripheral components based on their priority and bandwidth requirements, allowing the system to prevent bandwidth exhaustion before it causes latency issues for other components.
Solution Approach 2:
The system implements feedback mechanisms where completion notifications are sent from the root complex back to peripheral components. This feedback loop allows the system to track outstanding transactions and adjust flow control dynamically, ensuring that aggressive components don't starve others of bandwidth.
2Device complexity
If write transactions are allowed to proceed without bandwidth limiting, then the simplicity of the system is maintained, but bandwidth starvation occurs and load balancing is ineffective
Solution Approach 1:
The system introduces an intermediary mechanism - flow control credits - that mediates between peripheral components and the root complex. These credits act as a buffer that allows the system to maintain simplicity at the component level while implementing sophisticated bandwidth management at the network level.
Solution Approach 2:
The system changes key parameters such as the number of flow control credits allocated and the timing of completion notifications to achieve bandwidth fairness. By dynamically adjusting these parameters based on component priority and current network conditions, the system maintains reliability without requiring complex changes to the fundamental transaction structure.
Data Source
AI summary
The disclosed embodiments provide a system that facilitates use of a network of components in a computer system. The system includes a bandwidth-allocation apparatus that provides a write transaction limit for a component on the network. The system also includes a transaction-management apparatus that compares the write transaction limit to a set of outstanding write transactions for the component upon detecting a write transaction from the component to the network. If the write transaction causes the set of outstanding write transactions to exceed the write transaction limit, the transaction-management apparatus restricts transmission of the write transaction over the network.


