High-Performance Computer Packet Handling with Specialized Timeouts
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing high-performance computing systems lack the ability to distinguish between different types of packet transmission issues, such as link failures, node congestion, and node downtime, leading to inefficient retransmission strategies and reduced network reliability.
Innovation Solution
Implementing a node configuration in high-performance computers with distinct timeouts and message types to detect and manage link failures, node availability, and congestion, including transport-level and application-level timeouts, heartbeat messages, and negative acknowledgments to differentiate and address these issues.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If a single timeout mechanism is used to detect packet transmission issues, then the system is simple to implement, but it cannot distinguish between different types of network issues (link failure, congestion, node down)
Solution Approach 1:
The single timeout mechanism is segmented into three distinct timeout mechanisms with different time periods: first timeout for link failure detection, second timeout for node availability detection via heartbeat messages, and third timeout for congestion detection via negative acknowledgments. Each timeout is specialized for a specific type of issue detection, enabling precise differentiation between link failures, node downtime, and network congestion.
Solution Approach 2:
Heartbeat messages and negative acknowledgment messages are introduced as intermediary elements to facilitate precise issue detection. Heartbeat messages act as intermediaries to detect node availability, while negative acknowledgments serve as intermediaries to signal congestion conditions to sending nodes, enabling the system to distinguish between different transmission issues.
2Reliability
If heartbeat messages are sent periodically to all nodes to detect failures, then node availability can be detected, but it generates a large number of messages in clusters with tens of thousands of nodes
Solution Approach 1:
Instead of sending heartbeat messages to all nodes uniformly, the system applies local quality by sending heartbeat messages only to nodes with which the current node has pending transactions. This selective approach maintains reliable detection of node availability for relevant communications while significantly reducing the total number of heartbeat messages generated in large-scale clusters.
3Speed
If packets are retransmitted immediately upon timeout, then transmission speed is maintained, but congestion conditions worsen due to increased network traffic
Solution Approach 1:
The system applies preliminary anti-action by implementing congestion detection through negative acknowledgments before retransmission occurs. When a node detects congestion, it sends a negative acknowledgment to sending nodes, which then delay retransmission. This preemptive measure prevents additional packets from being injected into an already congested network, maintaining both retransmission speed and network stability.
Solution Approach 2:
The retransmission mechanism is made dynamic by adjusting retransmission timing based on congestion conditions. Instead of fixed immediate retransmission, the system dynamically delays retransmission when congestion is detected via negative acknowledgments, allowing the network to stabilize before additional traffic is introduced, thus balancing speed and reliability.
Data Source
AI summary
The invention concerns a High-Performance Computer that includes a plurality of nodes. Each node waits for a first time period after sending a packet, and retransmits the packet if an acknowledgement for the packet has not been received in the first time period. Each node also periodically sends a heartbeat message to each other node having a pending transaction with the node, waits for a second time period after sending a heartbeat message, and aborts the pending transaction if an acknowledgement for the heartbeat message has not been received in the second period. When receiving a negative acknowledgement after sending a packet, the each node retransmits the packet after a third time period starting from the reception of the negative acknowledgement, waits for a fourth time period and drop a packet if the node is congested during the fourth period, and sends a negative acknowledgement message.
