I/O Routing in Multidimensional Torus Networks
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current massively parallel computing systems, such as the Blue Gene series, face inefficiencies in routing I/O packets between compute nodes and I/O nodes due to separate networks for point-point, collective, and I/O communications, which increases costs and reduces performance.
Innovation Solution
A method is introduced to route data packets through a multidimensional torus network by assigning a toio value to each packet, allowing it to be routed to an associated I/O node, and using ioreturn values to route packets back through the torus network, thereby utilizing torus links as additional I/O links and reducing memory and processor utilization.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If separate networks are used for point-point, collective, and I/O communications, then communication functions are well-supported, but system cost and device complexity increase
Solution Approach 1:
The patent merges point-point, collective, and I/O communication networks into a single unified torus network. The same physical network infrastructure and routing mechanisms are used for all three communication types, eliminating the need for separate dedicated networks. This reduces device complexity and cost while maintaining full communication functionality through software-based differentiation of communication types.
Solution Approach 2:
The torus network is designed to serve multiple communication functions universally. The same network links and routing logic handle point-point messages, collective operations, and I/O traffic by interpreting communication type from packet headers and applying appropriate routing rules. This multi-functional approach eliminates redundant infrastructure while preserving all required communication capabilities.
2Reliability
If separate networks are used for different communication types, then communication reliability is maintained, but system cost increases
Solution Approach 1:
Multiple communication types share a single physical network infrastructure, reducing the total amount of hardware required. The unified torus network uses the same physical links for point-point, collective, and I/O communications, thereby reducing system cost while maintaining reliability through proper packet routing and error handling mechanisms.
3Productivity
If torus links are used for both compute node communication and I/O communication, then link utilization improves, but routing complexity increases
Solution Approach 1:
The routing logic is segmented by communication type, with specific routing rules defined for point-point messages, collective operations, and I/O traffic. Each segment handles its specific communication type according to predetermined rules, making the overall complex routing process manageable through modular rule sets rather than a monolithic complex algorithm.
Solution Approach 2:
The routing behavior changes based on packet parameters such as communication type indicators in the packet header. The routing logic adapts its behavior by detecting the communication type from packet metadata and applying the appropriate routing rules, allowing flexible handling of multiple communication types through a single unified routing system.
Data Source
AI summary
A method, system and computer program product are disclosed for routing data packet in a computing system comprising a multidimensional torus compute node network including a multitude of compute nodes, and an I/O node network including a plurality of I/O nodes. In one embodiment, the method comprises assigning to each of the data packets a destination address identifying one of the compute nodes; providing each of the data packets with a toio value; routing the data packets through the compute node network to the destination addresses of the data packets; and when each of the data packets reaches the destination address assigned to said each data packet, routing said each data packet to one of the I/O nodes if the toio value of said each data packet is a specified value. In one embodiment, each of the data packets is also provided with an ioreturn value used to route the data packets through the compute node network.


