Virtual Channel Hop Buffer Control for Network on Chip Arbitration
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional network on chip (NOC) infrastructures face scalability and predictability issues due to heavy data traffic and power dissipation, particularly with increased hops and processing elements, leading to deadlocks and unfair resource allocation in virtual channel arbitration.
Innovation Solution
Implementing a virtual channel hop buffer control organization where virtual channel buffers are grouped by the number of hops a flit has traveled, with virtual channel identifiers incremented for each hop, ensuring fair allocation and avoiding deadlocks by restricting flits to specific virtual channel buffers based on their hop count.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If virtual channel buffers are organized in a conventional fully-associative manner, then buffer utilization is high, but deadlocks occur and resource allocation becomes unfair
Solution Approach 1:
The virtual channel buffers are segmented into multiple groups, where each group corresponds to a specific hop count range. This segmentation prevents deadlocks by ensuring that flits progress through distinct buffer groups in a predetermined sequence, eliminating circular waiting conditions while maintaining high buffer utilization through dedicated groups for different transmission stages.
Solution Approach 2:
The system performs preliminary action by pre-assigning flits to specific virtual channel buffer groups based on their destination and hop count requirements before transmission begins. This pre-assignment ensures that flits follow a predetermined progression path through buffer groups, preventing deadlocks while optimizing buffer utilization from the outset.
2Adaptability or versatility
If the number of processing elements and hops is increased to improve computational capability, then system functionality is enhanced, but data traffic and power dissipation increase
Solution Approach 1:
The patent applies local quality by implementing hop-count-based buffer group assignment, where each buffer group is optimized for specific transmission distances. This ensures that flits use the most appropriate buffer resources for their specific hop requirements, reducing unnecessary buffer accesses and associated power consumption while maintaining system scalability.
Solution Approach 2:
The system changes parameters by dynamically managing virtual channel buffer group assignments based on hop count. This parameter-based organization allows the system to scale efficiently by optimizing buffer usage patterns for different transmission distances, reducing power dissipation through targeted buffer access rather than exhaustive searches across all buffers.
3Speed
If virtual channel arbitration is performed without hop buffer control, then arbitration speed is fast, but resource allocation fairness deteriorates
Solution Approach 1:
Arbitration is segmented into buffer group-level decisions rather than individual buffer decisions. The arbiter operates at the buffer group level, selecting which group receives service next, while individual buffers within groups follow a predetermined progression order. This segmentation maintains fast arbitration speed while ensuring fairness through structured group-based resource allocation.
Solution Approach 2:
Buffer groups serve as intermediaries between the arbiter and individual virtual channel buffers. The arbiter makes high-level decisions about which buffer groups receive service, while the hop-count-based group structure ensures fair progression through the network. This intermediary layer maintains arbitration speed while enforcing fairness through the structured group progression mechanism.
Data Source
AI summary
An integrated circuit includes a network on chip (NOC) that includes a plurality of processing elements and a plurality of NOC nodes, interconnected to the plurality of processing elements. The integrated circuit includes logic that is configured to: increment by one, a virtual channel identifier to produce an incremented destination VC identifier, the virtual channel (VC) identifier associated with at least portion of a packet stored in at least one virtual channel buffer; determine that a destination virtual channel buffer corresponding to the incremented destination VC identifier in a destination NOC node in the NOC is available to store the portion of the packet; and in response to the determination, send the portion of the packet and the incremented destination VC identifier to the destination NOC node.


