Memory Snapshot Checkpoint Copy for Low-Idle HPC Workloads
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing memory systems face inefficiencies in creating checkpoint copies of application states due to idle time and resource contention, especially when dealing with large data objects and low tolerance for job stop-time, particularly in high-performance computing environments.
Innovation Solution
Utilizing shared memory snapshots on fabric-attached memory devices within a CXL architecture to create snapshots of data objects, allowing concurrent processing and modification while isolating producer and consumer access, thereby reducing idle time and enabling efficient checkpoint copying.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional checkpoint copying methods are used, then checkpoint copies can be created, but application idle time increases and processing is stopped
Solution Approach 1:
The system creates a snapshot of the data object in advance and stores it in shared memory, preparing the checkpoint copy before the actual checkpointing operation is needed. This preliminary action allows the application to resume processing without waiting for the complete checkpoint copy creation, thereby reducing idle time while maintaining reliability through the pre-prepared snapshot.
Solution Approach 2:
The patent introduces a memory sub-system as an intermediary that manages the checkpoint copying process. The memory sub-system creates snapshots of data objects and stores them in shared memory, acting as a mediator between the application and the checkpointing operation. This intermediary enables concurrent processing by handling the checkpoint copy creation independently, reducing application idle time while ensuring reliable checkpoint copies are created.
2Reliability
If data objects are copied for checkpointing, then checkpoint copies are created, but resource contention occurs
Solution Approach 1:
The patent segments the data object into a snapshot representation stored in shared memory, separating the original data object from its checkpoint copy. This segmentation allows the memory sub-system to manage the checkpoint copying process independently, reducing resource contention by operating on a copy rather than the original data object, while maintaining reliability through the segmented snapshot approach.
Solution Approach 2:
The system creates a snapshot copy of the data object in shared memory instead of copying the entire data object during application execution. This copying approach allows the memory sub-system to prepare checkpoint copies without causing resource contention with the running application, as the snapshot is created independently in shared memory while the application continues processing.
3Reliability
If checkpoint copying is performed, then application states are saved, but processing must be stopped
Solution Approach 1:
The patent enables continuous processing by creating snapshots of data objects in shared memory without stopping the application. The memory sub-system captures the state of data objects at any point in time and stores them in shared memory, allowing the application to continue processing uninterrupted while maintaining reliable checkpoints. This continuity of useful action eliminates the need to stop processing for checkpointing.
Solution Approach 2:
The system performs preliminary snapshot creation in shared memory before the actual checkpointing operation is needed. This preliminary action allows the application to maintain continuous processing while the snapshot is prepared in advance, ensuring application state preservation without interrupting productivity. The snapshot is ready for checkpointing but does not require the application to stop.
Data Source
AI summary
A system can include a memory device and a processing device operatively coupled with the memory device, to perform operations of maintaining, at a first set of physical address ranges on the first memory device, a set of data items reflective of a state of a host application; associating a snapshot identifier with the first set of physical address ranges, wherein the snapshot identifier identifies a snapshot comprising the set of data items; responsive to receiving a request to modify at least one data item of the set of data items, recording a modification of the at least one data item at a second set of physical address ranges; and making the checkpoint copy by copying the set of data items of the snapshot from the first set of physical address ranges to a second memory device.


