Process Migration Overlapping Execution with Synchronization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current process migration methods in distributed computing systems are inefficient, requiring significant downtime and resource reallocation challenges, especially in high-performance computing scenarios where dynamic resource allocation and synchronization are critical.

Innovation Solution

A method for efficient process migration that allows communication and synchronization to overlap with execution, enabling flexible resource adjustments, such as increasing, decreasing, or transferring resources, without interrupting the computer program's progress, by using a controller to manage resource changes and an interconnect for parallel communication in distributed memory systems.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If process migration is performed using traditional methods in distributed computing systems, then resource allocation can be changed, but significant downtime and execution interruption occur

Engineering Contradiction:
Improveresource allocation flexibilityVSAvoiddowntime during migration
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by pre-configuring the target computing resources and preparing the migration environment before actual process migration occurs. The target system is ready with necessary computational resources, memory allocation, and software environment beforehand, enabling seamless process transfer without execution interruption. This eliminates traditional downtime by having everything prepared in advance for immediate process relocation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements continuity of useful action by maintaining process execution throughout the migration process. Instead of stopping processes for migration, the system allows continuous computation on source systems while simultaneously establishing and activating equivalent processes on target systems. This ensures uninterrupted useful action, achieving resource reallocation without downtime or execution interruption.

Inventive Principle:
Principle #20Continuity of useful action

2Adaptability or versatility

If process migration is performed traditionally, then resources can be reallocated, but synchronization of data between source and target systems becomes complex and time-consuming

Engineering Contradiction:
Improveresource reallocation capabilityVSAvoidsynchronization complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent applies copying by creating duplicate process instances and data structures on the target system that mirror the source system state. Rather than attempting complex real-time synchronization of changing data, the system copies the complete process state including memory, registers, and execution context to the target. This copying approach simplifies the migration process and avoids the complexity of maintaining synchronization during active data changes.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent segments the process migration into distinct phases: source process state capture, target system preparation, data transfer, and activation. By dividing the complex synchronization task into manageable segments, the system reduces overall complexity. Each segment handles specific aspects of data transfer and synchronization independently, making the overall process more manageable and less error-prone than attempting simultaneous comprehensive synchronization.

Inventive Principle:
Principle #1Segmentation

3Productivity

If traditional process migration methods are used, then computing resources can be adjusted, but the response time to changing resource requirements is delayed

Engineering Contradiction:
Improveresource utilization efficiencyVSAvoidresponse speed to resource changes
Core Design Contradiction:
ProductivityVSSpeed

Solution Approach 1:

The patent applies preliminary action by pre-provisioning target computing resources and maintaining a ready pool of target systems capable of receiving migrated processes. When resource changes are required, the system can immediately initiate migration to pre-prepared target environments, eliminating the delay associated with provisioning and configuring resources on-demand. This preliminary preparation enables rapid response to changing resource requirements while maintaining high productivity.

Inventive Principle:
Principle #10Preliminary action

4Reliability

If process migration is performed with full execution interruption, then complete system state can be captured, but productivity during migration drops to zero

Engineering Contradiction:
Improvestate capture accuracyVSAvoidexecution continuity
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements continuity of useful action by maintaining process execution throughout the migration process. The system captures the source process state while it continues to execute, simultaneously activates the migrated process on the target system, and ensures both systems produce consistent results. This approach maintains productivity at full capacity during migration while still achieving complete and accurate state capture through continuous verification of computation results between source and target systems.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS10235213B2Process migration method, computer system and computer program
Publication Date: 2019.03.19 FUJITSU LTD
  • US10235213B2 patent drawing
  • US10235213B2 patent drawing
  • US10235213B2 patent drawing

AI summary

A process migration method comprising executing a computer program using a group of parallel processes, each process carrying out a computation, the execution using current computing resources to provide current group data as a result of the computations, deciding to change the resources, and making a choice between increasing the resources; decreasing the resources; and moving to different resources, wherein moving to different resources can include increase, decrease or maintenance of the resources. The method comprising communication between the current computing resources and changed computing resources to allow the program to execute on the changed resources, the communication comprising migration of the execution to changed resources and synchronization of migrated group data with the current group data; wherein execution using the current resources overlaps in time with the communication.