Parallel Data Collection for Failing Virtual Processing Systems
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current approaches for failure-time data collection and recovery in virtual processing systems are sequential and time-consuming, resulting in prolonged downtime as they do not perform data collection and recovery in parallel, which is essential for preserving the memory state.
Innovation Solution
The method involves parallelizing data collection and recovery by having each processor save its state to a data store while one processor initiates a new instance of the virtual processing system on a reserved memory portion, allowing other processors to dynamically join once their saving is complete.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If sequential data collection and recovery is performed, then system state preservation is ensured, but downtime is prolonged
Solution Approach 1:
The system divides the data collection task into segments handled by different processors simultaneously. Each processor independently saves its own state information to the data store, allowing parallel execution of what was previously a sequential process. This segmentation enables multiple processors to contribute to recovery without interfering with each other, thus reducing total downtime while maintaining state preservation integrity.
Solution Approach 2:
The system performs preliminary actions by having processors save their state information to a data store before the actual recovery process begins. This preliminary data collection creates a snapshot of the system state that can be used for recovery, allowing the recovery process to start independently and in parallel with ongoing operations, thereby reducing downtime.
2Loss of time
If parallel data collection and recovery is implemented, then downtime is reduced, but memory state preservation becomes more difficult
Solution Approach 1:
The data store acts as an intermediary between processors and the recovery system. Each processor writes its state information to this intermediary storage mechanism, which then makes the data available for parallel recovery operations. This intermediary layer decouples the data collection from the recovery process, allowing both to proceed simultaneously without direct interference, thus enabling parallel execution while maintaining data integrity.
Solution Approach 2:
The system creates copies of processor state information and stores them in the data store. These copies can then be used for recovery operations without affecting the original running systems. By working with copies rather than the live state, the system enables parallel recovery while preserving the original memory state integrity.
3Productivity
If one processor initiates recovery while others continue saving, then recovery speed increases, but system complexity increases
Solution Approach 1:
The system merges the recovery initiation function with one of the existing processors rather than introducing a completely separate recovery mechanism. This processor is selected to both save its own state and initiate the recovery process, combining multiple functions in a single component and reducing overall system complexity while maintaining parallel recovery capabilities.
Solution Approach 2:
The system dynamically assigns roles to processors based on their completion of state saving. Once a processor finishes saving its state, it can be dynamically designated as the recovery initiator. This dynamic role assignment allows flexibility in which processor takes on the additional recovery initiation task, simplifying the system by using existing processors rather than dedicated recovery hardware.
Data Source
AI summary
Techniques for parallel data collection and recovery for a failing virtual processing system are disclosed. According to aspects of the present disclosure, an example method includes: detecting that the virtual processing system experiences an irreparable error; saving, by each of a plurality of processors of the physical processing system, a corresponding context and data stored in an allocated portion of a memory of the physical processing system to a data store; selecting one of the plurality of processors as a recovery processor; initializing, by the recovery processor, a pre-determined reserved portion of the memory; initiating, by the recovery processor, a new instance of the virtual processing system on the reserved portion of the memory while each remaining processor of the plurality of processors continues the saving; and dynamically adding each remaining processor of the plurality of processors to the new instance of the virtual processing system.


