Reforming Application Control Tree Without Termination
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Massively parallel processing systems face frequent node failures, leading to significant computing resources being expended in terminating applications, reallocating nodes, and rebuilding control trees from scratch, which reduces efficiency and increases overhead.
Innovation Solution
A reconnection system that detects node failures and allows unaffected nodes to reconnect and re-form the control tree without terminating the application, maintaining existing connections and reallocating resources efficiently.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the system terminates the application and rebuilds the control tree from scratch upon detecting a node failure, then the system can ensure proper reorganization of compute nodes, but significant computing resources are expended and application execution is interrupted
Solution Approach 1:
The system performs preliminary actions by maintaining the application execution state and preserving existing control tree structures before failure recovery. Instead of terminating the application first, the system keeps it running and prepares the control tree reorganization in advance, allowing seamless integration after node failure detection.
Solution Approach 2:
The application execution continues uninterrupted throughout the failure recovery process. The system maintains continuous useful action by allowing the application to run on surviving nodes while the control tree is being reorganized, eliminating idle time and resource waste associated with application termination and restart.
2Stability of the object's composition
If the system reallocates all compute nodes and rebuilds the entire control tree after a failure, then the control tree structure is properly restored, but computing resources are wasted and overhead increases
Solution Approach 1:
The control tree reorganization is segmented into localized adjustments rather than complete reconstruction. Only the affected portions of the control tree involving the failed node and its descendants are reorganized, while the rest of the tree remains intact and functional, reducing the scope of work required.
Solution Approach 2:
The system discards only the minimal necessary portions of the control tree affected by the failure (the failed node and its subtree) while recovering and preserving the majority of the existing control tree structure. This selective approach avoids the energy expenditure of rebuilding the entire tree from scratch.
3Reliability
If the system terminates the application upon node failure, then proper failure handling is ensured, but the overhead of restarting and reallocating nodes increases
Solution Approach 1:
The system performs preliminary failure handling by detecting node failures and reorganizing the control tree while the application continues to run. This preliminary action prepares the system for failure recovery without interrupting application execution, eliminating the time loss associated with termination and restart cycles.
Solution Approach 2:
The application execution maintains continuity throughout the failure handling process. By keeping the application running on surviving nodes while performing control tree reorganization, the system eliminates idle time and ensures that useful computational action continues without interruption.
Data Source
AI summary
A reconnection system re-forms a control tree for an application that is executed in parallel without terminating execution of the application. The reconnection system detects when a node of a control tree has failed and directs the nodes that have not failed to reconnect to effect the re-forming of the control tree without the failed node and without terminating the application. Upon being directed to reconnect, a node identifies new child nodes that are to be its child nodes in the re-formed control tree. The node maintains the existing connection with each of its current child nodes that is also a new child node, terminates the existing connection with each of its current child nodes that is not also a new child node, establishes a new connection with any new child node that is not a current child node, and directs each new child node to reconnect.


