Process Migration Based on Service Availability in Multi-Node Systems
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In multi-node parallel computing systems, processes often face disruptions due to unavailability or busy nodes, leading to inefficiencies in resource utilization and task distribution, as existing methods fail to effectively migrate tasks to idle nodes without disrupting the system's configuration.
Innovation Solution
A method is implemented to migrate processes across compute nodes based on service availability, allowing idle nodes in other pools to perform tasks when destination nodes are unavailable, and utilizing statistics to predict and optimize node distribution for better resource allocation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If tasks are assigned to specific nodal pools based on service availability, then task execution reliability is improved, but system resource utilization deteriorates when destination nodes are unavailable
Solution Approach 1:
The system dynamically determines whether destination compute nodes are available to perform their assigned tasks. If unavailable, the system dynamically switches to executing those tasks on source compute nodes instead, allowing the task execution path to adapt based on real-time node availability status
Solution Approach 2:
Compute nodes are designed with multi-functionality where source compute nodes can perform both their primary tasks and secondary tasks originally assigned to destination nodes. This universal capability allows any compute node to execute any task type, enabling flexible task migration and improved resource utilization
2Productivity
If the system allows compute nodes to perform multiple task types, then resource utilization is improved, but device complexity increases
Solution Approach 1:
The system segments tasks into primary tasks and secondary tasks, and separates the determination logic for task execution. By dividing the task execution process into distinct decision points (checking destination node availability, selecting alternative execution locations), the system manages complexity through structured segmentation rather than monolithic control
3Productivity
If tasks are migrated to idle nodes, then resource utilization is improved, but task execution time may increase due to additional determination steps
Solution Approach 1:
The system performs preliminary determination of destination node availability before task execution begins. By checking whether destination compute nodes are available in advance and proactively selecting alternative execution locations if needed, the system avoids time-consuming delays during actual task execution
Solution Approach 2:
The system ensures continuous task execution by immediately switching to source compute nodes when destination nodes are unavailable, rather than idleing or queuing the task. This continuous execution approach minimizes interruptions and reduces overall task completion time despite the added determination logic
Data Source
AI summary
A process on a highly distributed parallel computing system is disclosed. When a first compute node in a first pool is ready to hand-off a task to second pool for further processing, the first compute node may first determine whether a node is available in the second pool. If no node is available from the second pool, then the first compute node may begin performing a primary task assigned to the second pool of nodes, up to the point where a service available exclusively to the nodes of the second pool is required. In the interim, however, one of the nodes of the second pool may become available. Alternatively, an application program running on a compute node may be configured with an exception handling routine that catches exceptions and migrates the application to a compute node where a necessary service is available, as such exceptions occur.


