Virtual-Layer Routing for Deadlock-Free Direct Interconnects
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing routing schemes in high-performance computing networks fail to provide simultaneous deadlock-free multipath capability for all source-destination pairs without requiring significant resources, leading to inefficiencies in network performance, energy consumption, and hardware complexity.
Innovation Solution
A method for generating multiple intra-layer and inter-layer edge-disjoint paths using virtual layers, with a distributed route calculation approach that assigns directions and turn restrictions to prevent deadlocks, suitable for arbitrary topologies and minimizing hardware requirements.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If topology-agnostic routing algorithms are used to provide multipath capability, then path redundancy and robustness are improved, but hardware resources become unbounded due to deadlock resolution requirements
Solution Approach 1:
The network channels are segmented into virtual channels (VC0, VC1, VC2, VC3) with different priorities. High-priority VCs (VC0, VC1) are reserved for critical traffic and protected from deadlocks, while low-priority VCs (VC2, VC3) handle best-effort traffic. This segmentation allows multipath routing without requiring unbounded hardware resources for deadlock resolution.
Solution Approach 2:
Virtual channels act as intermediaries between physical channels and packets. By introducing this intermediate layer, the system can provide multipath routing capability while maintaining bounded hardware resources. The virtual channels mediate resource allocation and prevent deadlocks through priority-based arbitration.
2Productivity
If wormhole routing is used to advance packet heads directly between channels, then throughput is improved, but deadlocks occur when flits form cycles of waiting resources
Solution Approach 1:
The system dynamically assigns priorities to virtual channels based on traffic conditions and packet types. High-priority VCs are used for latency-sensitive traffic to prevent deadlocks, while low-priority VCs handle throughput-oriented traffic. This dynamic prioritization maintains throughput while preventing deadlock cycles.
Solution Approach 2:
The system changes the parameter of channel priority by introducing differentiated virtual channels with varying priority levels. This parameter change allows the system to distinguish between deadlock-prone and deadlock-free paths, enabling throughput optimization without sacrificing deadlock freedom.
3Reliability
If resources are grouped into numbered classes with ascending order enforcement, then deadlocks are prevented, but path diversity is reduced
Solution Approach 1:
The system adds a priority dimension to the traditional single-class resource ordering approach. Instead of only ordering channels by number, packets can select from multiple virtual channels with different priority levels. This dimensional extension maintains deadlock prevention through priority ordering while restoring path diversity through priority-based selection.
4Reliability
If turn restrictions are imposed to remove resource dependencies, then deadlocks are prevented, but routing flexibility is limited
Solution Approach 1:
The system dynamically selects which virtual channel to use based on current network conditions and destination requirements. Rather than imposing static turn restrictions, the system adapts channel selection in real-time, maintaining deadlock freedom through priority-based arbitration while preserving routing flexibility through multiple available VCs.
Data Source
AI summary
A method of routing for direct interconnect networks which generates multiple edge-disjoint paths between all source and destination nodes, while providing deadlock-free routing. The method requires limited use of virtual layers, which makes it suitable for less complex and more energy efficient hardware devices, and inter-layer edge-disjointedness is preferably integrated, which improves the throughput capacity of multipath traffic patterns. The method allows for distributed route calculation, wherein each node is responsible for generation of its own routes without the need for a centralized algorithm controller or elected master (with global knowledge), as it is, for instance, with InfiniBand. The method also involves a method of mapping arbitrary topologies from any dimension to bi-dimensional coordinate system. In addition, the method employs a lower number of turn restrictions than other prior solutions because it uses six direction types instead of only four as used in Up*/Down*. This increase in the number of directions translates into a more diversified set of routes, and consequently, better routing solutions.


