Processor Memory Reintegration via Duplicated Write Streams
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In fault-tolerant computing systems, the process of memory copying from non-failed processors to a failed processor to resume execution is time-consuming and results in significant system unavailability, especially when dealing with large memory sizes, and intermittent user program operations complicate the memory synchronization process.
Innovation Solution
The system employs a reintegration logic that allows processors within a logical processor to execute duplicate user programs in lock-step, using synchronization and reintegration logic to manage memory copying by duplicating memory writes and ensuring data integrity through cyclic redundancy checks, allowing for efficient memory reintegration without halting user programs.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the entire memory is copied from a non-failed processor to a failed processor, then the memory copy is complete and accurate, but the system is unavailable for a significant amount of time
Solution Approach 1:
The memory copy operation is divided into multiple segments or portions. Instead of copying the entire memory at once, the system copies memory in smaller chunks while allowing user programs to continue executing intermittently, thereby reducing the total system unavailability time while still achieving complete memory replication.
Solution Approach 2:
The system performs preliminary tracking of memory accesses before the actual memory copy operation. By identifying which memory locations are accessed by user programs, the system can prioritize copying those locations first or prepare the copy operation in advance, reducing the overall time required for complete memory replication.
2Productivity
If user programs are cyclically paused to copy memory portions, then the system remains partially operational, but memory locations previously copied may change requiring re-copying
Solution Approach 1:
The system implements a tracking mechanism that monitors memory accesses by user programs during the copy operation. This feedback information is used to identify which memory locations have been modified since copying, allowing the system to re-copy only those specific locations rather than re-copying entire memory segments, thereby reducing redundant copy operations.
Solution Approach 2:
The system performs memory copying beyond what is strictly necessary by tracking and re-copying only the modified portions. This partial action approach copies slightly more memory than the minimum required, ensuring data consistency without the overhead of tracking every single byte, thus balancing operational continuity with copy accuracy.
3Loss of time
If the system tracks memory accesses to identify changed locations, then re-copying is minimized, but the complexity of the memory copy process increases
Solution Approach 1:
The memory tracking system leverages existing processor capabilities and memory management structures to perform tracking automatically. Rather than implementing a completely separate tracking infrastructure, the system uses available hardware features and existing software mechanisms to monitor memory accesses, thereby reducing the additional complexity introduced by the tracking functionality.
Data Source
AI summary
A method and system of copying memory from a source processor to a target processor by duplicating memory writes. At least some of the exemplary embodiments may be a method comprising stopping execution of a user program on a target processor (the target processor coupled to a first memory), continuing to execute a duplicate copy of the user program on a source processor (the source processor coupled to a second memory and generating writes to the second memory), duplicating memory writes of the source processor and duplicating writes by input/output adapters to create a stream of duplicate memory writes, and applying the duplicated memory writes to the first memory.


