Deadlock Prevention in Direct Networks Using Turn Rules and Virtual Channels
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing routing schemes in computer networks often lead to deadlock conditions, which cause data loss and require network restarts, especially when network configurations change or specific topologies are missing links or switches.
Innovation Solution
Implementing a blocking flow control method that assigns unique identifiers to each switch and sets a turn rule to prevent deadlock by prohibiting packet routing from switch A to switch C via switch B if the identifier of switch B is not between the identifiers of switches A and C, and using virtual channels to allow rule violations under specific conditions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If flow control mechanisms are used to stall traffic on links, then traffic control capability is improved, but deadlock conditions occur causing data loss and network restart requirements
Solution Approach 1:
The network links are segmented into multiple virtual channels (VC0, VC1, VC2, VC3) that operate independently. Each virtual channel can stall traffic independently without causing system-wide deadlock, as packets can switch between virtual channels to bypass stalled links. This segmentation isolates the impact of flow control operations.
Solution Approach 2:
Virtual channels act as intermediaries between physical links and packet routing. The routing mechanism uses virtual channel identifiers to mediate packet flow, allowing packets to be redirected through alternative virtual channels when deadlock conditions are detected, thus preventing complete network failure.
2Reliability
If turn model restrictions are imposed for each network topology type, then deadlock is prevented, but the technique fails when network topology changes or links/switches are missing
Solution Approach 1:
The virtual channel mechanism provides a universal deadlock prevention approach that works across all network topologies without requiring topology-specific routing rules. The same virtual channel stalling and switching mechanism applies whether the network is mesh, torus, or has arbitrary topology changes, making the solution multi-functional and adaptable.
Solution Approach 2:
The routing mechanism dynamically adapts to topology changes by using virtual channel identifiers and adaptive routing algorithms. When links or switches fail, the system dynamically recalculates routes using the virtual channel framework without requiring static, topology-specific configurations, enabling the system to handle dynamic network conditions.
3Reliability
If up*/down* routing with spanning tree is used to cover arbitrary networks, then deadlock is addressed, but link load imbalance occurs near the root and network restart is required when links/switches go down
Solution Approach 1:
By segmenting the network into multiple virtual channels, traffic load can be distributed across different virtual channel paths rather than being concentrated on single spanning tree paths. This reduces load imbalance near the root by providing alternative routes through different virtual channels.
Solution Approach 2:
The virtual channel mechanism enables dynamic route selection and load balancing. Traffic can be dynamically routed through different virtual channels based on current network conditions, preventing the static load imbalance problems of spanning tree routing and avoiding network restarts when topology changes occur.
4Reliability
If folded Clos or fat tree route restrictions are imposed, then deadlock is addressed, but routing becomes unduly limiting
Solution Approach 1:
The patent adds a new dimension to routing by introducing virtual channel identifiers as an additional degree of freedom. Instead of restricting routing in the physical network dimension, packets can switch between virtual channels, providing routing flexibility without imposing restrictive physical path constraints.
Data Source
AI summary
Aspects of the invention pertain to routing packets in a computer system while avoiding deadlock. A turn rule is set according to unique identifiers associated with switches in the system. Numeric values of switches in possible turns are compared to determine whether a turn is permissible. The rule applies to all nodes in the system. The rule may be violated when using virtual channels. Here, a violation is permissible when using monotonically increasing virtual channel numbers or monotonically decreasing virtual channel numbers. Alternatively, the violations of the turn rule may be allowed if they force a packet to change to a later virtual channel in some fixed ordering of virtual channels. Deadlock can thus be avoided in many different types of architectures, including mesh, torus, butterfly and flattened butterfly configurations.


