Process Migration Based on Service Availability in Multi-Node Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvetask execution reliabilityVSAvoidsystem resource utilization
Core Design Contradiction:
ReliabilityVSProductivity

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

Inventive Principle:
Principle #15Dynamics

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

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Productivity

If the system allows compute nodes to perform multiple task types, then resource utilization is improved, but device complexity increases

Engineering Contradiction:
Improveresource utilizationVSAvoidsystem configuration complexity
Core Design Contradiction:
ProductivityVSDevice complexity

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

Inventive Principle:
Principle #1Segmentation

3Productivity

If tasks are migrated to idle nodes, then resource utilization is improved, but task execution time may increase due to additional determination steps

Engineering Contradiction:
Improveresource utilizationVSAvoidtask execution time
Core Design Contradiction:
ProductivityVSLoss of time

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

Inventive Principle:
Principle #10Preliminary action

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

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS8112526B2Process migration based on service availability in a multi-node environment
Publication Date: 2012.02.07 SERVICENOW INC
  • US8112526B2 patent drawing
  • US8112526B2 patent drawing
  • US8112526B2 patent drawing

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.