Credit Pool Arbitration for Virtual Channel Bandwidth Optimization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
High-performance computer systems face inefficiencies in credit resource management, leading to congestion and delayed non-local memory accesses due to the lack of efficient credit-based arbitration schemes, particularly in integrated circuits with multiple virtual channels.
Innovation Solution
Implementing a credit-based arbitration scheme with dedicated and shared credit pools, where each virtual channel is assigned a static number of credits, and optimizing the shared credit pool by reallocating unused dedicated credits, ensuring continuous data streaming and minimizing gaps in data transmission.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a credit-based arbitration scheme is implemented with multiple virtual channels, then bandwidth utilization and data transmission efficiency are improved, but device complexity and credit management overhead increase
Solution Approach 1:
The credit pool is segmented into multiple virtual channels, with each channel having its own credit counter and arbitration logic. This segmentation allows independent credit management per channel while maintaining overall system efficiency, resolving the contradiction by organizing complexity in a structured, manageable way that improves throughput without overwhelming control overhead
Solution Approach 2:
The credit allocation is made dynamic through automatic adjustment mechanisms that monitor credit consumption patterns and rebalance credits across virtual channels in real-time. This dynamic approach allows the system to adapt to changing workloads, maintaining high productivity while the automation reduces manual management complexity
2Ease of operation
If static credit allocation is used for each virtual channel, then arbitration simplicity is improved, but adaptability to varying data transmission requirements deteriorates
Solution Approach 1:
The system transitions from purely static to dynamically adjustable credit allocation. Credit pools are automatically rebalanced based on monitored usage patterns, allowing the system to adapt to varying transmission requirements while maintaining simple arbitration logic through automated control
Solution Approach 2:
The arbitration system incorporates feedback mechanisms that monitor credit consumption and transmission performance across virtual channels. This feedback drives automatic credit reallocation, enabling adaptability to changing requirements while keeping the arbitration process simple through rule-based automated responses
3Reliability
If dedicated credit pools are allocated to each virtual channel, then channel isolation and reliability are improved, but credit utilization efficiency and bandwidth optimization worsen
Solution Approach 1:
The system merges dedicated and shared credit pools, allowing virtual channels to first utilize their dedicated credits for guaranteed isolation and reliability, then access a shared pool for additional bandwidth when needed. This combination resolves the contradiction by maintaining channel isolation while enabling efficient credit utilization through shared resources
Solution Approach 2:
The shared credit pool serves multiple virtual channels simultaneously, allowing credits to be dynamically allocated to any channel that needs them. This multi-functional approach maintains the reliability benefits of dedicated pools while achieving the efficiency gains of shared resources, as the same credit pool serves multiple purposes and channels
Data Source
AI summary
Systems and methods are provided for managing data transmissions in integrated circuits using a handshake, credit path, and data path. For example, the handshake between transmission and receiving sides can enable information to be passed over a separate path from the data path. Based on a calculated round trip delay, the system can identify the number of top level flops or registers needed in the credit path, which can be the same as the number of top level flops or registers in the data path. The receiving side can calculate the required number of credits per requested virtual channel based on the available queuing resources of the receiving side and the round trip delay of the data path, in order to ensure full bandwidth data streaming on the channel.


